C語言運算子優先順序口訣

2021-08-28 10:26:43 字數 3351 閱讀 5718

基本的優先順序需要記住:

指標最優,單目運算優於雙目運算。如正負號。

先乘除(模),後加減。

先算術運算,後移位運算,最後位運算。

請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7.

邏輯運算最後計算。

c語言常用運算子的優先順序口訣是:「單算關邏條賦逗」;

如果加入位運算子,完整口訣是:「單算移關與,異或邏條賦」。

■「算」表示算術運算子:乘、除和求餘(*,/,%)級別高於加減(+,-);

■「移」表示按位左移(<<)和位右移(>>);

■「關」表示關係運算子:大小關係(>,>=,<,<=)級別高於相等不相等關係(==,!=);

■「與」表示按位與(&);

■「異」表示按位異或(^);

■「或」表示按位或(|);

■「邏」表示邏輯運算子:邏輯與(&&)級別高於邏輯或(||);

■「條」表示條件運算子(? :);

■「賦」表示賦值運算子(=,+=,-=,*=,/=,%=,>>=,<<=,&=,^=, |=,!=);

◆另,逗號運算子(,) 級別最低,口訣中沒有表述,需另加記憶..

優先順序

運算子

名稱或含義

使用形式

結合方向 說明

1

後置++

後置自增運算子

變數名++

左到右

後置--

後置自減運算子

變數名--

[ ]

陣列下標

陣列名[整型表示式]

( )

圓括號

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

.

成員選擇(物件)

物件.成員名

->

成員選擇(指標)

物件指標->成員名

2-

負號運算子

-表示式

右到左單目運算子

(型別)

強制型別轉換

(資料型別)表示式

前置++

前置自增運算子

++變數名

單目運算子

前置--

前置自減運算子

--變數名

單目運算子 *

取值運算子

*指標表示式

單目運算子 &

取位址運算子

&左值表示式

單目運算子 !

邏輯非運算子

!表示式

單目運算子 ~

按位取反運算子

~表示式

單目運算子

sizeof

長度運算子

sizeof 表示式/sizeof(型別)

3/

除 表示式/表示式

左到右雙目運算子 *

乘表示式*表示式

雙目運算子 %

餘數(取模)

整型表示式%整型表示式

雙目運算子

4+

加 表示式+表示式

左到右雙目運算子 -

減表示式-表示式

雙目運算子

5

<<  左移

表示式《表示式

左到右雙目運算子

>>  右移

表示式》表示式

雙目運算子

6

>  大於

表示式》表示式

左到右雙目運算子

>=

大於等於

表示式》=表示式

雙目運算子

<  小於

表示式《表示式

雙目運算子

<=

小於等於

表示式<=表示式

雙目運算子

7==

等於 表示式==表示式

左到右雙目運算子 !=

不等於表示式!= 表示式

雙目運算子

8&

按位與

整型表示式&整型表示式

左到右雙目運算子

9^

按位異或

整型表示式^整型表示式

左到右雙目運算子

10|

按位或

整型表示式|整型表示式

左到右雙目運算子

11&&

邏輯與

表示式&&表示式

左到右雙目運算子

12||

邏輯或

表示式||表示式

左到右雙目運算子

13?:

條件運算子

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

右到左三目運算子

14=

賦值運算子

變數=表示式

右到左

/= 除后賦值

變數/=表示式

*= 乘後賦值

變數*=表示式

%= 取模後賦值

變數%=表示式

+= 加後賦值

變數+=表示式

-= 減後賦值

變數-=表示式

<<=

左移後賦值

變數<<=表示式

>>=

右移後賦值

變數》=表示式

&= 按位與後賦值

變數&=表示式

^= 按位異或後賦值

變數^=表示式

|= 按位或後賦值

變數|=表示式

15,

逗號運算子

表示式,表示式,…

左到右從左向右順序運算

轉換說明符:

%a(%a) 浮點數、十六進製制數字和p-(p-)記數法(c99)

%c 字元

%d 有符號十進位制整數

%f 浮點數(包括float和doulbe)

%e(%e) 浮點數指數輸出[e-(e-)記數法]

%g(%g) 浮點數不顯無意義的零"0"

%i 有符號十進位制整數(與%d相同)

%u 無符號十進位制整數

%o 八進位制整數 e.g. 0123

%x(%x) 十六進製制整數0f(0f) e.g. 0x1234

%p 指標

%s 字串

%% "%"

C語言運算子的「優先順序口訣」

c語言運算子的 優先順序口訣 希望對初學c語言的同志有所幫助 當然,應用這個口訣的前提是你認識所有的c語言的運算子。優先訣括號成員第一 括號運算子 成員運算子 全體單目第二 所有的單目運算子比如 正 負 指標運算 乘除餘三,加減四 這個 餘 是指取餘運算即 移位五,關係六 移位運算子 關係 等 等於...

C語言運算子優先順序和口訣

因運算子的優先順序順序不太好記憶,且易造成一些費解的問題。經整理後,希望對大家有所幫助 序號 運算子 口訣 01 圓括號 陣列下標 成員選擇 物件 成員選擇 指標 括號成員第一,全體單目第二 02 自增 自減 正 負 邏輯非 取反 取位址 sizeof 長度 取值 type 強制型別 03 乘 除 ...

C語言運算子優先順序和口訣

一共有十五個優先順序 1 2 負號 取變數位址 type 強制型別 sizeof 3 4 5 6 7 8 9 10 11 12 13 14 15 就著多吧 結合性 2 13 14 是從右至左 其他都是 從左至右有問題可以在交流的 共同進步 括號成員第一 括號運算子 成員運算子.全體單目第二 所有的單...