C程序设计——顺序程序设计

上传人:206****923 文档编号:51773226 上传时间:2018-08-16 格式:PPT 页数:40 大小:297.50KB
返回 下载 相关 举报
C程序设计——顺序程序设计_第1页
第1页 / 共40页
C程序设计——顺序程序设计_第2页
第2页 / 共40页
C程序设计——顺序程序设计_第3页
第3页 / 共40页
C程序设计——顺序程序设计_第4页
第4页 / 共40页
C程序设计——顺序程序设计_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《C程序设计——顺序程序设计》由会员分享,可在线阅读,更多相关《C程序设计——顺序程序设计(40页珍藏版)》请在金锄头文库上搜索。

1、2 顺序结构程序设计 (教材第三章和第四章) 学习方法:课前按照授课计划上指明的进度预习上课认真听讲,课件可下载作为笔记课下参照教材理解课件上所讲的内容和 相关知识点完成作业temp = a;a = b;b = temp;printf(“a=%d,b=%d”,a,b);return (0); /* /*程序功能:交换两个变量的值程序功能:交换两个变量的值*/ */* /*语义:在语义:在内存内存申请三个空间,用于存储申请三个空间,用于存储整型变整型变 量量a,b,tempa,b,temp的值,同时为的值,同时为a,ba,b赋初值赋初值135,246*/135,246*/例1中涉及的知识点 数据

2、有常量与变量之分 不同的变量要用不同的变量名加以区分。另外, 要存储变量,就必须提前申请内存空间,由于不 同的数据类型的编码方式和所占空间不同,所以 在申请时要提供变量的数据类型。 在C语言中,有三种基本数据类型:整数类型 (int)、实数类型(float和double)、字符类型 (char),分别用对应的词表示。 称为赋值运算符,不是等号,即将右边的值赋给 左边的变量。例1中涉及的知识点 int a = 135, b = 246, temp; 变量声明(变量定义)语句 该语句的语义是:向计算机系 统申请三个int类型的内存空 间(每个空间占4个字节) ,它 们分别被命名为a,b,temp(

3、变 量名),用来存储相应变量的值 ,这三个内存空间分别都对应 不同的内存地址。我们根据变 量名使用变量,计算机系统则 根据内存地址对数据进行读写 。内存地址内存地址 0 0FFF0980FFF0980 0 0FFF0981FFF0981 0 0FFF0982FFF0982 0 0FFF0983FFF09830 0FFF0990FFF0990 0 0FFF0991FFF0991 0 0FFF0992FFF0992 0 0FFF0993FFF09930 0FFF0998FFF0998 0 0FFF0999FFF0999 0 0FFF099AFFF099A 0 0FFF099BFFF099B1351

4、35的的 3232位补位补 码码变量变量a a变量变量b b变量变量 temptemp246246的的 3232位补位补 码码例2:求圆的周长和面积 编写C程序计算圆的周长和面积,并输出。 问题的分析 用户:请给我计算一下圆的周长和面积。 计算机:请问半径是多少? 用户:5.3。 计算机:圆的周长=2*5.3=33.3;圆的面积=*5.3*5.3=88.25算法 要求用户输入半径 计算周长和面积 输出计算结果要求用户输入半径要求用户输入半径计算周长和面积计算周长和面积输出计算结果输出计算结果开始结束请同学课下复习教材第请同学课下复习教材第2 2章中的章中的“ “怎样表示一个算法怎样表示一个算法

5、” ”1、要求用户输入半径-分析 输入的数据存放在哪?内存 本例中需要申请几个什么类型的空间呢?本例中需要申请三个空间,分别存储半径、 周长和面积。他们均应该是实数类型float。 如何申请呢?float r,cir,area;该语句的含义是?内存地址内存地址 0 0FFF0980FFF0980 0 0FFF0981FFF0981 0 0FFF0982FFF0982 0 0FFF0983FFF09830 0FFF0990FFF0990 0 0FFF0991FFF0991 0 0FFF0992FFF0992 0 0FFF0993FFF09930 0FFF0998FFF0998 0 0FFF099

6、9FFF0999 0 0FFF099AFFF099A 0 0FFF099BFFF099B变变 量量r r变变 量量 circir变变 量量 areaareafloat float r,cir,area;r,cir,area; 语义:向计算机系统申请三个语义:向计算机系统申请三个 floatfloat类型类型的内存空间的内存空间( (每个空间每个空间 占占4 4个字节个字节) ) ,它们分别被命名,它们分别被命名 为为r,cir,area(r,cir,area(变量名变量名), ),用来存储用来存储 相应变量的相应变量的浮点数表示浮点数表示,这三,这三 个内存空间分别都对应不同的个内存空间分别都

