C 運算子優先順序記憶

2021-07-04 04:02:50 字數 3335 閱讀 9723

為了方便自己記憶,將幾乎所有運算子編成口訣記憶:

圓方括號域,箭頭一句號

位反邏非長強制,正負增減值取地

乘除加減再移位,大小等等等不等

八位與九位異或,十一二邏輯與或

條件賦值後逗號

1.圓方括號域,箭頭一句號

1

陣列下標

陣列名[常量表示式]

左到右--

()

圓括號(表示式)/函式名(形參表)

--.

成員選擇(物件)

物件.成員名

--->

成員選擇(指標)

物件指標->成員名

-- 2.位反邏非長強制,正負增減值取地

2

-

負號運算子

-表示式

右到左

單目運算子

~

按位取反運算子

~表示式

++

自增運算子

++變數名/變數名++

--

自減運算子

--變數名/變數名--

*

取值運算子

*指標變數

&

取位址運算子

&變數名

!

邏輯非運算子

!表示式

(

型別)

強制型別轉換

(資料型別)表示式

--sizeof

長度運算子

sizeof(表示式)

--3、4、5乘除加減再移位

3

/

除表示式/表示式

左到右雙目運算子

*

乘表示式*表示式

%

餘數(取模)

整型表示式%整型表示式

4

+

加表示式+表示式

左到右雙目運算子

-

減表示式-表示式

5

<<

左移變數《表示式

左到右雙目運算子

6、7大小等等等不等

6

>

大於表示式》表示式

左到右雙目運算子

>=

大於等於

表示式》=表示式

<

小於表示式《表示式

<=

小於等於

表示式<=表示式

7

==

等於表示式==表示式

左到右雙目運算子

8、9 、10八位與九位異或

8

&

按位與表示式&表示式

左到右雙目運算子

9

^

按位異或

表示式^表示式

左到右雙目運算子

10

|

按位或表示式|表示式

左到右雙目運算子

11、12十一二邏輯與或

11

&&

邏輯與表示式&&表示式

左到右雙目運算子

12

||

邏輯或表示式||表示式

左到右雙目運算子

13、14、15條件賦值後逗號

13

?:

條件運算子

表示式1?

表示式2: 表示式3

右到左

三目運算子

14

=

賦值運算子

變數=表示式

右到左

--/=

除后賦值

變數/=表示式

--*=

乘後賦值

變數*=表示式

--%=

取模後賦值

變數%=表示式

--+=

加後賦值

變數+=表示式

---=

減後賦值

變數-=表示式

--<<=

左移後賦值

變數<<=表示式

-->>=

右移後賦值

變數》=表示式

--&=

按位與後賦值

變數&=表示式

--^=

按位異或後賦值

變數^=表示式

--|=

按位或後賦值

變數|=表示式

--15

逗號運算子

表示式,表示式,…

左到右--

所有的優先順序中,只有三個優先順序是從右至左結合的,它們是單目運算子、條件運算子、賦值運算子。其它的都是從左至右結合。

單目運算子,所有的單目運算子具有相同的優先順序。

**是從此處拷貝過來:

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

C 運算子優先順序與記憶口訣

優先順序 運算子名稱或含義 使用形式 結合方向 說明 1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件 成員名 成員選擇 指標 物件指標 成員名 2 負號運算子 表示式 右到左 單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名...

C 語言運算子優先順序(記憶口訣)

優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...