优先级 | 运算符 | 含义 | 结合方向 |
1 | [] | 数组下标 | 左到右 |
() | 圆括号 | ||
. | 成员选择(对象) | ||
-> | 成员选择(指针) | ||
2 | ! | 逻辑非 | 右到左 |
~ | 按位取反 | ||
++ | 自增 | ||
-- | 自减 | ||
- | 负号 | ||
(类型) | 类型转换 | ||
* | 指针运算符 | ||
& | 取地址 | ||
Sizeof | 长度运算符 | ||
3 | * | 乘 | 左到右 |
/ | 除 | ||
% | 取余 | ||
4 | + | 加 | 左到右 |
- | 减 | ||
5 | << | 左移 | 左到右 |
>> | 右移 | ||
6 | < | 关系运算符 | 左到右 |
<= | |||
> | |||
>= | |||
7 | == | 等于 | 左到右 |
!= | 不等 | ||
8 | &(双目) | 按位与 | 左到右 |
9 | ^ | 按位异或 | |
10 | | | 按位或 | |
11 | && | 逻辑与 | |
12 | || | 逻辑或 | |
13 | ?:(三目) | 条件运算符 | 右到左 |
14 | =,+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|= | 赋值运算符 | |
15 | , | 逗号表达式 | 左到右 |
eg:下列运算符中,优先级最低的是()
A!= B! C&& D++
优先级 2.13.14 结合方向为右到左
~按位取反本质为补码取反后求源码 补码求反再求补
<< 左移移几位等于2的几次方 优先级5 结合方向左到右
>> 右移移几位等于除以2的几次方 优先级5 结合方向左到右
&按位与优先级8 结合方向左到右 运算方法 01-0 00-0 10-0 11-1 以补码计算
^按位异或优先级9 结合方向左到右 相同为0 不同为1
| 按位或 优先级10 结合方向左到右 00-0 10-1 01-1 11-1
eg: