1. 程式人生 > >C語言-操作符歸納

C語言-操作符歸納

操作符

指令系統的每一條指令都有一個操作符,它表示該指令應進行什麼性質的操作。不同的指令用操作符這個欄位的不同編碼來表示,每一種編碼代表一種指令。組成操作符欄位的位數一般取決於計算機指令系統的規模。 C語言中的操作符有位操作符、算術操作符、賦值操作符等。

1. 位操作符

’<<’—左移位 把一個數的二進位制位整體向左移動N個位。 例如:n=5<<2 把5的二進位制向左移動兩位 ’>>’—右移位 把一個數的二進位制位整體向右移動N個位。

  • 分為算術右移和邏輯右移 ,算術右移是指整體向右移,給左邊的空缺位補充符號位;邏輯右移是指整體向右移,給左邊的空缺位補充0.(取決於編譯器,一般多是算術右移)。
  • 左移一位等同於於給原數字*2;右移一位相當於(不是等同於)給原數字/2; (-1>>1=-1)

’&’’|’’^’—和、或、與

  • 運算元必須為int型
  • a^a=0;可以用來求取只出現一次的數。
  • a&1;求的a的最後一位是否為1。

2. 算術操作符 ’+’、’-’、’*’、’/’、’%’

  • 上述操作符均是雙目運算子,且除了‘%’(取模運算子)都可以操作int型和float型。3.0/4的結果是浮點型;3/4的結果是整形;

  • ‘/’—取整運算子;’%’—取模運算子;n%10取得n的最後一位數字,n/10得到捨去最後一位後的數字,兩個組合可以輸出數字的每一位,另外%2、/2也可以輸出一個數的二進位制序列;

3. 賦值操作符 ’+=’ ‘-=’ ‘*=’ ‘/=’ ‘^=’ ‘%=’ ‘|=’ ‘&=’ ‘sizeof’ ‘~’ ‘- -’ ‘++’ ‘!=’ ‘()’等

  • ‘- -’ '++'需要注意前置和後置,影響結果。
  • ‘~’—按位取反;可以把a的二進位制第n位改為1 。

4. 關係操作符 ‘&&’ ‘||’—和、或

  • 注意區分&&和&,|和||;

  • 使用時注意“短路”現象,口訣:&&為0則停,||為1則停;

5. 逗號表示式 exp1,exp2,…,expn

  • 逗號運算子一定要從左到右依次運算,雖然以最後一個表示式為整個表示式的結果,但不要只計算最後一個表示式。

6.條件運算子 exp1?exp2:exp3;

  • 相當於if語句的功能,exp1為真,則執行exp2,反之執行exp3 。

7. 特殊的操作符 [ ]—下標引用操作符

  • 運算元為2個:下標數、陣列名,arr[0]和0[arr]和arr[]0都是正確的。

‘·’、‘->’—訪問結構成員

  • 用於訪問結構體變數的成員。

操作符優先順序

  • 表格來自於網路非原創

在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述 在這裡插入圖片描述

在這裡插入圖片描述 在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述

寧靜致遠