
C语言运算符表
优先级 | 运算符 | 功 能 | 目 数 | 结合性 | 举 例 |
1 | () | 改变运算优先级或函数调用 | 双目 | 从左向右 | (a+b) |
[] | 访问数组元素 | a[i] | |||
. | 直接访问数据成员 | r.x | |||
-> | 间接访问数据成员 | p->a | |||
2 | ! | 逻辑非 | 单目 | 从右向左 | !yn |
~ | 按位取反 | ~x | |||
+,- | 取正,取负 | +x,-y | |||
* | 间接访问对象 | *p | |||
& | 取对象地址 | &x | |||
++,-- | 增1,减1 | k++,m-- | |||
() | 强制类型转换 | (char)x | |||
sizeof | 测类型长度 | sizeof(b) | |||
3 | *,/,% | 乘,除,取余 | 双目 | 从左向右 | a*b |
4 | +,- | 加,减 | a+b | ||
5 | <<,>> | 按位左移,按位右移 | x<<2,x>>2 | ||
6 | <,<=,>,>= | 小于,小于等于,大于,大于等于 | x<y,x<=y,x>y,x>=y | ||
7 | ==,!= | 等于,不等于 | x==y,x!=y | ||
8 | & | 按位与 | x&y | ||
9 | ^ | 按位异或 | x^y | ||
10 | | | 按位或 | x|y | ||
11 | && | 逻辑与 | x&&y | ||
12 | || | 逻辑或 | x||y | ||
13 | ?: | 条件运算符 | 三目 | 从右向左 | a>b?c=3:c=4 |
14 | = | 赋值 | 双目 | 从右向左 | x=3*x+2 |
+=,-= | 加赋值,减赋值 | s+=2,s-=2 | |||
*=,/= | 乘赋值,除赋值 | s*=3,s/=3 | |||
%=,&= | 取余赋值,按位与赋值 | a%=3,b&=c | |||
^= | 按位异或赋值 | a^=b | |||
|= | 按位或赋值 | a|=b | |||
<<= | 按位左移赋值 | a<<=3 | |||
>>= | 按位右移赋值 | a>>=2 | |||
15 | , | 逗号运算符 | 双目 | 从左向右 | x++,y++,z-- |