C語言中的運算符

C語言中的運算符

一、運算符

1、  算術運算符:+  -  *  /  %

2、  賦值運算符:賦值運算符用“=”來給變量賦值。注意,在C語言中“=”不表示相等,而只是一個運算符。

3、  增量和減量運算符:

在程序開發中,我們經常需要對一個變量的值執行加1或者減1的操作。例如:

 x = x + 1;

 x = x – 1;      

爲簡化這種操作,C語言提供了增量運算符“++”和減量運算符“- -”。

根據運算符與操作數在表達式中的位置關係,分爲前綴形式和後綴形式兩種用法。


(1)前綴形式(大於任何運算符)

當運算符出現在它作用的變量的前面,稱爲前綴形式,表示變量在使用前自動加1或減1。其語法形式爲:

 + +變量

 - -變量     

(2)後綴形式(小於任何運算符)

當運算符出現在它作用的變量的後面時,稱爲後綴形式,表示變量在使用後自動加1或減1。其語法形式爲:

 變量+ +

 變量- -     

使用自增自減運算符時應注意:

++,- -運算只能作用於變量,不能用於表達式或常量。

 

例題1:int  a = 6;

        a=(++a)+(a++); 

        求輸出的a的值。      

分析:a、由於前綴形式大於任何運算符,所以優先計算++a,得出++a爲7,此時的a也爲7

            b、再者,由1知a爲7,所以a++爲7(a++意思是先將a賦值,最後再自加)

            c、根據1、2知最後結果爲7+7+1

            計算如圖所示:

例題2:int  a = 6;

        a=a+(++a)+(- -a)-(a++)

        求輸出的a的值。

分析:a、由於前綴形式大於任何運算符,所以優先計算++a,得出++a爲7,此時的a也爲7

            b、由於計算機太“笨”,要從左到右以此計算,所以算出a+(++a)的值爲7+7=14

            c、此時,在計算- -a的值,由1得a的值爲7,所以- -a的值爲6,a也爲6,所以計算出a+(++a)+(--a)的值爲14+6=20

            d、最後一步有一個(a++)表示將第3步中a的值6,先賦值給a後,自身在加1,所以得出的結果是20-6+1=15

            計算如圖所示:


 例題3:如圖所示:

 


4、  關係運算符

        = =等於  !=不等於  > 大於  < 小於  >= 大於等於  <= 小於等於


5、  邏輯運算符

         &&邏輯與(一錯全錯)

          || 邏輯或(兩個錯才全錯)

         ! 邏輯非


6、  條件運算符

         一般形式爲:  表達式1  ?  表達式2:表達式3

         解釋:若滿足表達式1,則執行表達式2,否則執行表達式3


7、數據類型強制轉換運算符

(1)自動類型轉換

          基本規則如下:

      a、當出現在表達式裏時,有符號和無符號的char和short類型都將自動被轉換爲int,在需要的情況下,將自動被轉換爲unsigned  int。

      b、在包含兩種數據類型的任何運算裏,兩個值都將被轉換成兩種類型裏較高的級別

      c、類型級別從高到低的順序是:double、float、long、int

      d、在賦值語句裏,計算的最後結果被轉換成將要被賦予值的那個變量的類型。

      e、當作爲函數的參數被傳遞時,char和short會被轉化爲int,float會被轉換爲double。

(2)強制轉換

         強制類型轉換運算符的使用形式爲:

       (type)表達式


8、特殊運算符

(1)長度運算符sizeof

(2)取址運算符&

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章