運算子優先順序表

2021-09-30 11:39:23 字數 2725 閱讀 2030

c

語言運算子優先順序

詳細列表

運算子的優先順序:c語言中,運算子的運算優先順序共分為15級。1 級最高,15級最低。在表示式中,優先順序較高的先於優先順序較低的進行運算。而在乙個運算量兩側的運算子優先順序相同時,則按運算子的結合性所規定的結合方向處理。

運算子的結合性:c語言中各運算子的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算子的結合性是自左至右,即先左後右。如有表示式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合方向就稱為「左結合性」。而自右至左的結合方向稱為「右結合性」。最典型的右結合性運算子是賦值運算子。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。c語言運算子中有不少為右結合性,應注意區別,以避免理解錯誤。

優先順序

運算子

名稱或含義

使用形式

結合方向 說明

1 陣列下標

陣列名[常量表示式]

左到右 ()

圓括號(表示式)

/函式名

(形參表)

.成員選擇(物件) 物件

.成員名

->

成員選擇(指標)

物件指標

->

成員名 2

-負號運算子 -

表示式

右到左

單目運算子 (

型別)強制型別轉換 (

資料型別

)表示式

++ 自增運算子 ++

變數名/

變數名++

單目運算子 --

自減運算子 --

變數名/

變數名--

單目運算子 *

取值運算子 *

指標變數

單目運算子 &

取位址運算子 &

變數名

單目運算子 !

邏輯非運算子 !

表示式

單目運算子 ~

按位取反運算子 ~

表示式

單目運算子

sizeof

長度運算子

sizeof(

表示式)

3 /

除 表示式/

表示式

左到右

雙目運算子 *

乘表示式

*表示式

雙目運算子 %

餘數(取模)

整型表示式

/整型表示式

雙目運算子 4

+ 加表示式

+表示式

左到右雙目運算子 -

減表示式

-表示式

雙目運算子 5

<<  左移

變數<<

表示式

左到右

雙目運算子

>>  右移

變數>>

表示式

雙目運算子 6

>  大於

表示式>

表示式

左到右

雙目運算子

>=

大於等於

表示式>=

表示式

雙目運算子

<  小於

表示式<

表示式

雙目運算子

<=

小於等於

表示式<=

表示式

雙目運算子 7

== 等於

表示式==表示式

左到右雙目運算子 !=

不等於表示式

!=表示式

雙目運算子 8

&按位與

表示式&表示式

左到右雙目運算子 9

^按位異或

表示式^表示式

左到右雙目運算子 10

|按位或

表示式|表示式

左到右雙目運算子 11

&&邏輯與

表示式&&表示式

左到右雙目運算子 12

||邏輯或

表示式||表示式

左到右雙目運算子 13

?:條件運算子

表示式1?表示式

2:表示式3

右到左

三目運算子 14

=賦值運算子 變數

=表示式

右到左

/= 除后賦值 變數

/=表示式

*= 乘後賦值 變數

*=表示式

%= 取模後賦值 變數

%=表示式

+= 加後賦值 變數

+=表示式

-= 減後賦值 變數

-=表示式

<<=

左移後賦值 變數

<<=

表示式

>>=

右移後賦值 變數

>>=

表示式 &=

按位與後賦值 變數

&=表示式

^= 按位異或後賦值 變數

^=表示式

|= 按位或後賦值 變數

|=表示式

15 ,

逗號運算子

表示式,表示式,…

左到右從左向右順序運算

說明:

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

簡單記就是:!

>

算術運算子

>

關係運算子

> && > || >

賦值運算子

運算子優先順序表

結合律 運算子 功能 使用形式左 全域性作用域 name左 類作用域 class name左 命名空間作用域 namespace name左.成員選擇 object.name 左 成員選擇 pointer member左 下標expr expr 左 函式呼叫 name expr list 左 型別構...

運算子優先順序表

題目 如果x大於0並小於65536,用移位法計算x乘以255的值?答案是 x 8 x 做題時發現對於運算子優先順序還是沒有概念,於是找來優先順序表和口訣幫助記憶。優先順序運算子 名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件...

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

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