Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "C语言程序设计 教案 崔武子制作 2008.7."— Presentation transcript:

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

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

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

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

5 预处理命令 函数原型说明 主函数 #include <stdio.h> #include <math.h>
#define PI 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; sup_area函数的定义(计算球的表面积) volume函数的定义(计算球的体积) 运行结果:c= ,d=

7 归纳分析: 有且仅有1个主函数 所有C程序都由若干个函数构成的 #include <stdio.h>
#include <math.h> #define PI 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 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 float sup_area(float r); float volume(float r); main() { …… } float sup_area(float r) { …… } float volume (float r) { …… } PI均用 代替 /*函数原型说明*/ /*函数原型说明*/ 注释部分

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

11 #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); } 定义3个变量 显示提示信息 键盘输入2个整数 计算2个数的和 输出2个数的和 运行结果: Input x and y: <回车> 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 P6 1.2 合理选用数据类型 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 150 不确定 22500 处理“ int area1; “后 执行“area1=150;”后
执行“area1=area1*area1; “后 150 不确定 22500 area1

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

19 #include <stdio.h>
#define PI 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= ,s2=

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 P11 1.3 学会使用常用运算符 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= ,y=

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

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

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 用随机函数时加此行 产生0~99之间的数 显示算式 学生输入答案 #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 scanf("%c",&ch); #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 #include<stdio.h>
main() { char ch; ch=getchar(); ch=ch+1; putchar(ch); putchar('\n'); } 定义变量ch 给ch输入1个字符 ch的值增1 输出ch中的字符 输出换行符 开始 结束

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个错误,修改后再编译。
若不是0,在第1个错误处双击

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

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

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

48 运行

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

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

51 1.6.2 在Turbo C环境中观察程序的单步执行过程
P241 若在VC++6.0集成环境中单步执行, 可按照教材第241页中的步骤进行。 也可按照如下方法简化操作:

52 光标在此行时按Ctrl+F10 编译连接后按Ctrl+F10,执行到光标所在行

53 从键盘输入 通过任务栏切换到代码窗口

54 准备执行的语句行

55 按F10或单击此按钮单步执行 可观察变量的值

56 输入表达式观察值

57 停止单步执行

58 贯穿教学全过程的实例 P20 根据教材第20~23页上机操作 返回


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

Similar presentations


Ads by Google