1. 程式人生 > >C語言學習總結——操作符

C語言學習總結——操作符

分類:

算術操作符 移位操作符 位操作符 賦值操作符 單目操作符 關係操作符 邏輯操作符 條件操作符 逗號表示式

算術操作符:

+   -  *   /   %

  1. 除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數。
  2. 對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。 對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法
  3. %操作符的兩個運算元必須為整數。返回的是整除之後的餘數。

移位操作符:

<<   左移操作符     >>   右移操作符 1. <<   左移操作符規則:左邊拋棄、右邊補0   左移一位由乘2的效果。  若左移n位,就有乘2^n的效果。  注: 操作不會改變物件自身的值!

2.>>   右移操作符規則:  邏輯移位:左邊用0填充,右邊丟棄  算術移位:左邊用原該值的符號位填充,右邊丟棄 注:記憶體中儲存的二進位制是補碼,正數的原碼與補碼相同,負數的原碼與補碼不同。 對於移位運算子,不要移動負數位,這個是標準未定義的。

位操作符:

&    |    ^

  1. & 按位與:全1為1,其餘為0

  2. | 按位或:全0為0,其餘為1

  3. ^ 按位異或:相同為0,不同為1

注:他們的運算元必須是整數。

單目操作符:

!     邏輯反操作      &   取地址   +     正值        -  負值 sizeof   運算元的型別長度(以位元組為單位) ~      對一個數的二進位制按位取反   *    間接訪問操作符(解引用操作符) (型別)   強制型別轉換 前置、後置  ++ (--) sizeof  運算元的型別長度(以位元組為單位)

複合賦值符:

= += -= *= /= %= >>= <<= &= |= ^= 這些運算子都可以寫成複合的效果。

例: int x = 10; x = x+10; x += 10; 其他運算子一樣的道理。這樣寫更加簡潔。

關係操作符 :

> >=  <=  ==  != 注:不可將=與==混淆!

邏輯操作符:

&&      || (語句1)&&(語句2)&&(語句3)&&… 若某語句為假,則其後語句不計算。 同理: (語句1)||(語句2)||(語句3)||… 若某語句為真,則其後語句不計算。

條件操作符 :

exp1 ? exp2 : exp3

若exp1成立,則執行exp2;反之,則執行exp3。

逗號表示式 :

exp1,exp2,exp3,……expN

從左向右依次執行,整個表示式的結果是最後一個表示式的結果。