c語言運算符優先級

圓下箭頭一頓號

非凡增減富強針地長

三乘除,四加減,五移位

千萬別把魚忘記,它在盛飯的廚子里

小燈大燈燈燈不等

爸喂魚,舅疑惑,裸雞也疑惑

十三姨,十四父,十五逗,兜到低

“圓下箭頭一頓號”指的是第15級的運算符。其中圓指的是運算符(),下指的是下標運算符[],箭頭指的是指向結構體成員運算符->,頓號指的是結構體成員運算符、

“非凡增減富強針地長”指的是第14級的運算符。其中非指的是邏輯運算符!,凡指的是按位取反運算符~,增減指的是自增和自減運算符++和--,富指的是負號運算符-,強指的是類型轉換運算符(類型),針指的是指針運算符*,地指的是地址運算符&,長指的是長度運算符Sizeof

“三乘除,四加減,五移位” 指的是第13級到第11級的運算符。其中三四五并無實際意義,只是起區分級別而已。也可以想象三指的是第13級運算符。乘除指的是乘法運算符*和除法運算符/,加減指的是加法運算符+和減法運算符-,移位指的是左移運算符<<和右移運算符>>

“千萬別把魚忘記,它在盛飯的廚子里”指的是求余運算符%,它位于盛飯的廚子里,即指和乘法運算符、除法運算符在一起。

“小燈大燈燈燈不等” 指的是第10級到第9級的運算符。其中小燈大燈指的是關系運算符<、<=、>和>=,燈燈指的是等于運算符==,不等指的是不等于運算符!=

“爸喂魚,舅疑惑,裸雞也疑惑”指的是第8級到第4級的運算符。其中,爸喂魚之指的是第8級的按位與運算符&,舅疑惑指的是第7級的按位異或運算符^和第6級的按位或運算符||,裸雞也疑惑指的是第5級、第4級的邏輯與運算符&&和邏輯或運算符||

“十三姨,十四父,十五逗,兜到低”指的是第3級到第1級的運算符。其中,十三姨指的是條件運算符?: (三有雙重含義,即指?:的優先級別是三,它的運算符類型也是三目,?難道不是姨即疑惑嗎?),十四父的十四沒有實際意義,父指的是賦值運算符=、+=、-=、*=、/=、%=、>>=、<<=、&=、^=和|= ,十五逗指的是第1級的運算符,兜到低指的是15級運算符以,結束。

附錄:C語言運算符及優先級

優先級??????? 運算符??????? 含義????????????????? 運算符類型?????? 結合方向

15??????????? ()?????? ? ? ?? 圓括號??????????????????????????? 單目?????????? 自左向右

??????????????????? []??????? 下標運算符

??????????????????? —>??????? 指向結構體成員運算符

???????????????????? 、??????? 結構體成員運算符

14??????? !??????? 邏輯非運算符??????????????????????????????????????? 自右向左

????????????? ~??????? 按位取反運算符

?????????????? ++??????? 自增運算符

??????????????? --??????? 自減運算符

???????????????? -??????? 負號運算符

??????????? (類型)??????? 類型轉換運算符

???????????????? *??????? 指針運算符

???????????????? &??????? 地址運算符

????????????? Sizeof??????? 長度運算符

13???? ? ? ? ? *??????? 乘法運算符??????????????????????????? 雙目????????? 自左向右

????????????????? /??????? 除法運算符

????????????????? %??????? 求余運算符

12??? ? ? ?? ?? +??????? 加法運算符

??????????????????? -??????? 減法運算符

11??? ? ? ? ?? <<??????? 左移運算符

?????????????????? >>??????? 右移運算符

10????? ? ? ? <、<=、>、>=??????? 關系運算符

9???? ? ? ? ? ? ? ==??????? 等于運算符

????????????????? !=??????? 不等于運算符

8????? ? ? ? ? ? ?? &??????? 按位與運算符

7????? ? ? ? ? ? ?? ^??????? 按位異或運算符

6???? ? ? ? ? ? ? ? |??????? 按位或運算符

5??? ? ? ? ? ? ? ? &&??????? 邏輯與運算符

4??? ? ? ? ? ? ? ? ?? ||??????? 邏輯或運算符

3????? ? ? ? ? ? ? ?:??????? 條件運算符????????????????????????? 三目????????? 自右向左

2????? ? ? ? ? =、+=、-=、*=、

?????????? /=、%=、>>=、

?????????? <<=、&=、^=、|=?? 賦值運算符???????? 雙目

1?????? ? ? ? ? ?? ,??????? 逗號運算符????????????????????????????? 雙目???????? 自左向右

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容