!a==!f (!a&&1)!=(!c||1) (由逻辑表达式构成,表达式的值为1、1)
((a>2)?3:0)<((f!=1)?0:1) (由条件表达式构成,表达式的值为0)
(a=2)<=(f=1) (c=’A’)!=(f=100.5)
(逻辑表达式构成,表达式的值为0、
1)
(1,2)!=(2,1) (1,2,3)==(3,3,3)
(由逗号表达式构成,表达式的值为1、
1)
5、逻辑运算符和表达式
用逻辑运算符将关系表达式或逻辑量连接起来的式子,构成规则
单目逻辑运算符 表达式 表达式 双目逻辑运算符 表达式 逻辑运算符有3种
!的优先级高于&&,&&的优先级高于||
!的优先级高于算术运算符和关系运算符的优先级,而&&和||优先级低于算术运算符和关系运算符的优先级
逻辑表达式的值是一个逻辑值,即“真”与 “假” 以0代表“假”,以1代表“真”
在C语言中,&&和||是短路运算符号,即在一个或多个&&相连的表达式中只要有一个操作数为“0”,就不做后面的&&运算,
31
整个表达式为“0”,而对于一个或多个||相连的表达式中只要第一个操作数不为“0” 就不做后面的||运算,则整个表达式不为“0”
如下例题例:条件如上述则下面的都为逻辑运算符和表达式 a<=c||f<=c (c>a)&&(f>4)
(由关系表达式构成,表达式的值为1、
0)
!(1,2) (1,2,3)&&(3,3,3)
(由逗号表达式构成,表达式的值为0、
1)
6、条件运算符和表达式
用条件运算符连接起来的式子 构成规则 X=表达式1?表达式2:表达式3
其意义为,先求解表达式1,若为非“0”,则求解表达式2,将表达式2的值赋给X,若表达式1的值为“0”,则求解表达式3将表达式3的值赋给X。 如:min=(a
在C语言中,经常使用自加(++)、自减(--)运算符、它的优先级别为2,结合方向为自右向左。
这两个运算符不仅有对运算对象进行“运算”(加1和减1)的作用,还有将运算后的值回存到运算对象的作用。
32
运算符 ++ ++ -- -- 表达式 ++x x++ --y y-- 解释 先将x加1回存,再用X的新值参与表达式运算 先用X的值参与表达式运算,然后加1回存成为X的新值 先将Y减1回存,再用Y的新值参与表达式运算 先用Y的值参与表达式运算,然后减1回存成为Y的新值 33