《C語言運算符優(yōu)先級 詳細列表》由會員分享,可在線閱讀,更多相關(guān)《C語言運算符優(yōu)先級 詳細列表(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注!
C語言運算符優(yōu)先級 詳細列表
運算符的優(yōu)先級:C語言中,運算符的運算優(yōu)先級共分為15 級。1 級最高,15級最低。在表達式中,優(yōu)先級較高的先于優(yōu)先級較低的進行運算。而在一個運算量兩側(cè)的運算符優(yōu)先級相同時,則按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理。
運算符的結(jié)合性:C語言中各運算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)合性(自右至左)。例如算術(shù)運算符的結(jié)合性是自左至右,即先左后右。如有表達式x-y+z 則y 應(yīng)先與“-”號結(jié)合,執(zhí)行x-y 運算,然后再執(zhí)行+z 的運算。這種自左至右的結(jié)合方向就稱為“左結(jié)合性”。而自右
2、至左的結(jié)合方向稱為“右結(jié)合性”。 最典型的右結(jié)合性運算符是賦值運算符。如x=y=z,由于“=”的右結(jié)合性,應(yīng)先執(zhí)行y=z 再執(zhí)行x=(y=z)運算。C語言運算符中有不少為右結(jié)合性,應(yīng)注意區(qū)別,以避免理解錯誤。
優(yōu)先級
運算符
名稱或含義
使用形式
結(jié)合方向
說明
1
[]
數(shù)組下標
數(shù)組名[常量表達式]
左到右
()
圓括號
(表達式)/函數(shù)名(形參表)
.
成員選擇(對象)
對象.成員名
->
成員選擇(指針)
對象指針->成員名
2
-
負號運算符
-表達式
右到左
單目運算符
(類型)
強制
3、類型轉(zhuǎn)換
(數(shù)據(jù)類型)表達式
++
自增運算符
++變量名/變量名++
單目運算符
--
自減運算符
--變量名/變量名--
單目運算符
*
取值運算符
*指針變量
單目運算符
&
取地址運算符
&變量名
單目運算符
!
邏輯非運算符
!表達式
單目運算符
~
按位取反運算符
~表達式
單目運算符
sizeof
長度運算符
sizeof(表達式)
3
/
除
表達式/表達式
左到右
雙目運算符
*
乘
表達式*表達式
雙目運算符
%
余數(shù)(取模)
整型表達式/整型表達式
雙目運算符
4
+
加
4、
表達式+表達式
左到右
雙目運算符
-
減
表達式-表達式
雙目運算符
5
<<
左移
變量<<表達式
左到右
雙目運算符
>>
右移
變量>>表達式
雙目運算符
6
>
大于
表達式>表達式
左到右
雙目運算符
>=
大于等于
表達式>=表達式
雙目運算符
<
小于
表達式<表達式
雙目運算符
<=
小于等于
表達式<=表達式
雙目運算符
7
==
等于
表達式==表達式
左到右
雙目運算符
!=
不等于
表達式!= 表達式
雙目運算符
8
&
按位與
表達式&表達式
左到右
雙目運算符
5、
9
^
按位異或
表達式^表達式
左到右
雙目運算符
10
|
按位或
表達式|表達式
左到右
雙目運算符
11
&&
邏輯與
表達式&&表達式
左到右
雙目運算符
12
||
邏輯或
表達式||表達式
左到右
雙目運算符
13
?:
條件運算符
表達式1? 表達式2: 表達式3
右到左
三目運算符
14
=
賦值運算符
變量=表達式
右到左
/=
除后賦值
變量/=表達式
*=
乘后賦值
變量*=表達式
%=
取模后賦值
變量%=表達式
+=
加后賦值
變量+=表達式
-=
減后賦值
變量-=表達式
<<=
左移后賦值
變量<<=表達式
>>=
右移后賦值
變量>>=表達式
&=
按位與后賦值
變量&=表達式
^=
按位異或后賦值
變量^=表達式
|=
按位或后賦值
變量|=表達式
15
,
逗號運算符
表達式,表達式,…
左到右
從左向右順序運算
說明:
同一優(yōu)先級的運算符,運算次序由結(jié)合方向所決定。
簡單記就是:! > 算術(shù)運算符 > 關(guān)系運算符 > && > || > 賦值運算符
3 / 3