1. 程式人生 > >全!面!的!c語言操作符詳解

全!面!的!c語言操作符詳解

算術操作符:+ - * / %

  1. 除了%操作符以外,其他幾個操作符都可以作用與整數和浮點數
  2. 對於/操作符若兩數都是整數執行整數除法;只要有浮點數就執行浮點數除法
  3. %操作符的兩個運算元必須是整數

移位操作符:<< 左移操作符 >> 右移操作符

**左移操作符移位規則:**左邊拋棄,右邊補0 **右移操作符移位規則:**右邊丟棄,左邊補符號位(算數移位法)或者右邊丟棄,左邊補0(邏輯移位法),我們常採用算數移位法。

註釋:移位運算有時可以替換除2運算,這樣是程式效率更高

位操作符: & 按位與 | 按位或 ^ 按位異或 他們的運算元必須是整數。

複合賦值符: +=,*=,-=,/=,%=.>>=,<<=,&=,|=,^\

單目操作符: != 邏輯反操作 - 負值 + 正值 & 取地址 sizeof 運算元的型別長度,以位元組為單位,應該注意sizeof是操作符而不是函式!!! – 前置,後置– ++ 前置,後置++ *簡介訪問操作符(解引用操作符) (型別)強制型別轉換

關係操作符:>,<,>=,<=,!=,==

邏輯操作符:&&邏輯與 || 邏輯或 注意:&&和||又是短路操作符 &&:左邊式為假,則後面不在進行運算 ||:左邊式為真,則後面不再進行運算

條件操作符: exp1?exp2:exp3

**逗號表示式:**exp1,exp2,…,expn 從左向右依次執行。整個表示式結果是最後一個表示式的結果。

隱式型別轉換: **整型提升:**對於所有比int小的型別,包括char, signed char, unsigned char, short, unsigned short,首先會提升為int型別。算數轉換是在運算過程中自動完成的。

**操作符的屬性:**優先順序,結合性,是否控制求值順序。 在這裡插入圖片描述 在這裡插入圖片描述