资源描述:
《C语言_04选择结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、选择结构程序设计C语言程序设计Lecture4关系运算符和关系表达式《逻辑运算符和逻辑表达式《条件运算符和条件表达式《switch语句《if语句《选择结构程序示例《goto语句《2关系运算符和表达式关系运算符种类:<<===>=>!=结合方向:自左向右优先级别:<<=>>===!=优先级6(高)优先级7(低)关系表达式的值:是逻辑值“真”或“假”,用1和0表示例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+cbf=a>b>c3关系运算注意:例若a=0;b=0.5;x=0.3;则a<=x<=b的值为0例5>2>7>8在C中是允许的,值为0例inti=1,j=
2、7,a;a=i+(j%4!=0);则a=2例‘a’>0结果为‘A’>100结果为10例应避免对实数作相等或不等的判断如1.0/3.0*3.0==1.0结果为可改写为:fabs(1.0/3.0*3.0-1.0)<1e-604逻辑运算符种类:!&&
3、
4、逻辑运算真值表(见教材)(逻辑运算--->产生真假值的运算)C语言中,运算量:0表示“假”非0表示“真”,运算结果:0表示“假”,1表示“真”,逻辑运算符和表达式若a=4,!a的值为__若a=4,b=5,则a&&b的值为__则a
5、
6、b的值为__则!a
7、
8、b的值为__4&&0
9、
10、2的值为__5优先级:结合方向:!:从右向左&&:从左向右
11、
12、:从
13、左向右!算术关系逻辑赋值!(2)&&(11)
14、
15、(12)高低①a+b>c&&b==c②a
16、
17、b+c&&b-c③!(a>b)&&!c
18、
19、1 ④!(x=a)&&(y=b)&&0⑤!(a+b)+c-1&&b+c/2已知a=1,b=2,c=36逻辑运算规则简化:⑴、两个表达式作&&,只要一个的值为0,不必计算另一个,该表达式的值为0。例:inta=0,b=2;a&&(b+=b)⑵、两个表达式作
20、
21、,只要一个的值非0,不必计算另一个,该表达式的值为1。例:inta=5,b=2;a
22、
23、(b+=b)例:a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)m=?,n=?0
24、17例:判断某一年是否是闰年。条件是能被4整除,但不能被100整除或能被400整除。用year表示年份,判断闰年的逻辑表达式为:如果给year输入一个的值,使上面的表达式的值为1时,则year所代表的年份就是闰年。(year%4==0&&year%100!=0)
25、
26、(year%400==0)(year%4!=0)
27、
28、(year%100==0&&year%400!=0)变换一下角度,如何判断year不是闰年?8例(a==b)?’Y’:’N’(x%2==1)?1:0(x>=0)?x:-x(c>=‘a’&&c<=‘z’)?c-’a’+’A’:c条件运算符可嵌套如x>0?1:(x<0?-1:0
29、)优先级:13一般形式:expr1?expr2:expr3功能:相当于条件语句,但不能取代一般if语句expr1取expr2值取expr3值非00结合方向:自右向左如a>b?a:c>d?c:da>b?a:(c>d?c:d)expr1、expr2、expr3类型可不同,表达式值取较高的类型例x?‘a’:‘b’//x=0,表达式值为‘b’;x‡0,表达式值为‘a’x>y?1:1.5//x>y,值为1.0;x30、,2)+pow(y-2,2))<=1
31、
32、(pow(x-2,2)+pow(y+2,2))<=1
33、
34、(pow(x+2,2)+pow(y-2,2))<=1
35、
36、(pow(x+2,2)+pow(y+2,2))<=122-2-210已知intx=1,y=2,z;执行语句z=x>y?++x:y++;后,x、y、z的值分别为____、____和____。已知inta=4,b=5,c;执行语句c=a=a>b后,a的值为____。已知intx=10,y=3,z;执行语句printf("%d",z=(x%y,x/y));后,输出结果为____。已知charch='A‘;ch=(ch>='A'&&ch<=
37、'Z')?(ch+32):ch;的值为____。已知w=1,x=2,y=3,z=4;则表达式5+w>x?w:y38、
39、b+c&&b-