舉個(gè)例子: 1+2*3-10 '1', '2', '3', '10'稱為操作數(shù),,'+', '*', '-'稱為運(yùn)算符,。 上面的表達(dá)式先進(jìn)行 * 運(yùn)算,再進(jìn)行 + 運(yùn)算和 - 運(yùn)算,,這是因?yàn)檫\(yùn)算符的優(yōu)先級不同,,* 的優(yōu)先級高于 + 和 -,所以先進(jìn)行 * 運(yùn)算,。 進(jìn)行 - 運(yùn)算時(shí),,是7減10,而不是10減7,,這是由運(yùn)算符的結(jié)合性決定的,,- 運(yùn)算符的結(jié)合性是從左到右。 運(yùn)算符不僅具有不同的優(yōu)先級,,還有不同的結(jié)合性,。在表達(dá)式中,各運(yùn)算量參與運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級別的規(guī)定,,還要受運(yùn)算符結(jié)合性的制約,,以便確定是自左向右進(jìn)行運(yùn)算還是自右向左進(jìn)行運(yùn)算。 C語言的運(yùn)算符可分為以下幾類: 運(yùn)算符 | 說明 | 算術(shù)運(yùn)算符 | 用于各類數(shù)值運(yùn)算,。包括加(+),、減(-),、乘(*),、除(/)、求余(或稱模運(yùn)算,,%),、自增(++)、自減(--)共七種,。 | 關(guān)系運(yùn)算符 | 用于比較運(yùn)算,。包括大于(>),、小于(<)、等于(==),、 大于等于(>=),、小于等于(<=)和不等于(!=)六種。 | 邏輯運(yùn)算符 | 用于邏輯運(yùn)算,。包括與(&&),、或(||)、非(!)三種,。 | 位操作運(yùn)算符 | 參與運(yùn)算的量,,按二進(jìn)制位進(jìn)行運(yùn)算。包括位與(&),、位或(|),、位非(~)、位異或(^),、左移(<<),、右移(>>)六種。 | 賦值運(yùn)算符 | 用于賦值運(yùn)算,,分為簡單賦值(=),、復(fù)合算術(shù)賦值(+=, -=, *=, /=, %=)和復(fù)合位運(yùn)算賦值(&=, |=, ^=, >>=, <<=)三類共十一種。 | 條件運(yùn)算符 | 這是一個(gè)三目運(yùn)算符,,用于條件求值(?:),。 | 逗號運(yùn)算符 | 用于把若干表達(dá)式組合成一個(gè)表達(dá)式(,),。 | 指針運(yùn)算符 | 用于取內(nèi)容(*)和取地址(&)二種運(yùn)算,。 | 求字節(jié)數(shù)運(yùn)算符 | 用于計(jì)算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。 | 特殊運(yùn)算符 | 有括號(),,下標(biāo)[],,成員(->,.)等幾種,。 | 完整的運(yùn)算符及其優(yōu)先級和結(jié)合性請猛擊:C語言運(yùn)算符的優(yōu)先級 表達(dá)式是由常量,、變量、函數(shù)和運(yùn)算符組合起來的式子,。一個(gè)表達(dá)式有一個(gè)值及其類型,, 它們等于計(jì)算表達(dá)式所得結(jié)果的值和類型。表達(dá)式求值按運(yùn)算符的優(yōu)先級和結(jié)合性規(guī)定的順序進(jìn)行,。單個(gè)的常量,、變量、函數(shù)可以看作是表達(dá)式的特例。 注意:雖然C語言的運(yùn)算符眾多不容易記住,,不過沒關(guān)系,,大多數(shù)情況下優(yōu)先級和結(jié)核性一目了然,編程中也很少遇到復(fù)雜的表達(dá)式,;筆者編程五年,,從未有意識地去記憶優(yōu)先級和結(jié)合性。
|