1 / 58

C 语言程序设计

崔武子制作 2008.7. C 语言程序设计. 教案. 第 1 章 C 语言基础与顺序结构. P1. 1.1 认识 C 语言程序 1.2 合理选用数据类型 1.3 学会使用常用运算符 1.4 学会控制输入输出数据 1.5 画顺序结构的流程图 1.6 熟悉 Turbo C 集成环境 * 贯穿教学全过程的实例. 返回. 1.1 认识 C 语言程序. P2. 1.1.1 了解 C 语言程序的构成 1.1.2 熟悉主函数框架. 1.1.1 了解 C 语言程序的构成. P2.

gloria
Télécharger la présentation

C 语言程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 崔武子制作2008.7 C语言程序设计 教案

  2. 第1章 C语言基础与顺序结构 P1 1.1 认识C语言程序 1.2 合理选用数据类型 1.3 学会使用常用运算符 1.4 学会控制输入输出数据 1.5 画顺序结构的流程图 1.6 熟悉Turbo C集成环境 *贯穿教学全过程的实例

  3. 返回 1.1 认识C语言程序 P2 1.1.1 了解C语言程序的构成 1.1.2 熟悉主函数框架

  4. 1.1.1 了解C语言程序的构成 P2 【实例1.1】观察下面程序,认识1个完整的C语言程序,了解C语言程序结构。

  5. 预处理命令 #include <stdio.h> #include <math.h> #define PI 3.14159 float sup_area(float r); float volume(float r); main() { float a=-5,b,c,d; b=fabs(a); c=sup_area(b); d=volume(b); printf("c=%f,d=%f\n",c,d); } 函数原型说明 主函数

  6. sup_area函数的定义(计算球的表面积) float sup_area(float r) { float s; s=4*PI*r*r; return s; } float volume (float r) { float v; v=4.0/3.0*PI*r*r*r; return v; } volume函数的定义(计算球的体积) 运行结果:c=314.158997,d=523.598328

  7. 归纳分析: #include <stdio.h> #include <math.h> #define PI 3.14159 float sup_area(float r); float volume(float r); main() { …… } float sup_area(float r) { …… } float volume (float r) { …… } 有且仅有1个主函数 所有C程序都由若干个函数构成的

  8. 使用输入、输出函数时加此行 归纳分析: #include <stdio.h> #include <math.h> #define PI 3.14159 float sup_area(float r); float volume(float r); main() { …… } float sup_area(float r) { …… } float volume (float r) { …… } 使用数学函数时加此行

  9. 归纳分析: #include <stdio.h> #include <math.h> #define PI 3.14159 float sup_area(float r); float volume(float r); main() { …… } float sup_area(float r) { …… } float volume (float r) { …… } PI均用3.14159代替 /*函数原型说明*/ /*函数原型说明*/ 注释部分

  10. 编程思路 1.1.2 熟悉主函数框架 P3 【实例1.2】编写程序,计算2个数的和与差,要求从键盘输入2个数。 使用函数scanf实现数据的输入,使用函数printf实现数据的输出。 加法操作使用“+”,减法操作使用“-”。

  11. 定义3个变量 显示提示信息 #include <stdio.h> main() { int x,y,a; printf("Input x and y:"); scanf("%d%d",&x,&y); a=x+y; printf("The sum:%d\n",a); a=x-y; printf("The difference:%d\n",a); } 键盘输入2个整数 计算2个数的和 输出2个数的和 运行结果: Input x and y:1200 180<回车> The sum:1380 The difference:1020

  12. 定义变量部分 #include <stdio.h> main() { int x,y,a; printf("Input x and y:"); scanf("%d%d",&x,&y); a=x+y; printf("The sum:%d\n",a); a=x-y; printf("The difference:%d\n",a); } 功能语句部分

  13. 返回 1.2 合理选用数据类型 P6 1.2.1 合理选用整型数据 1.2.2 合理选用实型数据 1.2.3 合理选用字符型数据

  14. 1.2.1 合理选用整型数据 P6 【实例1.3】编写程序,计算2个正方形铁板的面积,铁板边长分别为150和200。 200 150

  15. 编程思路 利用公式“面积=边长边长”计算正方形的面积 由于需要处理的数据是整数,应从int型和long型中选用

  16. #include <stdio.h> main() { int area1; long area2; area1=150; area2=200; area1=area1*area1; area2=area2*area2; printf("%d,%ld\n",area1,area2); } 注意数据的溢出 输出int型 输出long型 运行结果: 22500,40000

  17. 执行“area1=150;”后 处理“int area1; “后 执行“area1=area1*area1; “后 150 22500 不确定 area1

  18. 编程思路 1.2.2 合理选用实型数据 P8 【实例1.4】编写程序,计算半径为15.67的圆面积。要求分别使用单精度型和双精度型数据计算。 通过求圆面积公式r2计算 单精度实型变量用float定义,双精度实型变量用double定义

  19. #include <stdio.h> #define PI 3.14159 main() { float s1; double s2; s1=PI*15.67*15.67; s2=PI*15.67*15.67; printf("s1=%f,s2=%lf\n",s1,s2); } 输出float型 输出double型 运行结果: s1=771.413940,s2=771.413969

  20. 编程思路 1.2.3 合理选用字符型数据 P10 【实例1.5】假设变量ch中已存放字母'H',编写程序,将ch中的字母转换成小写字母后重新存放在该变量中。 要处理字符,必须使用字符型类型 通过'H'+32可以得到字母'H'所对应的小写字母

  21. #include <stdio.h> main() { char ch; ch='H'; ch=ch+32; printf("ch=%d,ch=%c\n",ch,ch); } 相当于ch=72+32; 按字符形式 按ASCLL码 运行结果:ch=104,ch=h

  22. 返回 1.3 学会使用常用运算符 P11 1.3.1 学会使用算术运算符 1.3.2 学会使用赋值运算符

  23. 1.3.1 学会使用算术运算符 P11 【实例1.6】编写程序,计算函数 的值,其中自变量x的值从键盘输入。

  24. 编程思路 先把数学表达式改写为C语言表达式 用sqrt函数计算平方根

  25. #include <stdio.h> #include <math.h> main() { float x,y; printf("Input x:"); scanf("%f",&x); y=(sqrt(x)+2*x)/(x-5); printf("x=%f,y=%f\n",x,y); } 运行结果: Input x:7<回车> x=7.000000,y=8.322876

  26. 编程思路 1.3.2 学会使用赋值运算符 P13 【实例1.7】假设A、B两个职员的原来工资都是1860.50,后来经考验决定给A职员加200元,B职员加500元。编写程序,计算两个职员的新工资。 先定义2个单精度型变量a和b,分别存放原来的工资,再通过它们计算新的工资。

  27. 赋值运算符 #include <stdio.h> main() { float pay_a,pay_b; pay_a=pay_b=1860.50; pay_a=pay_a+200; pay_b=pay_b+500; printf("%.2f,%.2f\n",pay_a,pay_b); } 赋值语句 运行结果: 2060.50,2360.50

  28. 返回 1.4 学会控制输入输出数据 P14 1.4.1 格式输入输出函数的使用 1.4.2 单个字符输入输出函数的使用

  29. 1.4.1格式输入输出函数的使用 P14 【实例1.8】编写程序,给小学生出1道100以内2个数的加法题,等学生说出自己的答案后,再告诉学生正确的答案。

  30. 编程思路 先随机产生2个100以内的整数 再用printf函数给出算术式 用scanf函数使学生输入答案

  31. 用随机函数时加此行 #include <stdio.h> #include <stdlib.h> main() { int op1,op2,pupil,answer; op1=random(100); op2=random(100); printf("%d+%d=",op1,op2); scanf("%d",&pupil); answer=op1+op2; printf("The answer:%d\n",answer); } 产生0~99之间的数 显示算式 学生输入答案 运行结果: 46+30=66<回车> The answer:76

  32. 完善后的程序保证: 每次出不同的题目 #include <stdio.h> #include <time.h> #include <stdlib.h> main() { int op1,op2,pupil,answer; randomize(); op1=random(100); op2=random(100); printf("%d+%d=",op1,op2); scanf("%d",&pupil); answer=op1+op2; printf("The answer:%d\n",answer); }

  33. 编程思路 1.4.2单个字符输入输出函数的使用 P15 【实例1.9】编写程序,根据输入的一个字母,计算下一个字母并输出 用getchar函数输入1个字符 对字符加1得到其下一个字符 输出1个字符用putchar函数

  34. #include <stdio.h> main() { char ch; ch=getchar(); ch=ch+1; putchar(ch); putchar('\n'); } scanf("%c",&ch); 运行结果: B<回车> C

  35. 返回 1.5 画顺序结构的流程图 P16 【实例1.10】画出实例1.9中程序的流程图。

  36. 开始 定义变量ch 给ch输入1个字符 ch的值增1 输出ch中的字符 输出换行符 结束 #include<stdio.h> main() { char ch; ch=getchar(); ch=ch+1; putchar(ch); putchar('\n'); }

  37. 返回 1.6 熟悉Turbo C集成环境 P17 1.6.1 验证程序的正确性 1.6.2 观察程序的单步执行过程

  38. 1.6.1 验证程序的正确性 P17 若在Turbo C集成环境中验证, 请按照教材第17页中的步骤验证。

  39. 1.6.1 验证程序的正确性 P237 若在VC++6.0集成环境中验证, 请按照教材第237页中的步骤验证。 也可按照如下方法简化验证操作:

  40. 文件|新建

  41. 一定输入.c 1 3 2

  42. ②编译 ①输入代码

  43. 选“是” 选“是”

  44. 若有多个错误,先找第1个错误,修改后再编译。若有多个错误,先找第1个错误,修改后再编译。 若不是0,在第1个错误处双击

  45. 若有多个敬告,先找第1个敬告,修改后再编译。若有多个敬告,先找第1个敬告,修改后再编译。 若不是0,在第1个敬告处双击

  46. 连接 若有多个错误,先找第1个错误,修改后再编译。 若不是0,在第1个错误处双击

  47. 连接 若有多个敬告,先找第1个错误,修改后再编译。 若不是0,在第1个敬告处双击

  48. 运行

  49. 从键盘输入的 用Ctrl+空格切换

  50. 1.6.2 在Turbo C环境中观察程序的单步执行过程 P19 若在Turbo C集成环境中单步执行, 请按照教材第19页中的步骤进行。

More Related