C 運算子優先順序

2021-07-06 04:11:10 字數 4050 閱讀 6948

參考文章:

c語言運算子優先順序

優先順序

運算子

名稱或含義

使用形式

結合方向

說明

1

陣列下標

陣列名[常量表示式]

左到右--

()

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

--.

成員選擇(物件)

物件.成員名

--->

成員選擇(指標)

物件指標->成員名

--2

-

負號運算子

-表示式

右到左

單目運算子

~

按位取反運算子

~表示式

++

自增運算子

++變數名/變數名++

--

自減運算子

--變數名/變數名--

*

取值運算子

*指標變數

&

取位址運算子

&變數名

!

邏輯非運算子

!表示式

(

型別)強制型別轉換

(資料型別)表示式

--sizeof

長度運算子

sizeof(表示式)

--3

/

除表示式/表示式

左到右雙目運算子

*

乘表示式*表示式

%

餘數(取模)

整型表示式%整型表示式

4

+

加表示式+表示式

左到右雙目運算子

-

減表示式-表示式

5

<

左移變數《表示式

左到右雙目運算子

>>

右移變數》表示式

6

>

大於表示式》表示式

左到右雙目運算子

>=

大於等於

表示式》=表示式

小於表示式《表示式

<=

小於等於

表示式<=表示式

7

==

等於表示式==表示式

左到右雙目運算子

=不等於表示式!= 表示式

8

&

按位與表示式&表示式

左到右雙目運算子

9

^

按位異或

表示式^表示式

左到右雙目運算子

10

|

按位或表示式|表示式

左到右雙目運算子

11

&&

邏輯與表示式&&表示式

左到右雙目運算子

12

||

邏輯或表示式||表示式

左到右雙目運算子

13

?:

條件運算子

表示式1?

表示式2: 表示式3

右到左

三目運算子

14

=

賦值運算子

變數=表示式

右到左

--/=

除后賦值

變數/=表示式

--*=

乘後賦值

變數*=表示式

--%=

取模後賦值

變數%=表示式

--+=

加後賦值

變數+=表示式

---=

減後賦值

變數-=表示式

--<<=

左移後賦值

變數<<=表示式

-->>=

右移後賦值

變數》=表示式

--&=

按位與後賦值

變數&=表示式

--^=

按位異或後賦值

變數^=表示式

--|=

按位或後賦值

變數|=表示式

--15

逗號運算子

表示式,表示式,…

左到右--

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

例如:

#include#includeusing namespace std;

int main()

; auto pv=v.begin();

int i=0;

while(pv!=v.end())

return 0;

}

輸出結果如下:

}輸出結果為:

解析:*pv++、++*pv中,*與++都在同乙個優先順序中,由於是右結合性,

因此:*pv++等價於*(pv++),又由於是後置加加,因此是加加後並沒有增加暫存器中的pv值,所以第一次輸出值為11。詳見:關於++i與i++的總結

++*pv等價於++(*pv),pv的值一直沒變,而且又是前置加加,暫存器中的值也被加加了(即*pv==11,11+1=12),因此第一次輸出值為12,且會一直迴圈下去(例項中用i控制住了迴圈次數)。

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

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

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...

運算子優先順序 PHP運算子優先順序

php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...