C 語言中操作符總結(上)

2021-08-30 15:29:09 字數 2416 閱讀 4951

算數操作符

常見的算術操作符:

加(+)、減( - )、乘( * )、除( / )、取模( % )

注意事項:

1.1 取模( % ) 操作符不能作用於 浮點數外,其餘的幾個操作符可以作用於 整數 和 浮點數

1.2 對於除( / )操作符,如果兩個運算元都是 整數,則執行整數除法。而只要兩個運算元中有 浮點數 ,那麼就執行的是浮點數除法。

1.3 取模( % ) 操作符作用的兩個運算元 都 必須為 整數 。返回的是整除後的餘數。即:% 只能對於整數取模!(如:9 % 3 == 0)(而:9.0 % 3 .0 == 0.0 是錯誤的)

注:算術操作符的運算元為2

移位操作符

移位操作 就是對運算元的二進位製碼進行左(右)移位操作

常見的移位操作符:

左移操作符( >> ) 、右移操作符( >> )

左移操作符

把 num左移 n 位:num << n;

移位規則:

左邊拋棄,右邊補0。

如:

右移操作符

把 num 右移 n 位:num >> n;

移位規則:

首先,右移運算分為兩種:邏輯移位 和 算術移位。

1、邏輯移位

右邊拋棄,左邊補 0。

如:

2、算術移位

右邊拋棄,左邊用原該值的符號位填充。

由於乙個數可能是正數也可能是負數,所以在進行移位操作時一定要保持它的正負不變。

這裡我們必須知道:1. 數字在記憶體中的儲存方式是以 二進位制 的 補碼 進行儲存的,運算的時候也是用 補碼 進行運算的。2. 正數的 原碼 和 補碼 相同,負數的 補碼 是 原碼除符號位以外的其他位按位取反再加 1 得到的。3. 正數符號位是0,負數符號位是 1。

以右移乙個負數為例:

總結:

把乙個數像左移動 n 位,相當於給這個數 乘以 2^n;

把乙個數向右移動 n 位,相當於給這個數 除以 2^n。

警告!對於移位運算子,一定不要移動負數字,這個是標準未定義的。

如:int num = 10; num >> -1; //是乙個錯誤**

位操作符

按位與( & )、按位或( | )、按位異或( ^ )

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

運算法則:

按位與( & ):參加運算的兩個數,按二進位制位進行 「按位與」 運算

0 & 0 = 0,0 & 1 = 0,1 & 0 = 0,1 & 1 = 1

即:兩位同時為 1 時,結果才為 1 ,否則結果為 0。

按位或( | ):參加運算的兩個數,按二進位制位進行 「按位或」 運算

0 | 0 = 0,0 | 1 = 1,1 | 0 = 1,1 | 1 = 1

即:兩位同時為 0 時,結果才為 0 ,否則結果為 1。

按位異或( ^ ):參加運算的兩個數,按二進位制位進行 「按位異或」運算

0 ^ 0 = 0, 0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 1

即:兩位相同時異或結果為 1,兩位結果不相同時異或結果為 0。

賦值操作符( = )

簡單的說就是可以給自己重新賦乙個自己滿意的值。

復合賦值

常見的復合賦值操作符:

+= 例:a = a + 10,就相當於 a += 10;

-= 例:a = a - 10 ,就相當於 a -= 10;

*= 例:a = a * 10,就相當於 a *= 10;

/= 例:a = a / 10,就相當於 a /= 10;

%= 例:a = a % 10,就相當於 a %= 10;

&= 例:a = a & 10,就相當於 a &= 10;

|= 例:a = a | 10,就相當於 a |= 10;

^= 例:a = a ^ 10,就相當於 a ^= 10;

C語言中操作符的總結

對於c中的操作符中的總結 操作符可以大致分為以下幾類 一 算術操作符 若兩邊都是整型,則結果也為整型,若有乙個為單精度,則結果為但精度。只能對整數進行取 二 移位操作符 左移操作符,右移操作符。三 位操作符 必須為整數 按位與 按位或 異或 四 復合賦值符 對以上操作符後面加 比較方便 五 單目操作...

C語言中操作符總結(中)

單目操作符 單目操作符只用乙個運算元。常見的單目操作符 邏輯反操作 在原來的基礎上取邏輯反操作。即 把原來的真的變成假的 真 假 原來的假的變成真的 假 真 例 0 1 1 0 負值 在原數字的基礎上取負操作。即 把原來的 正值 變為 負值 負值 變為 正值。例 int num 5 num 5 注 ...

C語言中操作符總結(下)

邏輯操作符 常見的邏輯操作符 邏輯與 邏輯或 邏輯操作運算中不看二進位制位,只看真假。使用規則 邏輯與 操作符作用的兩個運算元全為 真 時結果為 1 其他情況結果都為 0 邏輯或 操作符作用的兩個運算元全為 假 時結果為 0 其他情況結果都為 1 在實際生活中的應用 判斷閏年等。輸出1000 200...