超詳細(xì)的C語言運(yùn)算符優(yōu)先級
C語言運(yùn)算符優(yōu)先級
優(yōu)先級
運(yùn)算符名稱或含義使用形式結(jié)合方向說明
1[]數(shù)組下標(biāo)數(shù)組名[常量表達(dá)式]左到右--
()圓括號(表達(dá)式)/函數(shù)名(形參表)--
.成員選擇(對象)對象.成員名--
->成員選擇(指針)對象指針->成員名--
2-負(fù)號運(yùn)算符-表達(dá)式右到左單目運(yùn)算符
~按位取反運(yùn)算符~表達(dá)式
++自增運(yùn)算符++變量名/變量名++
--自減運(yùn)算符--變量名/變量名--
*取值運(yùn)算符*指針變量
&取地址運(yùn)算符&變量名
!邏輯非運(yùn)算符!表達(dá)式
(類型)強(qiáng)制類型轉(zhuǎn)換(數(shù)據(jù)類型)表達(dá)式--
sizeof長度運(yùn)算符sizeof(表達(dá)式)--
3/除表達(dá)式/表達(dá)式左到右雙目運(yùn)算符
*乘表達(dá)式*表達(dá)式
%余數(shù)(取模)整型表達(dá)式%整型表達(dá)式
4+加表達(dá)式+表達(dá)式左到右雙目運(yùn)算符
-減表達(dá)式-表達(dá)式
5<< 左移變量<<表達(dá)式左到右雙目運(yùn)算符
>> 右移變量>>表達(dá)式
6> 大于表達(dá)式>表達(dá)式左到右雙目運(yùn)算符
>=大于等于表達(dá)式>=表達(dá)式
< 小于表達(dá)式<表達(dá)式
<=小于等于表達(dá)式<=表達(dá)式
7==等于表達(dá)式==表達(dá)式左到右雙目運(yùn)算符
!=不等于表達(dá)式!= 表達(dá)式
8&按位與表達(dá)式&表達(dá)式左到右雙目運(yùn)算符
9^按位異或表達(dá)式^表達(dá)式左到右雙目運(yùn)算符
10|按位或表達(dá)式|表達(dá)式左到右雙目運(yùn)算符
11&&邏輯與表達(dá)式&&表達(dá)式左到右雙目運(yùn)算符
12||邏輯或表達(dá)式||表達(dá)式左到右雙目運(yùn)算符
13?:條件運(yùn)算符表達(dá)式1?
表達(dá)式2: 表達(dá)式3右到左三目運(yùn)算符
14=賦值運(yùn)算符變量=表達(dá)式右到左--
/=除后賦值變量/=表達(dá)式--
*=乘后賦值變量*=表達(dá)式--
%=取模后賦值變量%=表達(dá)式--
+=加后賦值變量+=表達(dá)式--
-=減后賦值變量-=表達(dá)式--
<<=左移后賦值變量<<=表達(dá)式--
>>=右移后賦值變量>>=表達(dá)式--
&=按位與后賦值變量&=表達(dá)式--
^=按位異或后賦值變量^=表達(dá)式--
|=按位或后賦值變量|=表達(dá)式--
15,逗號運(yùn)算符表達(dá)式,表達(dá)式,…左到右--
說明:
同一優(yōu)先級的運(yùn)算符,運(yùn)算次序由結(jié)合方向所決定。
簡單記就是:! > 算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > && > || > 賦值運(yùn)算符