资源描述:
《吉林大学 C语言课件 第5章 选择结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系运算符和表达式关系运算符种类:<<===>=>!=结合方向:自左向右优先级别://表达式值1第5章选择结构程序设计<<=>>===!=优先级6(高)优先级7(低)关系表达式:用关系运算符将两个表达式(可以是算术、关系、逻辑、赋值、字符表达式)连接起来的式子。a>ba+b>b+c(a=3)>(b=5)‘a’<‘b’(a>b)>(ba+b//c>(a+b)算术运算符a>b!=c//(a>b)!=ca==bc//a=(b>c)赋值运算符例inta=3,b=2,c=1,
2、d,f;a>b(a>b)==cb+cbf=a>b>c//表达式值1//表达式值0//d=1//f=0//表达式值1if(x>y>z)if(x>y,y>z)例c>a+b//c>(a+b)算术运算符a>b!=c//(a>b)!=ca==bc//a=(b>c)赋值运算符关系运算注意:例注意区分“=”与“==”inta=0,b=1;if(a==b)printf(“aequaltob”);elseprintf(“anotequaltob”);例注意区分“=”与“==”inta=0,b=1;if(a=b)printf(“aequaltob”);els
3、eprintf(“anotequaltob”);逻辑运算符和表达式逻辑运算符种类:!&&
4、
5、逻辑运算真值表C语言中,运算量:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,a&&b若a,b为真,则a&&b为真a
6、
7、b若a,b之一为真,则a
8、
9、b为真!a若a为真,则!a为假ab!a!ba&&ba
10、
11、b真真假假真真真假假真假真假真真假假真假假真真假假优先级:结合方向:!(2)&&(11)
12、
13、(12)高低!算术运算符关系运算符&&
14、
15、赋值运算符高低!自右向左&&
16、
17、自左向右a<=x&&x<=ba>b&&x>ya==b
18、
19、x==y!a
20、
21、a>b//(a<=x)&&(x<=b)//
22、(a>b)&&(x>y)//(a==b)
23、
24、(x==y)//(!a)
25、
26、(a>b)在逻辑表达式中参加逻辑运算的运算对象可以是0(“假”)或任何非0的数值(“真”)例a=4;b=5;!aa&&ba
27、
28、b!a
29、
30、b4&&0
31、
32、25>3&&2
33、
34、8<4-!0‘c’&&‘d’值为1值为0值为1值为1值为1值为1值为1短路特性:逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符a&&b只有a不为0,才继续进行右面的运算a
35、
36、b只有a=0,才继续进行右面的运算例a&&b&&c//只在a为真时,才判别b的值;只在a、b都为真时,才判别c的值例
37、a
38、
39、b
40、
41、c//只在a为假时,才判别b的值;只在a、b都为假时,才判别c的值例a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)例:!a&&(m=a>b)
42、
43、(n=c>d)//结果m=0,n=1//结果m=1,n=0`程序的三种基本结构结构化程序设计基本思想:任何程序都可以用三种基本结构表示.结构化程序:由三种基本结构反复嵌套构成的程序叫结构化程序优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构选择结构循环结构main(){inta,b,c;a=1;b=2;c=3;if()……选择b=6;顺序do….循环while()printf();}5.3
44、选择型程序设计if语句(条件选择语句)if语句的三种形式形式一:格式:if(表达式)语句执行过程:形式二:格式:if(表达式)语句1else语句2执行过程:表达式语句非0=0例:if(x>y)printf(“%d”,x);表达式表达式1表达式2非0=0例:if(x>y)max=x;/*分号不能省*/elsemax=y;例:if(x>y){max=x;printf(“%d”,max);}例:if(x>y){max=x;printf(“%d”,max);}else{max=x;printf(“%d”,max);}形式三:格式:if(表达式1)语句1elseif(表达式2)语句2…...elsei
45、f(表达式m)语句melse语句n表达式1语句1非0=0表达式2表达式m语句n语句m语句2非0非0=0=0执行过程:例:if(number>500)cost=0.4;elseif(number>300)cost=0.3;elseif(number>100)cost=0.2;elseif(number>50)cost=0.1;elsecost=0;例:if(number>500)cost=0.4;elseif(