運(yùn)算符是一種告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作的符號(hào)。
C語(yǔ)言內(nèi)置了豐富的運(yùn)算符,大體可分為10類:算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位操作運(yùn)算符、賦值運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符、指針運(yùn)算符、求字節(jié)數(shù)運(yùn)算符和特殊運(yùn)算符。
根據(jù)運(yùn)算符可操作的操作數(shù)的個(gè)數(shù),可把運(yùn)算符分為一元運(yùn)算符、二元運(yùn)算符和多元運(yùn)算符(一般三元)。
1、算數(shù)運(yùn)算符
用于數(shù)值計(jì)算,包括:加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(++)、自減(--)。
2、關(guān)系運(yùn)算符
用于比較運(yùn)算,包括:大于(>)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)、不等于(!=)。
3、邏輯運(yùn)算符
用于邏輯運(yùn)算,包括:與(&&)、或(||)、非(!)。
4、位操作運(yùn)算符
按二進(jìn)制位進(jìn)行運(yùn)算,包括:位與(&)、位或(|)、位非(~)、 位異或(^)、左移(<<)、右移(>>)。
5、賦值運(yùn)算符
用于賦值運(yùn)算,包括:簡(jiǎn)單賦值(=)、復(fù)合算術(shù)賦值(+=、-=、*= 、/=、%=)以及復(fù)合位運(yùn)算賦值(&=、|=、^=、>>=、<<=)等。
6、條件運(yùn)算符
用于條件求值,三目運(yùn)算符:(x > y) ? x : y。C語(yǔ)言中有且只有這一個(gè)三目運(yùn)算符。
7、逗號(hào)運(yùn)算符
用于把若干表達(dá)式組合成一個(gè)表達(dá)式:表達(dá)式1 , 表達(dá)式2。
8、指針運(yùn)算符
用于取內(nèi)容(*)和取地址(&)兩種運(yùn)算。
9、求字節(jié)數(shù)運(yùn)算符
用于計(jì)算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。
10、特殊運(yùn)算符
包括括號(hào)()、數(shù)組下標(biāo)[]、成員(-> 和 .)等。
比如式子“x = 1 + 2 * 3 / 4”,需要先計(jì)算乘再計(jì)算除,然后是加,最后是賦值。這里介紹下關(guān)于運(yùn)算符在參與運(yùn)算過程中的兩個(gè)概念:
優(yōu)先級(jí):當(dāng)不同運(yùn)算符優(yōu)先級(jí)不同時(shí),先計(jì)算誰后計(jì)算誰
結(jié)合性:當(dāng)不同運(yùn)算符優(yōu)先級(jí)相同時(shí),先計(jì)算誰后計(jì)算誰
運(yùn)算符的優(yōu)先級(jí)和結(jié)合性
作為初學(xué)者,當(dāng)一個(gè)表達(dá)式中有多個(gè)運(yùn)算符時(shí),如果不知道哪個(gè)優(yōu)先級(jí)高哪個(gè)優(yōu)先級(jí)低就可以查一下優(yōu)先級(jí)表,等用的時(shí)間長(zhǎng)了自然而然就記住了。而且,事實(shí)上在編程的時(shí)候也不需要考慮優(yōu)先級(jí)的問題。因?yàn)槿绻恢纼?yōu)先級(jí)高低的話,加一個(gè)括號(hào)就可以了,因?yàn)槔ㄌ?hào)( )的優(yōu)先級(jí)是最高的。
另外,大多數(shù)運(yùn)算符的結(jié)合性都是從左往右。從右向左的一個(gè)是單目運(yùn)算符,另一個(gè)是三目運(yùn)算符,還有一個(gè)就是雙目運(yùn)算符中的賦值運(yùn)算符=。運(yùn)算符的“結(jié)合性”也不用死記,在不斷使用中就記住了。
-
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136861 -
編譯器
+關(guān)注
關(guān)注
1文章
1634瀏覽量
49134 -
數(shù)組
+關(guān)注
關(guān)注
1文章
417瀏覽量
25947
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論