C语言操作符优先级
| 优先级 |
运算符 |
含 义 |
要求运算 对象的个数 |
结合方向 |
| 1 |
() [] -> . |
圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 |
|
自左至右 |
| 2 |
! |
逻辑非运算符 |
1 (单目运算符) |
自右至左 |
| ~ |
按位取反运算符 |
|||
| ++ |
自增运算符 |
|||
| -- |
自减运算符 |
|||
| - |
负号运算符 |
|||
| (类型) |
类型转换运算符 |
|||
| * |
指针运算符 |
|||
| & |
地址与运算符 |
|||
| sizeof |
长度运算符 |
|||
| 3 |
* / % |
乘法运算符 除法运算符 求余运算符 |
2 (双目运算符) |
自左至右 |
| 4 |
+ - |
加法运算符 减法运算符 |
2 (双目运算符) |
自左至右 |
| 5 |
<< >> |
左移运算符 右移运算符 |
2 (双目运算符) |
|
| 6 |
< <= > >= |
关系运算符 |
2 (双目运算符) |
自左至右 |
| 7 |
== != |
等于运算符 不等于运算符 |
2 (双目运算符) |
自左至右 |
| 8 |
& |
按位与运算符 |
2 (双目运算符) |
自左至右 |
| 9 |
^ |
按位异或运算符 |
2 (双目运算符) |
自左至右 |
| 10 |
| |
按位或运算符 |
2 (双目运算符) |
自左至右 |
| 11 |
&& |
逻辑与运算符 |
2 (双目运算符) |
自左至右 |
| 12 |
|| |
逻辑或运算符 |
2 (双目运算符) |
自左至右 |
| 13 |
? : |
条件运算符 |
3 (三目运算) |
自右至左 |
| 14 |
= += -= *= /= %= >>= <<= &= ^= |= |
赋值运算符 |
2 |
自右至左 |
| 15 |
, |
逗号运算符 |
|
自左至右 |
运算符优先级记忆方法:
