C語言運算優先順序

2021-06-22 18:05:02 字數 2058 閱讀 1807

圓方括號、箭頭一句號, 自增自減非反負、針強位址長度,

乘除,加減,再移位,

小等大等、等等不等,

八位與,七位異,六位或,五與,四或,三疑,二賦,一真逗。

其中「,」號為乙個等級分段。

1級(左結合)

( ) 圓括號;[ ]下標運算子;->指向結構體成員運算子;. 結構體成員運算子。

2級(右結合)

「 ! 」邏輯非運算子;「 ~ 」按位取反運算子;「 ++ 」字首增量運算子;「 -- 」字首減量運算子;

「 - 」負號運算子;(型別)

型別轉換運算子;「 * 」指標運算子;「 & 」位址運算子。

3級(左結合)

「 * 」 乘法運算子;「 / 」

除法運算子;「 % 」 取餘運算子。

4級(左結合)

「 + 」加法運算子;「 - 」

減法運算子。

5級(左結合)

<< 左移運算子;>> 右移運算子。

6級(左結合)

<、<=、>、>=關係運算子。

7級(左結合)

「 == 」等於運算子;「 != 」不等於運算子。

8級(左結合)

「 & 」按位與運算子,「~「按位取反運算子」。

9級(左結合)

「 ∧ 」按位

異或運算子。

10級(左結合)

「 | 」按位或運算子。

11級(左結合)

「&&」邏輯與運算子。

12級(左結合)

「 || 」邏輯或運算子。

13級(右結合)

? :條件運算子。

14級(右結合)

=、 +=、 -=、 *=、 /=、 %=、 &=、 ^=、 |=、 <<=、 >>=賦值運算子。

15級(左結合)

「,」逗號運算子。 3.

優先順序等級注釋

「圓方括號、箭頭一句號」指的是第15級的運算子。其中圓方括號很明顯「()、」,箭頭 指的是指向結構體成員運算子「->」,句號 指的是結構體成員運算子「.」 ;

「自增自減非反負、針強位址長度」指的是第14級的運算子。其中 非 指的是邏輯運算子「!」,反 指的是按位取反運算子「~」,負 指的是負號運算子「-」,針 指的是指標運算子「*」,強 指的是

強制型別轉換運算子,位址 指的是位址運算子「&」,長度 指的是長度運算子「sizeof 」;

「乘除,加減,再移位」移位指的是左移運算子「<<」和右移運算子「>>」,其中除法還包括了 取餘運算子「%」;

「小等大等、等等不等」 指的是第10級到第9級的運算子:<、<=、>和》=,等等指的是等於運算子==,不等指的是不等於運算子!=

「八位與,七位異,六位或」其中 八位與 指的是第8級的 按位與 運算子「&」,七位異 指的是第7級的按位

異或運算子「^」,六位或 指的是第6級的按位或運算子「|」;

「五與,四或」指的是第5級、第4級的邏輯與運算子「&&」和邏輯或運算子「||」;

「三疑,二賦,一真逗」指的是第3級到第1級的運算子。其中,三疑指的是

條件運算子「?:」 (三有雙重含義:即指優先級別是三,它的運算子型別也是三目,疑也取「?」之意),二賦 指的是賦值運算子=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,一真逗 指的是第1級的「,」運算子,真字只是為了語句需要罷了。

由於c語言的運算子優先順序與

c++的不完全一樣(主要是增加了幾個運算子),所以這個口訣不能完全實用於

c++.但是應該能夠相容,大家可以比較一下他們的區別應該就能夠很快掌握c++的優先順序的!

C 運算優先順序

precedence operator description example associativity1 grouping operator array access member access from a pointer member access from an object scopin...

C語言運算子優先順序

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

c語言運算子優先順序

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