C语言运算符优先级和口诀
因运算符的优先级顺序不太好记忆,且易造成一些费解的问题。经整理后,希望对大家有所帮助:
序号
运算符
口诀
01
()(圆括号) [](数组下标) . (成员选择(对象)) ->(成员选择(指针))
括号成员第一,全体单目第二
02
++(自增) --(自减) +(正) -(负) ! (逻辑非) ~(取反) &(取地址) sizeof(长度) *(取值) (type)(强制类型)
03
*(乘) /(除) %(余)
乘除余三,加减四
04
+(加) -(减)
05
>>(右位移) <<(左位移)
位移五,关系六
06
<(小于) >(大于)
<=(小于等于) >=(大于等于)
07
==(等) != (不等)
等与不等排第七
08
&(位与)
位与异或和位或,“三分天下”八九十
09
^(异或)
10
|(位或)
11
&&(逻辑与)
逻辑或跟与,十二和十一
12
||(逻辑或)
13
? : (条件运算)
条件高于赋值,逗号级别最低
14
= += -= *= /= %= |= ^= &= >>= <<= (赋值)
15
, (逗号)
作者: 邹祁峰
2012年12月11日