當前位置:才華齋>計算機>C語言>

C語言入門知識:運算子

C語言 閱讀(1.7W)

導語:C語言的運算子範圍很廣,下面是其運算子的相關知識,一起來看看吧:

C語言入門知識:運算子

 運算子

分為以下幾類:

1、算術運算子:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求餘(%)、自增(++)、自減(--)共七種。

2、賦值運算子:用於賦值運算,分為簡單賦值(=)、複合算術賦值(+=,-=,*=,/=,%=)和複合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

3、逗號運算子:用於把若干表示式組合成一個表示式(,)。

4、關係運算符:用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

5、邏輯運算子:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

6、條件運算子:這是一個三目運算子,用於條件求值(?:)。

7、位操作運算子:參與運算的量,按二進位制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

8、指標運算子:用於取內容(*)和取地址(&)二種運算。

9、求位元組數運算子:用於計算資料型別所佔的位元組數(sizeof)。

10、特殊運算子:有括號(),下標[],成員(→,.)等幾種。

另外,按參與運算的物件個數,C語言運算子可分為:單目運算子 (如 !)、雙目運算子 (如+,- )和三目運算子 (如 ? : )。

  算術運算子和算術表示式

  一、基本的算術運算子

(1)+(加法運算子或正值運算子,如2+5)。

(2)-(減法運算子或負值運算子,如4-2)。

(3)*(乘法運算子,如3*8)。

(4)/(除法運算子,如11/5)。

/的運算分為兩種情況:

a、“除”的左右兩邊都為整數時,所得結果必然是整數(注意:僅取整數部分,不是四捨五入)

比如:5/2的值為2,不是2.5,1/2的值為0。

b、“除”的左右兩邊至少有一個是實型資料(即小數)時,所得結果為實型資料。

比如:5/2.0的值為2.5,7.0/2.0的值為3.5.

(5)%(模運算子或稱求餘運算子,%兩側均應為整型資料,如9%7的值為2)。

需要說明的是:當運算物件為負數時,所得結果隨編譯器不同而不同,在vc中,結果的符號與被除數相同,比如:13%-2值為1,而-15%2值為-1。

 二、 算術表示式和運算子的優先順序與結合性

算術表示式是用算術運算子和括號將運算量(也稱運算元)連線起來的、符合C語言語法規則的表示式。運算物件包括函式、常量和變數等。

計算機語言中,算術表示式的求值規律與數學中的四則運算的規律類似,其運算規則和要求如下。

(1)在算術表示式中,可使用多層圓括號,但括號必須配對。運算時從內層圓括號開始,由內向外依次計算各表示式的值。

(2)在算術表示式中,對於不同優先順序的運算子,可按運算子的優先順序由高到低進行運算,若表示式中運算子的優先順序相同,則按運算子的結合方向進行運算。

(3)如果一個運算子兩側的運算元型別不同,則先利用自動轉換或強制型別轉換,使兩者具有相同型別,然後進行運算。

 三、 自增自減運算子

作用:使變數的值增1或減1。

如:++i,--i (在使用i之前,先使i的.值加1、減1)。

i++,i-- (在使用i之後,使i的值加1、減1)。

(1)只有變數才能用自增運算子 (++)和自減運算子(--),而常量或表示式不能用,如10++或(x+y)++都是不合法的。

(2)++和--的結合方向是“自右向左“,如 -i++ ,i的左邊是負號運算子,右邊是自增運算子,負號運算和自增運算都是 “自右向左“結合的,相當於 -(i++)。

在迴圈語句中常用到自增(減)運算子,在指標中也常用到該運算子,考生要弄清楚“i++”和“++i”及“i--”和“--i”的區別,特別弄清楚表示式的值和變數的值。

 賦值運算子與賦值表示式

  一、賦值運算子與賦值表示式

賦值符號 “=“就是賦值運算子,作用是將一個數據賦給一個變數或將一個變數的值賦給另一個變數,由賦值運算子組成的表示式稱為賦值表示式。一般形式為:

變數名 = 表示式

在程式中可以多次給一個變數賦值,每賦一次值,與它相應的儲存單元中的資料就被更新一次,記憶體中當前的資料就是最後一次所賦值的那個資料。

例:a=12; 此表示式讀作“將10的值賦值給變數a”。

說明:a、如果賦值號兩邊的運算物件型別不一致,系統會自動進行型別轉換,轉換的規則:將賦值號右邊表示式的值的型別轉換成賦值號左邊變數的型別,

例:int y=3.5; 在變數y中最終儲存的是整數3。

b、 可以將複製表示式的值再賦值給變數,形成連續賦值。

例如:x=y=25 是一個連續賦值表示式,x=y=25 等價於x=(y=25),所以表示式x=y=25 最終的值為25 。

 二、複合的賦值運算子

在賦值運算子之前加上其他運算子可以構成複合賦值運算子。其中與算術運算有關的複合運算子是:+=,-=,*=,/=,%= 。

兩個符號之間不可以有空格,複合賦值運算子的優先順序與賦值運算子的相同。表示式n+=1等價於n=n+1,作用是取變數n中的值增1再賦給變數n,其他複合的賦值運算子的運算規則依次類推。

如求表達a+=a-=a*a 的值,其中a的初值為12 。

步驟:

(1)先進行“a-=a*a“運算,相當於a=a-a*a=12-144=-132 。

(2)再進行“a+=-132“運算,相當於 a=a+(-132)=-132-132=-264 。