资源描述:
《第4章 选择结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章选择结构程序设计关系运算符和关系表达式逻辑运算符和逻辑表达式if语句switch语句9/15/20211第5章选择结构程序设计4.1关系运算符和表达式关系运算符种类:<<===>=>!=结合方向:自左向右优先级别:<<=>>===!=优先级10(高)优先级9(低)例c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==bc//a=(b>c)关系表达式的值:是逻辑值“真”或“假”,用1和0表示例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+cbf=a
2、>b>c//表达式值1//表达式值1//表达式值0//d=1//f=09/15/20212第5章选择结构程序设计关系运算注意:例若a=0;b=0.5;x=0.3;则a<=x<=b的值为0例5>2>7>8在C中是允许的,值为0例inti=1,j=7,a;a=i+(j%4!=0);则a=2例‘a’>0结果为‘A’>100结果为109/15/20213第5章选择结构程序设计关系运算注意:例注意区分“=”与“==”inta=0,b=1;if(a=b)printf(“aequaltob”);elseprintf(“anotequalto
3、b”);例应避免对实数作相等或不等的判断如1.0/3.0*3.0==1.0结果为可改写为:fabs(1.0/3.0*3.0-1.0)<1e-609/15/20214第5章选择结构程序设计9/15/20215第5章选择结构程序设计ab!a!ba&&ba
4、
5、b真假真假假假真真4.2逻辑运算符和表达式逻辑运算符种类:!&&
6、
7、逻辑运算真值表C语言中,运算量:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,真假假假假假真真假假真真真假真真9/15/20216第5章选择结构程序设计!(14)&&(5)
8、
9、(4)高低例
10、a<=x&&x<=ba>b&&x>ya==b
11、
12、x==y!a
13、
14、a>b优先级:结合方向:!:从右向左&&:从左向右
15、
16、:从左向右//(a<=x)&&(x<=b)//(a>b)&&(x>y)//(a==b)
17、
18、(x==y)//(!a)
19、
20、(a>b)9/15/20217第5章选择结构程序设计!(14)&&(5)
21、
22、(4)高低优先级:结合方向:!:从右向左&&:从左向右
23、
24、:从左向右例a=4;b=5;!aa&&ba
25、
26、b!a
27、
28、b4&&0
29、
30、25>3&&2
31、
32、8<4-!0‘c’&&‘d’值为1值为0值为1值为1值为1值为1//(5>
33、3)&&2
34、
35、(8<(4-(!0)))值为19/15/20218第5章选择结构程序设计短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符例a&&b&&c//只在a为真时,才判别b的值;只在a、b都为真时,才判别c的值例a
36、
37、b
38、
39、c//只在a为假时,才判别b的值;只在a、b都为假时,才判别c的值例a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)//结果m=0,n=19/15/20219第5章选择结构程序设计4.3选择型程序
40、设计if语句(条件选择语句)if语句的三种形式形式一:格式:if(expression)statement执行过程:exprstatement非0=0例:if(x>y)printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if(expression)statement1elsestatement2执行过程:例:if(x>y)max=x;elsemax=y;9/15/202110第5章选择结构程序设计形式三:格式:if(expr1)statement1elseif(expr2)sta
41、tement2elseif(expr3)statement3…...[elsestatementn]expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0执行过程:例:if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;9/15/202111第5章选择结构程序设计如:i
42、f(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(‘a’)printf(“%d”,’a’);说明:if后面的表达式类型任意语句可以是复合语句if(x)if(x!=0)if(!x)if(x==0)例考虑下面程序的输出结果