C中逻辑运算的结果只有两种:真
与
假,
假用数值表示为0,非0表示为真,一般会用1来表示。
C语言中提供了三种逻辑运算符:
&&(与运算)
||(或运算)
!(非运算)
其求值规则如下:
1)
与运算(&&)
参与运算的两个量都为真时,结果才为真,否则为假。例如:
5>0
&&
4>2
由于5>0为真,4>2也为真,相与的结果也为真。
2)
或运算(||)
参与运算的两个量只要有一个为真,结果就为真。
两个量都为假时,结果为假。例如:
5>0||5>8
由于5>0为真,相或的结果也就为真。
3)
非运算(!)
参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:
!(5>0)
的结果为假。
虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0
”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如: 5和3均为非“0”值,因此5&&3的值为“真”,即为1。
又如: 5||0的值为“真”,即为1。