歡迎來(lái)到培訓(xùn)無(wú)憂(yōu)網(wǎng)!

全國(guó)切換

咨詢(xún)熱線 400-001-5729

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

C語(yǔ)言運(yùn)算符優(yōu)先級(jí)詳解

來(lái)源:培訓(xùn)無(wú)憂(yōu)網(wǎng)-星星 發(fā)布人:星星

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

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

C語(yǔ)言運(yùn)算符優(yōu)先級(jí)詳解

C語(yǔ)言運(yùn)算符優(yōu)先級(jí)詳解

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

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

C語(yǔ)言運(yùn)算符優(yōu)先級(jí)詳解

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

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

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

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無(wú)憂(yōu)網(wǎng)
免 費(fèi) 申 請(qǐng) 試 聽(tīng)
提交申請(qǐng),《培訓(xùn)無(wú)憂(yōu)網(wǎng)》課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專(zhuān)業(yè)課程!