7、对应不同的 内存地址内存地址。我们根据变量名使。我们根据变量名使 用变量,计算机系统则根据内用变量,计算机系统则根据内 存地址对数据进行读写。存地址对数据进行读写。1、要求用户输入半径-分析 如何实现输入呢?用库函数scanf()具体格式为:scanf(“%f”, 其语义为:从键盘上输入一个实数,存入 变量r所对应的内存地址。 使用使用 scanfscanf() ()函数,前边要加上函数,前边要加上#include.h “” “”内表示输入数据的格式内表示输入数据的格式. .一般只有一般只有格式说明符格式说明符。 area=3.14159*r*r; 上述两个上述两个算术表达式算术表达式分别计算

8、周长和面积;分别计算周长和面积; C C语言的算术表达式与数学的算术表达式既相似语言的算术表达式与数学的算术表达式既相似 ,又有很大区别,例如:无,又有很大区别,例如:无. 常用的常用的算术运算符算术运算符分别表示为分别表示为+ +, ,- -, ,* *, ,/ / 2 2和和3.141593.14159都是常量,但类型不同,前者为都是常量,但类型不同,前者为整型整型 常量常量,后者为,后者为doubledouble类型的常量类型的常量3、输出结果printf(“area = %fn“, area); printf(“circumference = %fn“, cir); 或 printf(

9、“area = %fncircumference = %fn “, area, cir); printfprintf() ()中的多个参数之间用中的多个参数之间用逗号逗号分隔;分隔; “”“”内表示输入数据的格式内表示输入数据的格式. .其中有三种类型的符号:其中有三种类型的符号: 直接按原样输出的直接按原样输出的普通字符普通字符,如:,如:area = area = 以以 开头的开头的转义字符转义字符,如:,如: n n表示回车表示回车 格式说明符格式说明符,如,如%d,%c,%fd,%c,%f等,等, 格式说明符的个数格式说明符的个数 应该与变量的个数和类型一致应该与变量的个数和类型一致

10、注意注意: : () ()里的两个里的两个areaarea含义不同。含义不同。问题解决:#include /*程序功能:根据输入的半径,输出圆的面积和周长*/ void main() float r,area,cir; /* 定义实数变量*/scanf(“%f”, /* 从键盘输入变量r的值*/cir =2 *3.14* r; /* 计算周长 */ area= 3.14* r * r; /* 计算面积 */printf(“area = %fncircumference = %fn “, area, cir);/* 输出面积和周长*/ 更完善的程序:#include #define PI 3.1

11、4159 /*程序功能:根据输入的半径,输出圆的面积和周长*/ void main() float r,area,cir; /* 定义实数变量*/printf(“Please input r:”); scanf(“%f”, /* 从键盘输入变量r的值*/cir =2 *PI* r; /* 计算周长 */ area= PI * r * r; /* 计算面积 */printf(“area = %fncircumference = %fn “, area, cir);/* 输出面积和周长*/ 另一种另一种编译预处理命令编译预处理命令, ,称为称为宏替换宏替换,或,或宏定义宏定义) ) 定义一个定义一

12、个符号常量符号常量,则在编译前,将下边所有,则在编译前,将下边所有“”“”以外的以外的PIPI替换替换成成 3.141593.14159 习惯:常量名大写习惯:常量名大写显示提示信息显示提示信息 , ,实现更好实现更好 的人机交互的人机交互练习:求两个整数的商与余数 算法:输入两个整数a,b计算整数的quotient,remains输出结果quotient,remains# #include .h void main()void main() intint a,b; /* a,b; /* 定义两个整型变量定义两个整型变量 */ */intint quotient,remains; /* quo

13、tient,remains; /* 定义两个变量存放结果定义两个变量存放结果*/ */printfprintf(“please input two integer:”);(“please input two integer:”);scanfscanf( (“%d%d”, );quotient=a quotient=a/ /b;/*b;/*求商求商*/ */remains=a remains=a%b; b; /* /*求余数求余数*/ */printfprintf(“%d/%d=%d%dn“,a,b, quotient,remains);(“%d/%d=%d%dn“,a,b, quotient,

14、remains); 输入多个变量时,要用多个格式说明符输入多个变量时,要用多个格式说明符 ,格式说明符与变量的类型与个数应一,格式说明符与变量的类型与个数应一 致致 多个格式说明符中间用什么符号分隔,多个格式说明符中间用什么符号分隔, 输入数据时就用什么符号分隔你要输入输入数据时就用什么符号分隔你要输入 的数据的数据 如果没有分隔符,则默认可以使用如果没有分隔符,则默认可以使用回车回车 、空格或、空格或TabTab键分隔数据。键分隔数据。整数运算的结果仍为整数整数运算的结果仍为整数%是是求模运算符求模运算符,只能用于,只能用于整数整数之间的运之间的运 算算, ,其结果的符号永远与被除数相同其结

15、果的符号永远与被除数相同VC中的调试技巧 如何查找逻辑错误? 观察程序的执行顺序和变量的变化:编译并连接后,点击工具栏上的“小手”工具,设 置断点。选择build-debug-go,进入调试状态,此 时,程序运行停止在设置断点的那一行(可见行的最左 端有一黄色箭头,表明程序运行的当前位置),与此同 时,可以看到下边的窗口显示当前状态涉及到的变量 的值。点击build-step over,则程序执行当前这条语 句,下边变量的值可能会随程序的运行而改变,多次 单击step over,则程序按顺序单步执行,可以观察整 个程序的执行顺序和变量的变化过程,如果想中途退 出,请选择build-debug-stop debugging 。二者结合可以帮你定位逻辑错误:当执行完一条 语句后,当前变量的值并没有得到正确结果,则说明 刚才那条语句的语义导致了错误。改正后,重新调试 。例3:大小写转换(P87例4.11) 如何转换?将小写字母的ASCII码减32即得大写字母 的ASCII码。 算法:输入小写字母lower计算其对应的大写字母upper输出upper.输入输入计算计算输出输出开始结束# #include .h void main()void main() char lower,upper; char lower,upper;printfprintf(“please

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号