C语言中的那些运算符
1. 赋值运算符 =
2. 算术运算符 + - * / % (取余) ++ --
优先级:最高 ++ --
- (取负)
* / %
最低 + -
3. 关系运算符 > < >= <= ==(测试等于) !=(测试不等于)
4. 逻辑运算符 && || !条件
5. 符合赋值运算符 += -= *= /= %= <<= >>= &= |= ^= (异或) ~=(逻辑非)
运算符优先级:!------算术运算符--------关系运算符---------&&-----------||--------赋值运算符
优先级 |
运算符 |
名称和含义 |
结合方向 |
说明 |
1 |
[ ] |
数组下标 |
从左到右 |
—— |
( ) |
圆括号 |
—— |
||
. |
成员选择(对象) |
—— |
||
-> |
成员选择(指针) |
—— |
||
2 |
- |
负号运算符 |
从右到左 |
单目运算符 |
(类型) |
强制类型转换 |
—— |
||
++ |
自增运算符 |
单目运算符 |
||
-- |
自减运算符 |
单目运算符 |
||
* |
取值运算符 |
单目运算符 |
||
& |
取地址运算符 |
单目运算符 |
||
! |
逻辑非 |
单目运算符 |
||
~ |
按位取反运算符 |
单目运算符 |
||
sizeof |
长度运算符 |
单目运算符 |
||
3 |
/ |
除 |
从左到右 |
双目运算符 |
* |
乘 |
双目运算符 |
||
% |
余 |
双目运算符 |
||
4 |
+ |
加 |
从左到右 |
双目运算符 |
- |
减 |
双目运算符 |
||
5 |
<< |
左移 |
从左到右 |
双目运算符 |
>> |
右移 |
双目运算符 |
||
6 |
> |
大于 |
从左到右 |
双目运算符 |
>= |
大于等于 |
双目运算符 |
||
< |
小于 |
双目运算符 |
||
<= |
小于等于 |
双目运算符 |
||
7 |
== |
等于 |
从左到右 |
双目运算符 |
!= |
不等于 |
双目运算符 |
||
8 |
& |
按位与 |
从左到右 |
双目运算符 |
9 |
^ |
按位异或 |
从左到右 |
双目运算符 |
10 |
| |
按位或 |
从左到右 |
双目运算符 |
11 |
&& |
逻辑与 |
从左到右 |
双目运算符 |
12 |
|| |
逻辑或 |
从左到右 |
双目运算符 |
13 |
?: |
条件运算符 |
从左到右 |
三目运算符 |
14 |
= |
赋值 |
从左到右 |
—— |
/= |
除后赋值 |
—— |
||
*= |
乘后赋值 |
—— |
||
%= |
取模后赋值 |
—— |
||
+= |
加后赋值 |
—— |
||
-= |
减后赋值 |
—— |
||
<<= |
左移后赋值 |
—— |
||
>>= |
右移后赋值 |
—— |
||
&= |
按位与后赋值 |
—— |
||
^= |
按位异或后赋值 |
—— |
||
|= |
按位或后赋值 |
—— |
||
15 |
, |
逗号运算符 |
从左到右 |
—— |