歡迎來到培訓無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網(wǎng) > 新聞資訊 > 電腦/IT > c語言 >  C語言運算符優(yōu)先級詳解

C語言運算符優(yōu)先級詳解

來源:培訓無憂網(wǎng)-星星 發(fā)布人:星星

2021-12-01 13:54:59|已瀏覽:648次

優(yōu)先級
       在c語言的表達式中,如果存在多個運算符的時候,需要考慮數(shù)據(jù)的優(yōu)先級和結(jié)合方向的問題,例如:x = a + b * c -d在這個例子中,c語言的處理流程是:
1)先做乘法b*c,
2) 然后先做加法,后做減法
3)最后將計算結(jié)果賦值給x
      我們驗證一下:1 + 2 *3 -4,結(jié)果為3,驗證成功!

C語言運算符優(yōu)先級詳解

C語言運算符優(yōu)先級詳解

      通過這個例子,我們可以總結(jié)如下:對于表達式a op1 b op2 c ,它的運行邏輯有兩種可能性:
1) 如果op1優(yōu)先級高于op2,則為:(a op1 b) op2 c
2) 如果op2優(yōu)先級高于op1,則為:a op1 (b op2 c)
3)如果op1與op2優(yōu)先級相同,則取決于結(jié)合方向。所謂結(jié)合方向指的是“從左至右”或“從右至左”。
結(jié)合方向
       關(guān)于結(jié)合方向,我們一起來探討一下,還是剛剛的例子:x = a+b *c -d,這里面有二元運算和賦值運算,在c語言中:
· 賦值運算的結(jié)合方向為:從右至左
· 二元運算符的結(jié)合方向為:從左至右
      我們假設 b*c 的值為m,則,
· a + m -d 可以翻譯為 (a + m) -d,,結(jié)合方向是從左至右
· x = a + m -d 可以翻譯為: x = (a + m -d),結(jié)合方向是從右至左

       在C/C++中,所有的運算符都有明確的優(yōu)先級和結(jié)合方向定義,具體如下:

C語言運算符優(yōu)先級詳解

         本文由培訓無憂網(wǎng)達內(nèi)教育課程顧問老師整理發(fā)布,更多C語言課程信息可關(guān)注C語言培訓頻道或添加老師微信:15033336050

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://elsolbar.com/news-id-5777.html 違者必究!部分文章來源于網(wǎng)絡由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注c語言頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機:

  • 地區(qū):

  • 想學什么:

  • 培訓無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!