文档介绍:第5章选择结构程序设计2016-9-171?本章要点–关系表达式–逻辑表达式–选择结构程序设计2016-9- if 关系运算符和关系表达式一、关系运算符(比较运算符)?关系运算符<,<=,>,>=优先级高==,!=优先级低2016-9-173?关系运算符和其他运算符的优先级别的关系优先级运算符结合性单目算术运算符++, --, -自右向左双目算术运算符*, /, %, +, -自左向右关系运算符<,<=,>,>=,==,!= 自左向右赋值运算符= 自右向左例如,a>b!=c (a>b)!=c c>a+b c>(a+b) a=b>c a=(b>c) a==b<c a==(b<c)2016-9-1741. 关系表达式例如,a>b,a+b>b+c,x<y<z,-1<=x<=12. 关系表达式的值为一个逻辑值,即“真”或“假”。C程序中,以1代表“真”,以0代表“假”。实际上,以非0代表“真”。例如,x=2 则-1<=x<=1的值为12016-9-175先判断-1<=x 得1再判断1<=1 得1二、关系表达式①--i>=0 ②i-->=0 ③x/y*y==x 2016-9-176④ x<y<z⑤注意"=="和"="符号的区别。例如,if(x=y) 和if(x==y)⑥字符数据的比较按其ASCⅡ码进行。例如,’a’>0 ’A’> 逻辑运算符与逻辑表达式一、逻辑运算符及其优先次序?逻辑运算符&&,||,! ( 逻辑与,逻辑或,逻辑非)例如,a&&ba||b!a?优先级别(P365)2016-9-177&&和|| 双目运算符! 单目运算符例如,!a&&b||x>y&&c二、逻辑表达式?逻辑表达式!a&&b||x>y&&c?逻辑表达式的值例如,!3值为0?注意1)逻辑运算符的操作数是任意类型的,只要其数据类型能得到0或非0值(按真对待)例如,5&&’A’其值为14&&0||2 其值为12016-9-1785>3&&2||8<4-!02) &&和||运算符强调由左到右按序进行。例如,x&&y 如果x的值为0,则结果肯定为0,y的值可以不求。例如,x||y如果x的值非0,则结果肯定为1,y的值不必求。2016-9-179课堂练****1) int x,y,z; x=y=z=1; ++x||++y||++z; (2) x=y=z=0; ++x&&++y||++z; (3) x=y=z=-1 ++x||++y&&++z; 求表达式的值,x,y,z。2016-9-1710++x||++y||++z; 1则x=2,y=1,z=1++x&&++y||++z; 1则x=1,y=1,c=0++x||++y&&++z 0则x=0,y=0,z=-1