1.+
(加)
2.-
(減)
3.*
(乘)
4./
(除)
5.%
(取模)
特別說明:
(1)%操作符的兩個運算元必須是整數,返回的是整除之後的餘數,如5%2返回的是1。(2)若/操作符的兩個運算元都是整數,則執行整數除法;若其中有運算元是浮點數,則執行浮點數除法。
<<
(左移操作符)
>>
(右移操作符)
移位規則:
(1)左移:(*2的效果)1.左邊丟棄,右邊補0
如b=a<<1:a不變,b為a左移1位後的結果
(2)右移:(/2的效果)
邏輯移位:左邊補0,右邊丟棄
算術移位:左邊補原來的符號位,右邊丟棄(編譯器通常採用)
(3)移位不要移動負數字,這是標準未定義的。
(4)浮點數不能移位
&
(按位與)
2.|
(按位或)
3.^
(按位異或)
例如:
5 ——>
0101
3 ——>
00115&
3 ——>
0001 ——>15
|3 ——>
0111 ——>75
^3 ——>
0110 ——>
6
特別說明:
(1)位操作符的運算元必須是整數(2)位運算都是用補碼運算
=
復合賦值符
(1)+=
(2)-=
(3)*=
(4)/=
(5)%=
(6)>>=
(7)<<=
(8)&=
(9)^=
(10)|=
!
(邏輯反操作)
-
(負值)
+
(正值)
&
(取位址)
sizeof
(運算元的型別長度,以位元組為單位)
(1)sizeof(變數),其中( )可以省略,說明sizeof不是函式,對於函式來說,它後面的( )不可以省略。(2)sizeof(型別),其中( )不可以省路,此時sizeof仍不是函式。
(3)sizeof( )內部的表示式不參與計算
例如:int a=10 , b=20; sizeof(b=a+5 );
程式執行完後:a為10,b為20
sizeof(b=a+5)在編譯期間就已經運算,根據表示式的型別屬性計算可得出4;而變數a和b在鏈結時才開始建立,b=a+5沒有機會去執行,故而a和b不變。
~
(對乙個數的二進位制按位取反)
--
(前置、後置- -)
(1)- -a :a先自減,再使用a(2)a- - :先使用a,a再自減
++
(前置、後置++)
(1)++a :a先自增,再使用a(2)a++:先使用a,a再自增
*
(間接訪問操作符,解引用操作符)
(型別)
(強制型別轉換)
>
>=
<
<=
!=
(不相等)
==
(相等)
&&
(邏輯與)
a&&b:a和b都為真時,結果為真,否則為假
||
(邏輯或)
a||b:a和b都為假時,結果為假,否則為真
!
(邏輯反)
exp1 ? exp2 : exp3
exp1為真,整個表示式的結果為exp2的結果,否則為exp3的結果。
exp1 , exp2 , exp3 , ...
從左向右依次執行,整個表示式的結果是最後乙個表示式的結果,而且前面的運算會影響到最後乙個表示式的結果。
十、下標引用、函式呼叫和結構成員
運算元:乙個陣列名 + 乙個索引值
例如:arr[10],[ ]的運算元是arr和10
()
函式呼叫操作符,接受乙個或多個運算元,第乙個運算元是函式名,剩餘的運算元就是傳遞給函式的引數。
訪問乙個結構的成員
(1).
結構體 . 成員名
(2)->
結構體指標 -> 成員名
C語言操作符總結
c語言操作符總結 1.算數操作符 有浮點數則為浮點除法 全為整形 2.移位操作符 所有的移位操作符都是二進位制移位 左移 效果 左邊拋棄右邊補0.右移 效果 1 符號位 算術移位 原該值的符號位 2 0 邏輯移位 警告 不要移動負數字 3.位操作符 按位與 按位或 按位異或 注意 全都為二進位制位操...
C語言 操作符總結
1.運算操作符 加 可作為正號 例 a b 4 減 可作為正號 例 a b 5 乘 例 a b 除 例 a b 注意 分母不能為零 取餘 運算操作符的使用方法,基本與數學上的使用一致 2.賦值操作符 例 a 2 可讀為將2賦給a 注意 從右向左進行運算 3.其他符賦值操作符 例 a 1 相當於 a ...
C語言操作符總結
1.操作符的兩個運算元必須為整數,返回的是整除後的餘數。2.對於 操作符,如果兩個運算元都是整數則執行整數除法,只要有浮點數就執行浮點數除法。左移操作符 右移操作符 左邊拋棄,右邊補0 右移分為兩種 1.邏輯移位 左邊用0補,右邊丟棄 2.算術移位 左邊用原來的符號位填充,右邊丟棄 符號位中0表示正...