當前位置:學者齋 >

計算機 >C語言 >

C語言運算子的優先順序和結合性一覽表

C語言運算子的優先順序和結合性一覽表

C語言運算符眾多,具有不同的優先順序和結合性,將它們全部列了出來,方便大家對比和記憶,更多訊息請關注應屆畢業生網!

C語言運算子的優先順序和結合性一覽表

優先順序

運算子

名稱或含義

使用形式

結合方向

說明

1

[]

陣列下標

陣列名[常量表達式]

左到右

()

圓括號

(表示式)/函式名(形參表)

.

成員選擇(物件)

物件.成員名

->

成員選擇(指標)

物件指標->成員名

2

-

負號運算子

-表示式

右到左

單目運算子

(型別)

強制型別轉換

(資料型別)表示式

++

自增運算子

++變數名/變數名++

單目運算子

--

自減運算子

--變數名/變數名--

單目運算子

*

取值運算子

*指標變數

單目運算子

&

地址運算子

&變數名

單目運算子

!

邏輯非運算子

!表示式

單目運算子

~

按位取反運算子

~表示式

單目運算子

sizeof

長度運算子

sizeof(表示式)

3

/

表示式/表示式

左到右

雙目運算子

*

表示式*表示式

雙目運算子

%

餘數(取模)

整型表示式/整型表示式

雙目運算子

4

+

表示式+表示式

左到右

雙目運算子

-

表示式-表示式

雙目運算子

5

<<

左移

變數<<表示式

左到右

雙目運算子

>>

右移

變數>>表示式

雙目運算子

6

>

大於

表示式>表示式

左到右

雙目運算子

>=

大於等於

表示式>=表示式

雙目運算子

<

小於

表示式<表示式

雙目運算子

<=

小於等於

表示式<=表示式

雙目運算子

7

==

等於

表示式==表示式

左到右

雙目運算子

!=

不等於

表示式!= 表示式

雙目運算子

8

&

按位與

表示式&表示式

左到右

雙目運算子

9

^

按位異或

表示式^表示式

左到右

雙目運算子

10

|

按位或

表示式|表示式

左到右

雙目運算子

11

&&

邏輯與

表示式&&表示式

左到右

雙目運算子

12

||

邏輯或

表示式||表示式

左到右

雙目運算子

13

?:

條件運算子

表示式1? 表示式2: 表示式3

右到左

三目運算子

14

=

賦值運算子

變數=表示式

右到左

/=

除後賦值

變數/=表示式

*=

乘後賦值

變數*=表示式

%=

取模後賦值

變數%=表示式

+=

加後賦值

變數+=表示式

-=

減後賦值

變數-=表示式

<<=

左移後賦值

變數<<=表示式

>>=

右移後賦值

變數>>=表示式

&=

按位與後賦值

變數&=表示式

^=

按位異或後賦值

變數^=表示式

|=

按位或後賦值

變數|=表示式

15

,

逗號運算子

表示式,表示式,…

左到右

從左向右順序運算

注:同一優先順序的運算子,運算次序由結合方向所決定。

上面的'表無需死記硬背,很多運算子的規則和數學中是相同的,用得多,看得多自然就記得了。如果你是在記不住,可以使用( )。

  一些容易出錯的優先順序問題

上表中,優先順序同為1 的幾種運算子如果同時出現,那怎麼確定表示式的優先順序呢?這是很多初學者迷糊的地方。下表就整理了這些容易出錯的情況:

這些容易出錯的情況,希望讀者好好在編譯器上除錯除錯,這樣印象會深一些。一定要多除錯,光靠看程式碼,水平是很難提上來的。除錯程式碼才是最長水平的。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/jsj/cyuyan/doq0n.html