C 運算子的優先順序和結合性

2021-07-28 12:17:02 字數 2908 閱讀 2422

運算子的優先順序和結合性

優先順序

運算子

名稱或含義

使用形式

結合方向

說明

1

後置++

後置自增運算子

變數名++

左到右

後置--

後置自減運算子

變數名--

[ ]

陣列下標

陣列名[

整型表示式]

( )

圓括號

(表示式)

/函式名

(形參表)

.

成員選擇(物件) 物件

.成員名

->

成員選擇(指標)

物件指標

->

成員名

2-

負號運算子 -

表示式

右到左

單目運算子 (

型別)強制型別轉換 (

資料型別

)表示式 前置

++ 前置自增運算子 ++

變數名

單目運算子 前置

-- 前置自減運算子 --

變數名

單目運算子 *

取值運算子 *

指標表示式

單目運算子 &

取位址運算子 &

左值表示式

單目運算子 !

邏輯非運算子 !

表示式

單目運算子 ~

按位取反運算子 ~

表示式

單目運算子

sizeof

長度運算子

sizeof

表示式/sizeof(型別)

3/

除 表示式/

表示式

左到右

雙目運算子 *

乘表示式

*表示式

雙目運算子 %

餘數(取模)

整型表示式

%整型表示式

雙目運算子

4+

加 表示式+

表示式

左到右

雙目運算子 -

減表示式

-表示式

雙目運算子

5

<<  左移

表示式<<

表示式

左到右

雙目運算子

>>  右移

表示式>>

表示式

雙目運算子

6

>  大於

表示式>

表示式

左到右

雙目運算子

>=

大於等於

表示式>=

表示式

雙目運算子

<  小於

表示式<

表示式

雙目運算子

<=

小於等於

表示式<=

表示式

雙目運算子

7==

等於 表示式==

表示式

左到右

雙目運算子 !=

不等於表示式

!=表示式

雙目運算子

8&

按位與

整型表示式

&整型表示式

左到右雙目運算子

9^

按位異或

整型表示式

^整型表示式

左到右雙目運算子

10|

按位或

整型表示式

|整型表示式

左到右雙目運算子

11&&

邏輯與

表示式&&

表示式

左到右

雙目運算子

12||

邏輯或

表示式||

表示式

左到右

雙目運算子

13?:

條件運算子

表示式1?表示式

2: 表示式3

右到左

三目運算子

14=

賦值運算子 變數

=表示式

右到左 /=

除后賦值 變數

/=表示式 *=

乘後賦值 變數

*=表示式 %=

取模後賦值 變數

%=表示式 +=

加後賦值 變數

+=表示式 -=

減後賦值 變數

-=表示式

<<=

左移後賦值 變數

<<=

表示式

>>=

右移後賦值 變數

>>=

表示式 &=

按位與後賦值 變數

&=表示式 ^=

按位異或後賦值 變數

^=表示式 |=

按位或後賦值 變數

|=表示式

15,

逗號運算子

表示式,表示式,…

左到右

從左向右順序運算

*優先順序一列 數字越小 優先順序越大

reference:

運算子優先順序和結合性

所謂優先順序就是當乙個表示式中有多個運算子時,先計算誰,後計算誰。這個其實我們在小學學算術的時候就學過,如1 4 2。但是c語言中的運算子已經遠不止四則運算中的加減乘除了,還有其他很多運算子。當它們出現在同乙個表示式中時先計算誰後計算誰呢?所以本節還是有必要講一下的。最後我還會將所有運算子展示出來,...

運算子優先順序和結合性

優先順序 運算子含義 運算物件個數 結合順序1 初等運算子 自左至右 下標運算子 指向結構體成員運算子 結構體成員運算子2!單目運算子 1 單目運算子 自右至左 負號 指標運算子 sizeof 型別 型別轉換運算子3 乘法算數運算子 2 雙目運算子 自左至右 4 2 雙目運算子 自左至右 5 2 雙...

運算子 優先順序 結合性

語言的運算子可分為以下幾類 1.算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 或稱模運算,自增 自減 共七種。2.關係運算子 用於比較運算。包括大於 小於 等於 大於等於 小於等於 和不等於 六種。3.邏輯運算子 用於邏輯運算。包括與 或 非 三種。4.位操作運算子 參與運算的量,按二進位...