注1:優先級相同的運算符,運算次序由結合性決定。
- 比如 3 * 4 / 5 % 6,其中乘號、除號和求余運算符在同一優先級,結合性是“左到右”,因此先計算 3 * 4,再計算 / 5,最后計算 % 6
- 再如 -i++,符號和自增運算符在同一優先級,結合性是“右到左”,因此 -i++ 相當於 -(i++)
注2:* 目運算符是指操作數的個數,比如單目運算符只有一個操作數,雙目運算符有兩個操作數,而三目運算符則有三個操作數。
注3:通過使用小括號可以提升表達式的優先級至最高。
- 比如 (1 + 2) * (3 - 4),其中加號、減號運算符的優先級本身是要低於乘號運算符的,但由於使用了小括號,且結合性均是“左到右”,所以先計算 (1 + 2),再計算 (3 - 4),最后才將前兩者的結果相乘
優先級
|
運算符
|
含義
|
使用形式
|
結合性
|
說明
|
1
|
[ ]
|
數組下標
|
數組名[整型表達式]
|
左到右
→
|
|
( )
|
圓括號
|
(表達式)
|
|||
.
|
成員選擇(對象)
|
對象.成員名
|
|||
->
|
成員選擇(指針)
|
對象指針->成員名
|
|||
++
|
自增運算符
|
變量名++
|
單目運算符
|
||
--
|
自減運算符
|
變量名--
|
單目運算符
|
||
2
|
-
|
負號運算符
|
-表達式
|
右到左
←
|
單目運算符
|
(類型)
|
強制類型轉換
|
(數據類型)表達式
|
單目運算符
|
||
++
|
自增運算符
|
++變量名
|
單目運算符
|
||
--
|
自減運算符
|
--變量名
|
單目運算符
|
||
*
|
取值運算符
|
*指針表達式
|
單目運算符
|
||
&
|
取地址運算符
|
&左值表達式
|
單目運算符
|
||
!
|
邏輯非運算符
|
!表達式
|
單目運算符
|
||
~
|
按位取反運算符
|
~表達式
|
單目運算符
|
||
sizeof
|
長度運算符
|
sizeof 表達式
或
sizeof(類型)
|
單目運算符
|
||
3
|
/
|
除
|
表達式 / 表達式
|
左到右
→
|
雙目運算符
|
*
|
乘
|
表達式 * 表達式
|
雙目運算符
|
||
%
|
余數(取模)
|
整型表達式 % 整型表達式
|
雙目運算符
|
||
4
|
+
|
加
|
表達式 + 表達式
|
左到右
→
|
雙目運算符
|
-
|
減
|
表達式 - 表達式
|
雙目運算符
|
||
5
|
<<
|
左移
|
表達式 << 表達式
|
左到右
→
|
雙目運算符
|
>>
|
右移
|
表達式 >> 表達式
|
雙目運算符
|
||
6
|
>
|
大於
|
表達式 > 表達式
|
左到右
→
|
雙目運算符
|
>=
|
大於等於
|
表達式 >= 表達式
|
雙目運算符
|
||
<
|
小於
|
表達式 < 表達式
|
雙目運算符
|
||
<=
|
小於等於
|
表達式 <= 表達式
|
雙目運算符
|
||
7
|
==
|
等於
|
表達式 == 表達式
|
左到右
→
|
雙目運算符
|
!=
|
不等於
|
表達式 != 表達式
|
雙目運算符
|
||
8
|
&
|
按位與
|
整型表達式 & 整型表達式
|
左到右
→
|
雙目運算符
|
9
|
^
|
按位異或
|
整型表達式 ^ 整型表達式
|
左到右
→
|
雙目運算符
|
10
|
|
|
按位或
|
整型表達式 | 整型表達式
|
左到右
→
|
雙目運算符
|
11
|
&&
|
邏輯與
|
表達式 && 表達式
|
左到右
→
|
雙目運算符
|
12
|
||
|
邏輯或
|
表達式 || 表達式
|
左到右
→
|
雙目運算符
|
13
|
?:
|
條件運算符
|
表達式1? 表達式2: 表達式3
|
右到左
←
|
三目運算符
|
14
|
=
|
賦值運算符
|
變量 = 表達式
|
右到左
← |
雙目運算符
|
/=
|
除后賦值
|
變量 /= 表達式
|
雙目運算符
|
||
*=
|
乘后賦值
|
變量 *= 表達式
|
雙目運算符
|
||
%=
|
取模后賦值
|
變量 %= 表達式
|
雙目運算符
|
||
+=
|
加后賦值
|
變量 += 表達式
|
雙目運算符
|
||
-=
|
減后賦值
|
變量 -= 表達式
|
雙目運算符
|
||
<<=
|
左移后賦值
|
變量 <<= 表達式
|
雙目運算符
|
||
>>=
|
右移后賦值
|
變量 >>= 表達式
|
雙目運算符
|
||
&=
|
按位與后賦值
|
變量 &= 表達式
|
雙目運算符
|
||
^=
|
按位異或后賦值
|
變量 ^= 表達式
|
雙目運算符
|
||
|=
|
按位或后賦值
|
變量 |= 表達式
|
雙目運算符
|
||
15
|
,
|
逗號運算符
|
表達式1,表達式2,表達式3,…
|
左到右
→
|