1. 逻辑运算(&&,||,!)
逻辑运算的参与者为逻辑值(真或者假),任何非零值均为真,任何零值均为假
2. 逻辑运算中的短路法则
(1)对于&&操作,从左向又,如果有一个操作数为假,则整个表达式为假,第一个操作为假的操作之后,其他操作数不计算;
(2)对于||操作,从左向右,如果有一个操作数为真,则整个表达式为真,第一个为真之后,其他操作数不进行计算;
3.取非操作(!)
单目运算,运算结果为逻辑值,对真值取非为假,对假值取非为真;
示例:
#include "stdio.h"
int main()
{
int a = 1;
int b = 2;
int c = 0;
c = a && b;
printf("c= %d\n",c);
c = !(a-b) || (a<b);
printf("c= %d\n",c);
return 0;
}
4.位运算
位运算只能对整数型进行操作,包括(&,|,~,^,<<,>>),优先级从高往低按照如下顺序:
~ 按位取反
<< 左移,高位移出,低位补零
>> 右移,低位移除,高位补符号位
& 按位与
^ 异或,相同为1,不同为0
| 按位或
5.逻辑运算和位运算的优先级顺序由高到低:
1. 正负号>逻辑非>按位取反;
2. 乘除>加减>按位左右移;
3. 大小比较运算>相等比较运算;
4. 按位与>按位异或>按位或;
5. 逻辑与>逻辑或
6. 赋值操作;