C語言----運算符及表達式

1運算符分類

  • 算數運算符
  • 關係運算符
  • 邏輯運算符
  • 位操作運算符
  • 賦值運算符
  • 條件運算符
  • 逗號運算符
  • 指針運算符
  • 求字節運算符
  • 特殊運算符

2運算符的優先級
運算符的優先級分15等級,1級最高,15級最低。
同一優先級的運算符,運算次序由結合方向所決定

!>算術運算符>關係運算符>&&>||>賦值運算符

表達式中,優先級高的的先於低的運算,優先級相同的時候,按照運算符的結合性運算。

3運算符的結合性
左結合:(算數運算符的結合方向)運算對象先與左面的運算結合。
右結合:自右至左,例如賦值運算符。

4表達式及分類
表達式:將同類型的數據(常量,變量和函數等)用運算符按照一定規則連接起來的式子。表達式一定有返回值。表達式後加分號,構成表達式語句。
分類:算術表達式、關係表達式和邏輯表達式。

5常用運算符

(1) 算數運算符(左結合):+ - * / %

兩個整數相除的結果爲整數
兩數中有一個數是float或double型數時,結果是double型,因爲所有float都按double型運算

(2)賦值運算符(右結合) =
作用:將一個數據賦給一個變量,也可以將一個表達式的值賦給一個變量。
變量 = 表達式/數據

(3) 複合賦值運算符 +=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=
先運算後賦值。

(4) 自增自減運算符 i++; i–;++i;–i;

i++和++i的區別:

前綴表達式 ++i作用和i=i+1一樣
先讓變量i自增,之後用自增之後的i值作爲表達式的值

後綴表達式 i++
先用i值作爲表達式的值,之後i的值再自增

(5) 逗號運算符

作用:把兩個表達式連接到一起,形成逗號表達式。
求值過程:分別求每個表達式的值,以最後的表達式的值作爲整個表達式的值。

逗號表達式不注重求值的結果,注重求值過程中哪些變量的值發生了變化。

(6) 關係運算符(左結合)>、<、>=、<=、==、!=
所有的數值都有真假性,非0即真,只有0爲假。
關係運算符的返回值只有0和1.

(7) 邏輯運算符 (或)||、&&(與)、(非)!

或(左結合):兩個表達式只要有一個真值,整個表達式的值就爲真。
與(左結合):兩個表達式的值都爲真,整個表達式的值才爲真。
非(右結合):非真即假,非假即真。

(8) 三目運算符(右結合) ? :

條件表達式? 表達式1:表達式2
如果條件表達式的值爲真,表達式1的值爲整個表達式的值。
如果條件表達式的值爲假,表達式2的值爲整個表達式的值。

注意:?和:是成對出現。

int max(int a,int b)  
{  
    return a>b?a:b;   
}  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章