資源描述:
《c語言運算符號》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、helicon83實習(xí)小編 一級
2、消息(1)
3、我的百科
4、我的知道
5、百度首頁
6、退出我的百科我的貢獻草稿箱我的任務(wù)為我推薦新聞網(wǎng)頁貼吧知道MP3圖片視頻百科文庫窗體頂端窗體底端幫助設(shè)置首頁自然文化地理歷史生活社會藝術(shù)人物經(jīng)濟科學(xué)體育核心用戶五周年NBAC語言運算符百科名片運算符是告訴編譯程序執(zhí)行特定算術(shù)或邏輯操作的符號。C語言的運算范圍很寬,把除了控制語句和輸入輸出以外的幾乎所有的基本操作都作為運算符處理。主要分為三大類:算術(shù)運算符、關(guān)系運算符與邏輯運算符、按位運算符。除此之外,還有一些用于完成特殊任務(wù)的運算符。目錄C語言運算符分類運算符優(yōu)先
7、級與結(jié)合性運算符優(yōu)先級等級口訣及注釋運算符優(yōu)先級等級口訣運算符優(yōu)先級等級注釋運算符應(yīng)用舉例C語言運算符分類運算符優(yōu)先級與結(jié)合性運算符優(yōu)先級等級口訣及注釋運算符優(yōu)先級等級口訣運算符優(yōu)先級等級注釋運算符應(yīng)用舉例展開編輯本段C語言運算符分類 1級優(yōu)先級(左結(jié)合) ()圓括號;[]下標(biāo)運算符;->指向結(jié)構(gòu)體成員運算符;.結(jié)構(gòu)體成員運算符。 2級優(yōu)先級(右結(jié)合) !邏輯非運算符;~按位取反運算符;++前綴增量運算符;--前綴減量運算符;+正號運算符;-負號運算符;(類型)類型轉(zhuǎn)換運算符;*指針運算符;&地址運算符;sizeof長度運算符?!?/p>
8、 3級優(yōu)先級(左結(jié)合) *乘法運算符;/除法運算符;%取余運算符?! ?級優(yōu)先級(左結(jié)合) +加法運算符;-減法運算符。 5級優(yōu)先級(左結(jié)合) <<左移運算符;>>右移運算符?! ?級優(yōu)先級(左結(jié)合) <、<=、>、>=關(guān)系運算符?! ?級優(yōu)先級(左結(jié)合) ==等于運算符;!=不等于運算符?! ?級優(yōu)先級(左結(jié)合) &按位與運算符?! ?級優(yōu)先級(左結(jié)合) ^按位異或運算符?! ?0級優(yōu)先級(左結(jié)合)
9、按位或運算符?! ?1級優(yōu)先級(左結(jié)合) &&邏輯與運算符。 12級優(yōu)先級(左結(jié)合)
10、
11、邏輯或運算符?! ?3
12、級優(yōu)先級(右結(jié)合) ?:條件運算符。 14級優(yōu)先級(右結(jié)合) =、+=、-=、*=、/=、%=、&=、^=、
13、=、<<=、>>=賦值運算符?! ?5級優(yōu)先級(左結(jié)合) ,逗號運算符。編輯本段運算符優(yōu)先級與結(jié)合性 運算符的優(yōu)先級:C語言中,運算符的運算優(yōu)先級共分為15級。1級最高,15級最低。在表達式中,優(yōu)先級較高的先于優(yōu)先級較低的進行運算。而在一個運算量兩側(cè)的運算符優(yōu)先級相同時,則按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理。 運算符的結(jié)合性:C語言中各運算符的結(jié)合性分為兩種,即左結(jié)合性(自左至右)和右結(jié)合性(自右至左)。例如算術(shù)運算
14、符的結(jié)合性是自左至右,即先左后右。如有表達式x-y+z則y應(yīng)先與“-”號結(jié)合,執(zhí)行x-y運算,然后再執(zhí)行+z的運算。這種自左至右的結(jié)合方向就稱為“左結(jié)合性”。而自右至左的結(jié)合方向稱為“右結(jié)合性”。最典型的右結(jié)合性運算符是賦值運算符。如x=y=z,由于“=”的右結(jié)合性,應(yīng)先執(zhí)行y=z再執(zhí)行x=(y=z) 運算。C語言運算符中有不少為右結(jié)合性,應(yīng)注意區(qū)別,以避免理解錯誤?! ?yōu)先級從上到下依次遞減,最上面具有最高的優(yōu)先級,逗號操作符具有最低的優(yōu)先級?! ∷械膬?yōu)先級中,只有三個優(yōu)先級是從右至左結(jié)合的,它們是單目運算符、條件運算符、賦值運算符
15、。其它的都是從左至右結(jié)合。 具有最高優(yōu)先級的其實并不算是真正的運算符,它們算是一類特殊的操作。()是與函數(shù)相關(guān),[]與數(shù)組相關(guān),而->及.是取結(jié)構(gòu)成員。 其次是單目運算符,所有的單目運算符具有相同的優(yōu)先級,因此在我認為的真正的運算符中它們具有最高的優(yōu)先級,又由于它們都是從右至左結(jié)合的,因此*p++與*(p++)等效是毫無疑問的?! ×硗庠贑語言里,沒有前置后置之分,因為++--是右結(jié)合所以右側(cè)優(yōu)先運算,表現(xiàn)為"操作數(shù)后置優(yōu)先級比較高"的假象,前置和后置的區(qū)分是因為運算符重載而后加入C++的 接下來是算術(shù)運算符,*、/、%的優(yōu)先級當(dāng)然
16、比+、-高了。 移位運算符緊隨其后?! ∑浯蔚年P(guān)系運算符中,<<=>>=要比==!=高一個級別,不大好理解。 所有的邏輯操作符都具有不同的優(yōu)先級(單目運算符除外,!和~) 邏輯位操作符的"與"比"或"高,而"異或"則在它們之間。 跟在其后的&&比
17、
18、高?! 〗酉聛淼氖菞l件運算符,賦值運算符及逗號運算符?! ≡贑語言中,只有4個運算符規(guī)定了運算方向,它們是&&、
19、
20、、條件運算符及賦值運算符?! ?&、
21、
22、都是先計算左邊表達式的值,當(dāng)左邊表達式的值能確定整個表達式的值時,就不再計算右邊表達式的值。如a=0&&b;&&運算符的左邊位0,
23、則右邊表達式b就不再判斷?! ≡跅l件運算符中。如a?b:c;先判斷a的值,再根據(jù)a的值對b或c之中的一個進行求值?! ≠x值表達式則規(guī)定先對右邊的表達式求值,因此使a=b=c=6;成為可能。編輯