C語言學習總結——操作符
分類:
算術操作符 移位操作符 位操作符 賦值操作符 單目操作符 關係操作符 邏輯操作符 條件操作符 逗號表示式
算術操作符:
+ - * / %
- 除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數。
- 對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。 對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法
- %操作符的兩個運算元必須為整數。返回的是整除之後的餘數。
移位操作符:
<< 左移操作符 >> 右移操作符 1. << 左移操作符規則:左邊拋棄、右邊補0 左移一位由乘2的效果。 若左移n位,就有乘2^n的效果。 注: 操作不會改變物件自身的值!
位操作符:
& | ^
-
& 按位與:全1為1,其餘為0
-
| 按位或:全0為0,其餘為1
-
^ 按位異或:相同為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
從左向右依次執行,整個表示式的結果是最後一個表示式的結果。