大学C语言基础自学课件 第5章

上传人:我*** 文档编号:145744179 上传时间:2020-09-23 格式:PPT 页数:30 大小:412.50KB
返回 下载 相关 举报
大学C语言基础自学课件 第5章_第1页
第1页 / 共30页
大学C语言基础自学课件 第5章_第2页
第2页 / 共30页
大学C语言基础自学课件 第5章_第3页
第3页 / 共30页
大学C语言基础自学课件 第5章_第4页
第4页 / 共30页
大学C语言基础自学课件 第5章_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《大学C语言基础自学课件 第5章》由会员分享,可在线阅读,更多相关《大学C语言基础自学课件 第5章(30页珍藏版)》请在金锄头文库上搜索。

1、内容提要: 逻辑运算符和逻辑表达式 关系运算符和关系表达式 if语句 switch语句,Ch5 选择结构程序设计,一、逻辑运算符和表达式 P52 什么是逻辑运算 逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的。 什么是逻辑量 凡是参加逻辑运算的变量、常量都是逻辑量。 什么是逻辑值 逻辑量、逻辑表达式其最后的运算结果的值就是逻辑值。逻辑值只能是“0”和“1”这二个数。“1”表示逻辑真(成立);“0”表示逻辑假(不成立)。,一、逻辑运算符和表达式 P52 逻辑运算符 种类: b=5; !a ab=2;c=3;d=4;m=1;n=1; (m=ab)

2、 ab ab=c b+cb f=abc,/表达式值1,/表达式值1,/表达式值0,/d=1,/f=0,例 int i=1, j=7,a; a=i+(j%4!=0); 则a=,2,例 a0 结果为 A100 结果为,1,0,说明:数值比较:数字的大小 字符比较:ASC的大小 注意“=”与“=”的区别,选择型程序设计 P95 if语句(条件选择语句) if语句的三种 形式 形式一: 格式:if (表达式) 语句1; 语句2; 执行过程:,形式二: 格式: if (表达式) 语句1; else 语句2; 语句3; 执行过程:,例:if (xy) max=x; else max=y; printf(%

3、d,max);,例:if (xy) printf(“%d”,x); printf(“%d”,y);,后续语句,形式三: 格式:,if ( 表达式1 ) 语句1 else if (表达式2 ) 语句2 else if (表达式3 ) 语句3 . else if (表达式m ) 语句m else 语句n,执行过程:,#include void main() float x,y; printf(enter x:); scanf(%f, ,如:if(a=b,说明: if后面的表达式类型任意,语句可以是复合语句,例 考虑下面程序的输出结果: #include void main() int x,y,t;

4、 scanf(%d,%d, ,if语句嵌套:,if else 配对原则:缺省 时,else总是和它上面离它最近的未配对的if配对,例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,修改: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);,实现if else 正确配对方法:加 ,#include void main() int a=1, b=-1, c=3; if (ab) if (b0) c=0; else c+; else c=1; printf(%dn,c); ,1

5、.写出程序的运行结果,2.若执行以下程序时从键盘上键入5,则输出结果是什么,#include void main() int x; scanf(%d, ,结果:1,结果:7,a=-2,结果:0,b=0,结果:4,#include void main() int a=4,b=3,c=5,t=0; if (ab) t=a; a=b; b=t; if (ac) t=a; a=c; c=t; printf(%d,%d,%dn,a,b,c); ,3.写出下列程序的运行结果,#include void main() int i=1,j=1,k=1; if (j+ | k+) ,#include void

6、main() int x,y=5; if (x=y!=0) printf(“%d n”,x); else printf(“%d n”,x+2); ,结果:5,0,3,结果:2,2,1,结果:1,例 考虑下面程序输出结果: #include stdio.h void main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x+=1; printf(%d,x); ,结果101,条件运算符与表达式 P102 一般形式: 表达式1 ? 表达式2 : 表达式3 执行过程 功能:相

7、当于条件语句,条件运算符可嵌套 如 x0?1:x0?-1:0 优先级: 13,结合方向:自右向左 如 ab?a:cd?c:d ab?a:(cd?c:d) 表达式1、表达式2、表达式3类型可不同,表达式值取较高的类型,例 x?a:b /x=0,表达式值为b; x0,表达式值为a xy?1:1.5 /xy ,值为1.0; xy ,值为1.5,唯一的三 目运算,读程序,写出程序完成的功能,#include void main() int a,b ,max; printf(请输入两个数a和b:); scanf(%d,%d, ,找出a,b两个数中的大数,printf(max=%dn,max=ab?a:b

8、);,printf(max=%dn, ab?a:b);,switch语句(开关分支语句) 一般形式:,switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2; break; . case En: 语句组 n; break; default: 语句组 ; break;,根据表达式的不同值,选择不同的程序分支,又称开关语句。,允许任何类型,可包含多个可执行语句,且不必加 ,常量表达式值必须互不相同,与表达式的类型应一致,default语句可以省略不用。,switch语句(开关分支语句) 执行过程,1.计算表达式的值; 2.若与 常量表达式Ei的值一致,

9、则从语句i开始执行,直到遇到break语句或switch的; 3.若与 任何常量表达式值均不一致时则执行default语句或后续语句。,在“switch”语句中,“case 常量表达式”只相当于一个语句标号,表达式的值和某标号相等则转向该标号执行,但不能在执行完该标号的语句后自动跳出整个switch 语句,因此会继续执行所有后面语句的情况。,为此,语言提供了一种 break语句,其功能是可以跳出它所在的switch语句。,说明:P105,说明: 表达式可以是整型、字符型、枚举型,为实型时自动取整 E1,E2,En是常量表达式,且值必须互不相同,与表达式的类型应一致 必须用break跳出 cas

10、e后可包含多个可执行语句,且不必加 switch可嵌套 多个case可共用一组执行语句,如: case A: case B: case C: printf(“score60n”); break; .,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); ,score为4时,输出: Good! Pass! Fail! data error!,sc

11、ore为1时,输出: data error!,score为5时,输出: Very good! Good! Pass! Fail! data error!,例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; case 2: a+;b+; break; printf(a=%d,b=%dn,a,b); printf(a=%d,b=%dn,a,b); ,运行结果: a=2,b=1 a=2,b=1,运行结果: a=2,b=1,运行结果: a=2,b=2 a=2,b=2,思考:编写程序实现下列功能:从键盘输入整数x,判断x是否大于10,若是,继续判断x是否大于100,若大于,则输出 “x100”;若x不大于10,则输出 “x10) if(x100) printf(x100); else printf(x=10); ,if(x10) if(x100) printf(“x100”); else printf(“x=10);,P98 例5.1 例5.3 例5.4 例5.5,if (s0 ,将以下if-else语句改写成switch语句,请填空。,switch (s0 ,1,break,0,练习: P111 5.3 作业: 5.5 5.6,第五章 结束,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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