[精选]第3章C程序的流程设计

上传人:我**** 文档编号:182306522 上传时间:2021-05-11 格式:PPTX 页数:43 大小:703.17KB
返回 下载 相关 举报
[精选]第3章C程序的流程设计_第1页
第1页 / 共43页
[精选]第3章C程序的流程设计_第2页
第2页 / 共43页
[精选]第3章C程序的流程设计_第3页
第3页 / 共43页
[精选]第3章C程序的流程设计_第4页
第4页 / 共43页
[精选]第3章C程序的流程设计_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《[精选]第3章C程序的流程设计》由会员分享,可在线阅读,更多相关《[精选]第3章C程序的流程设计(43页珍藏版)》请在金锄头文库上搜索。

1、,第三章 C程序的流程控制,C语言的结构,C语言的三大结构:顺序结构、选择结构和循环结构,本章内容提要,本节知识点,重点,难点,前面学过的运算符和表达式?,比较?,并且?,判断是针对命题的“真”、“假”进行的。,3.1.1 命题的“真”、“假”与C语言中的逻辑值,例如,下面一些命题: 1、小强是个大学生 2、今天下雨了 3、a3 4、abc 5、a5或c4,关系表达式和逻辑表达式是C语言中描述命题的两种基本形式,关系运算是逻辑运算中比较简单的一种,“关系运算”就是“ 比较运算”,指对两个表达式值的大小比较。,3.1.2 关系运算符,C语言中提供有如下6个关系运算符: ,=, ,=,= =,!=

2、,例3.1 a3,3.1.2 关系表达式,用关系运算符将两个表达式(算术、关系、逻辑、赋值表达 式等)连接起来所构成的表达式,称为关系表达式。,例3.2: cab ab=c a=bc a=bc,等效于 c(ab),等效于(ab)=c,等效于a=(bc),等效于a=(bc),1、表达式5278在数学上允许否?在C中是否允许?,关系表达式注意问题:,按自左而右的结合求解: 52值为1; 17值为0; 08的值为0。 即整个关系表达式的值为0。,2、由于关系表达式的值是整型数0或1,故也可以将其 看成是一种整型表达式。例如,若有: int i=1, j=7,a; a=i+(j%4!=0);,关系表达

3、式注意问题:,这种表达式的含义不易被理解,初学时不宜多用,3、在判定两个浮点数是否相等时,由于存储上的误差,会 得出错误的结果。例如: 1.0/3.0*3.0=1.0,关系表达式注意问题:,该关系表达式的值为0(假),并不为1(真)。所以应避免 对两个实数表达式作“相等”或“不相等”的判别。,上式可改写为: fabs (1.0/3.0* 3.0-1.0)1e-5 fabs是求绝对值函数。只要1.0/3.0*3.0与1.0 之间的差小于10-5(或一个其它的很小的数),就认为 1.0/3.0*3.0与1.0相等。,4、要表示x在区间a,b中,在数学中使用表达式axb 可否?在C语言中使用表达式“

4、a=x=b”可否?,关系表达式注意问题:,假设a=0;b=0.5。若x=0.3,上式可改写为: a=x 并且 x=b,3.1.3 逻辑运算符与逻辑表达式,3.1.3 逻辑运算符,3.1.3 逻辑表达式,用逻辑运算符(逻辑与、逻辑或、逻辑非)将关系表达式 或逻辑量连接起来构成逻辑表达式。,例3.3: ab,引例:如果学生成绩(score)不低于60分,则输出“合格”,3.2.1 双分支结构if语句,格式: if(表达式) 语句1 ; else 语句2;,引例:如果学生成绩(score)不低于60分,则输出“合格”,否则输出“不合格”。,3.2.2 多分支结构if语句,引例:如果学生成绩(scor

5、e)不低于90分,则输出“优秀”;如果80score90,则输出“良好”;如果70score80 ,则输出“中等”;如果60score70 ,则输出“合格”;如果score60,则输出“不合格”。,3.2.2 多分支结构if语句,分析一: 单分支结构,if(表达式) 语句;,特点:满足条件即执行语句,程序段: if(score=90) printf(“优秀”),if(score=80 能运行否?,说明:,2、else子句不能单独使用,必须是if语句的一部分,与if配对使 用。,例如:if(a) printf(“%c”,a); else printf (“%c”,b); else printf

6、(“%c”,c);,说明:,3、在if和else后面可以只含一个内嵌的操作语句,也可以有多个 操作语句构成的语句块(复合语句)。语句块用 括起来。,例如:求边长分别为a,b,c的三角形面积?,if(a+bc,说明:,4、if嵌套语句中,应当注意if与else的配对关系,else总是与它 上面的最近的未配对的if配对。特别是if/else子句数目不一样时,本意,实际,说明:,5、if嵌套语句解决匹配问题方法,(1)利用空语句使if子句数量 与else子句数量相同。,(2)利用 。将没有else子 句的if语句用 括起来,思考题一:,有以下几个程序,请判断哪个是正确的?,思考题一:,程序1: ma

7、in() int x,y; scanf(d,&x); if(x0) y=-1; else if(x=0) y=0; else y=1; printf(x=d,y=dn,x,y); ,思考题一:,程序2: main() int x,y; scanf(d,&x); if (x=0) if (x0)y= 1; elsey= 0; else y=-1; printf(x=d,y=dn,x,y); ,思考题一:,程序3: main() int x,y; scanf(d,&x); y=-1; if(x!=0) if(x0)y=1; else y=0; printf(x=d,y=dn,x,y); ,思考题一

8、:,程序4: main() int x,y; scanf(d,&x); y=0; if(x=0) if(x0)y=1; else y=-1; printf(x=d,y=dn,x,y); ,思考题二:,输入两个实数,按数值由小到大的次序输出这两个数。,输入三个实数,按数值由小到大的次序输出这三个数。,课堂小结:,关系运算和逻辑运算,选择结构if语句的应用,关系运算符:,=, ,=,= =,!=,逻辑运算符:& , | , !,各种运算符的优先级,表达式综合应用,if语句单分支,ifelse语句双分支,if-else if语句多分支,if语句的嵌套应用,if语句的注意问题,Thank you for coming,演讲完毕,谢谢观看!,

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

当前位置:首页 > 商业/管理/HR > 其它文档

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