| 
 优先级  | 
 运算符  | 
 名称或含义  | 
 使用形式  | 
 结合方向  | 
 说明  | 
| 
 1  | 
 [ ]  | 
数组下标 | 数组名[常量表达式] | 
 左到右  | 
 —  | 
| 
 ( )  | 
圆括号 | (表达式)/函数名(形参表) | 
 —  | 
||
| 
 .  | 
成员选择(对象) | 对象.成员名 | 
 —  | 
||
| 
 ->  | 
成员选择(指针) | 对象指针->成员名 | 
 —  | 
||
| 
 2  | 
 –  | 
负号运算符 | -表达式 | 
 右到左  | 
 单目运算符  | 
| 
 ~  | 
按位取反运算符 | ~表达式 | |||
| 
 ++  | 
自增运算符 | ++变量名/变量名++ | |||
| 
 —  | 
自减运算符 | –变量名/变量名– | |||
| 
 *  | 
取值运算符 | *指针变量 | |||
| 
 &  | 
取地址运算符 | &变量名 | |||
| 
 !  | 
逻辑非运算符 | !表达式 | |||
| 
 (类型)  | 
强制类型转换 | (数据类型)表达式 | 
 —  | 
||
| 
 sizeof  | 
长度运算符 | sizeof(表达式) | 
 —  | 
||
| 
 3  | 
 /  | 
除 | 表达式/表达式 | 
 左到右  | 
 双目运算符  | 
| 
 *  | 
乘 | 表达式*表达式 | |||
| 
 %  | 
余数(取模) | 整型表达式%整型表达式 | |||
| 
 4  | 
 +  | 
加 | 表达式+表达式 | 
 左到右  | 
 双目运算符  | 
| 
 –  | 
减 | 表达式-表达式 | |||
| 
 5  | 
 <<  | 
左移 | 变量<<表达式 | 
 左到右  | 
 双目运算符  | 
| 
 >>  | 
右移 | 变量>>表达式 | |||
| 
 6  | 
 >  | 
大于 | 表达式>表达式 | 
 左到右  | 
 双目运算符  | 
| 
 >=  | 
大于等于 | 表达式>=表达式 | |||
| 
 <  | 
小于 | 表达式<表达式 | |||
| 
 <=  | 
小于等于 | 表达式<=表达式 | |||
| 
 7  | 
 ==  | 
等于 | 表达式==表达式 | 
 左到右  | 
 双目运算符  | 
| 
 !=  | 
不等于 | 表达式!= 表达式 | |||
| 
 8  | 
 &  | 
按位与 | 表达式&表达式 | 
 左到右  | 
 双目运算符  | 
| 
 9  | 
 ^  | 
按位异或 | 表达式^表达式 | 
 左到右  | 
 双目运算符  | 
| 
 10  | 
 |  | 
按位或 | 表达式|表达式 | 
 左到右  | 
 双目运算符  | 
| 
 11  | 
 &&  | 
逻辑与 | 表达式&&表达式 | 
 左到右  | 
 双目运算符  | 
| 
 12  | 
 ||  | 
逻辑或 | 表达式||表达式 | 
 左到右  | 
 双目运算符  | 
| 
 13  | 
 ?:  | 
条件运算符 | 表达式1?
 表达式2: 表达式3  | 
 右到左  | 
 三目运算符  | 
| 
 14  | 
 =  | 
赋值运算符 | 变量=表达式 | 
 右到左  | 
 —  | 
| 
 /=  | 
除后赋值 | 变量/=表达式 | 
 —  | 
||
| 
 *=  | 
乘后赋值 | 变量*=表达式 | 
 —  | 
||
| 
 %=  | 
取模后赋值 | 变量%=表达式 | 
 —  | 
||
| 
 +=  | 
加后赋值 | 变量+=表达式 | 
 —  | 
||
| 
 -=  | 
减后赋值 | 变量-=表达式 | 
 —  | 
||
| 
 <<=  | 
左移后赋值 | 变量<<=表达式 | 
 —  | 
||
| 
 >>=  | 
右移后赋值 | 变量>>=表达式 | 
 —  | 
||
| 
 &=  | 
按位与后赋值 | 变量&=表达式 | 
 —  | 
||
| 
 ^=  | 
按位异或后赋值 | 变量^=表达式 | 
 —  | 
||
| 
 |=  | 
按位或后赋值 | 变量|=表达式 | 
 —  | 
||
| 
 15  | 
 ,  | 
逗号运算符 | 表达式,表达式,… | 
 左到右  | 
 —  | 
说明:
    同一优先级的运算符,运算次序由结合方向所决定。
    简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符