算术运算
- + - * / %
关系运算
- <=
- >=
- !=
- ==
- >
- <
- 真->1 假->0
- 非0->真 0->假
- 关系运算值只有0和1
逻辑运算
- 与->&&
- 或->||
- 非->!
运算符优先级别
- 非(单目运算符)-算数-关系-与-或-赋值 (优先级从高到低)
注意
- 数学上0<x<10,在C语言中表示为0<x&&x<10
- 而C语言中的0<x<10的值永远为真
- 短路原则:A,B为表达式,求表达式A&&B的值,若表达式A的值为0,则A&&B的值为0,不再计算表达式B,用下例表示(||也同上,遵循短路原则)
#include<stdio.h>
int main(){
int k1=10,k2=20;
k1=k1>k2&&(k2=k2>k1);
printf("k1=%d\nk2=%d",k1,k2);
return 0;
}
结果如下
k1=0
k2=20