资源描述:
《第05章选择结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系运算符与关系表达式逻辑运算符与逻辑表达式if语句(条件运算符与条件表达式)switch语句程序举例第五章选择结构程序设计5.1关系运算符和表达式关系运算符种类:<<===>=>!=结合方向:自左向右优先级别:<<=>>===!=优先级6(高)优先级7(低)关系表达式的值:是逻辑值“真”或“假”,用1和0表示//表达式值1//表达式值1//表达式值0//d=1//f=0例c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==bc//a=(b>c)例inta=3,b=2,c=1,d,f;a
2、>b(a>b)==cb+cbf=a>b>c算术运算符关系运算符赋值运算符高低关系运算注意:例若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结果为10关系运算注意:例注意区分“=”与“==”inta=0,b=1;if(a=b)printf(“aequaltob”);elseprintf(“anotequaltob”);例应避免对实数作相等或不等的判断如1.0/3.0*3.0==1.
3、0结果为可改写为:fabs(1.0/3.0*3.0-1.0)<1e-60aequaltobfabs()取绝对值函数5.2逻辑运算符和表达式逻辑运算符种类:!(非)&&(与)
4、
5、(或)逻辑运算真值表C语言中,运算量:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,ab!a!ba&&ba
6、
7、b真假真假假假真真真假假假假假真真假假真真真假真真!算术运算符关系运算符&&和
8、
9、赋值运算符高低优先级:结合方向:!:从右向左&&:从左向右
10、
11、:从左向右//(a<=x)&&(x<=b)//(a>b)&&(x>y)//(a==b)
12、
13、
14、(x==y)//(!a)
15、
16、(a>b)例a<=x&&x<=ba>b&&x>ya==b
17、
18、x==y!a
19、
20、a>b优先级:结合方向:!:从右向左&&:从左向右
21、
22、:从左向右例a=4;b=5;!aa&&ba
23、
24、b!a
25、
26、b4&&0
27、
28、25>3&&2
29、
30、8<4-!0‘c’&&‘d’<>//值为1//值为0//值为1//值为1//值为1//值为1//(5>3)&&2
31、
32、(8<(4-(!0)))值为1!算术运算符关系运算符&&和
33、
34、赋值运算符高低短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出
35、表达式的解时,才执行该运算符。<>1.逻辑与运算符:&&如有逻辑表达式:a&&b&&c执行过程是:当a为0时,b和c不用再判断了,逻辑与运算符将不再执行,结果为0,否则还要继续后边的运算。cba0(假)0(假)0(假)0(假)1(真)11cba非0(真)非0(真)非0(真)1(真)0(假)002.逻辑或运算符:
36、
37、如有逻辑表达式:a
38、
39、b
40、
41、c执行过程是:当a为非0时,b和c不用再判断了,逻辑或运算符将不再执行,其结果为1,否则继续执行后面的运算。//结果m=0,n=1优先级:结合方向:例a=1;b=2;c=3;d=4;m=1;n=
42、1;(m=a>b)&&(n=c>d)5.3if语句if语句的三种形式形式一:格式:if(expression)statement;执行过程:exprstatement非0=0例:if(x>y)printf(“%d”,x);exprstatement1statement2非0=0形式二:格式:if(expression)statement1;elsestatement2;执行过程:例:if(x>y)max=x;elsemax=y;if(expr1)statement1;elseif(expr2)statement2;elseif(ex
43、pr3)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;执行过程:如:if(a==b&&x==y)printf(“a=b,x=y”);if
44、(3)printf(“OK”);if(‘a’)printf(“%d”,’a’);说明:if后面的表达式类型任意语句可以是复合语句——用{}if(x)if(x!=0)if(!x)if(x==0)例考虑下面程序的输出结果:#inclu