(一)逻辑运算符
“!”(右结合,单目运算符)
“&&”(左结合,双目运算符)
“||”(左结合,双目运算符)
优先级由高到低
逻辑表达式:表达式1 逻辑运算符 表达式2
或 逻辑运算符 表达式1
逻辑表达式结果是逻辑值“真”或“假”,即“1”或“0”
eg.逻辑运算
#include<stdio.h>
int main()
{ int a=3,b=3,c=2,d;
printf("%d,",!a&&!b&&c);
printf("%d,",!a||!b||c);
printf("%d\n",a>=b&&b>c);
d=c--||(b=6)&&a++;
printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
return 0;
}
运行结果
0,1,1
a=3,b=3,c=1,d=1
(二)赋值运算符
“=”,“+=”,“-=”,“*=”,“/=”,“%=”
赋值表达式:变量=表达式
赋值表达式的执行过程:
(1)计算赋值运算符右侧表达式的值。
(2)将所计算出的值赋给赋值运算符左侧的变量。
注意(!):(1)如果“=”左右两边类型不同,系统会按照赋值类型转换的原则将右边的类型转换成左边的类型。
(2)赋值表达式的右边也可以是一个赋值表达式。由于赋值运算符有右结合性。