總結 C語言操作符

2021-08-15 17:50:10 字數 2841 閱讀 7132

1.+(加)

2.-(減)

3.*(乘)

4./(除)

5.%(取模)

特別說明:

(1)%操作符的兩個運算元必須是整數,返回的是整除之後的餘數,如5%2返回的是1。

(2)若/操作符的兩個運算元都是整數,則執行整數除法;若其中有運算元是浮點數,則執行浮點數除法。

<<(左移操作符)

>>(右移操作符)

移位規則:

(1)左移:(*2的效果)

左邊丟棄,右邊補0

如b=a<<1:a不變,b為a左移1位後的結果

(2)右移:(/2的效果)

邏輯移位:左邊補0,右邊丟棄

算術移位:左邊補原來的符號位,右邊丟棄(編譯器通常採用)

(3)移位不要移動負數字,這是標準未定義的。

(4)浮點數不能移位

1.&(按位與)

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表示正...