资源描述:
《最新C语言-ch04-1-关系、逻辑和条件表达式教程PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言-ch04-1-关系、逻辑和条件表达式教程第四章选择结构程序设计ConditionalOperatorandExpressionsBranching2021/8/182Tobeornottobe,thisisaquestion.2021/8/183例4.3输入3个整数a,b,c,要求按由小到大的顺序输出。解题思路:可以先用伪代码写出算法:ifa>b,a和b对换(a是a、b中的小者)ifa>c,a和c对换(a是三者中最小者)ifb>c,b和c对换(b是三者中次小者)顺序输出a,b,c排序问题2021/8/187inta,b,c,t;scanf("%d
2、%d%d",&a,&b,&c);if(a>b)//a是a、b中的小者{t=a;a=b;b=t;}if(a>c)//a是三者中最小者{t=a;a=c;c=t;}if(b>c)//b是三者中次小者{t=b;b=c;c=t;}printf("%d%d%d",a,b,c);独占一行如果没有这个{},会发生什么?2021/8/188else关键字if(x%2==0){y=x/2;}else{y=(x+1)/2;}如果条件为真,执行第一个分支如果条件为假,执行第二个分支2021/8/189输入一个整数,输出绝对值inta;scanf("%d",&a);if(a>
3、0)printf("%d",a);elseprintf("%d",-a);2021/8/1810elseif关键字if(x%2==0){y=x/2;}elseif(x%4==1){y=2∗((x+3)/4);}else{y=(x+1)/2;}11关系运算符和表达式>,>=,<,<=,==,!=大于,大于等于,小于,小于等于,等于,不等于关系表达式(和逻辑表达式)的结果为0和10,表示假,即该关系不成立1,表示真,即该关系成立在所有涉及到真假判断的地方(if,for,while),0表示假,非0表示真表达式非0=>条件为真(true)if(a>1)
4、if(1)if(100)12优先级P378()[]->.!~++--+(正号)-*&(类型)sizeof*/%+-<<>><<=>>===!=&^
5、&&
6、
7、?:=+=-=*=/=%=&=^=
8、=<<=>>=,2021/8/1813关系、算术、赋值运算符的优先级inta=3,b=2,c=1;c>a+b等效于c>(a+b)a>b==c等效于(a>b)==ca==bc等效于a=(b>c)while(c=getchar()!=EOF)while((c=getchar())!=EOF)算术运算符(高)赋值运算符(低)关系运算符20
9、21/8/1814分清==和=inta=1;if(a==0)printf("OK");inta=0;if(a==0)printf("OK");inta=1;if(a=1)printf("OK");inta=0;if(a=0)printf("OK");2021/8/1815分清==和=常量放左边,能起点小作用:inta=0;if(0==a)printf("OK");inta=0;if(0=a)printf("OK");编译出错2021/8/18164.4逻辑运算符逻辑运算,运算结果为1和0&&与运算,只有左右都为真,结果才是真(a>b&&b>c
10、);a大于b,并且b大于c
11、
12、或运算,只有左右都为假,结果才是假(a>b
13、
14、b>c);a大于b,或者b大于c!求反,非(!a);如果a是0,结果非0,即1;如果a是非0,结果是0并不改变a的值if(a>b>c)?2021/8/1817修改后的逻辑运算真值表ab!aa&&ba
15、
16、b非0非0011非000010非0101001002021/8/1818逻辑运算符的优先级!&&
17、
18、(非>与>或)与其他运算符的优先次序!(高)算术运算符关系运算符&&和
19、
20、赋值运算符(低)2021/8/1819逻辑表达式举例若a=4,则!a的值为0若a=4,b=5,则a&&b的值
21、为1a和b值分别为4和5,则a
22、
23、b的值为1a和b值分别为4和5,则!a
24、
25、b的值为14&&0
26、
27、2的值为15>3&&8<4-!002021/8/1820怎么表示"如果分数80小于等于grade且小于90,则五分制分数为A"?if(80<=grade<90),错if(grade>=80&&grade<90),对if((grade>=80)&&(grade<90)),加括号最好怎么表示"如果字符型变量c为‘Y’或‘y’"?if(c=='Y'
28、
29、'y'),错if(c=='Y'
30、
31、c=='y'),对2021/8/1821逻辑表达式的自动优化a&&b&&ca为0
32、时,表达式一定为0,不需判断b和c只有a为真(非0)时,才需要判断b和c的值a
33、