下表顯示了 c 語言支援的所有算術運算子。假設變數 a 的值為 10,變數 b 的值為 20,則:
運算子描述例項+
把兩個運算元相加
a + b 將得到 30
-從第乙個運算元中減去第二個運算元
a - b 將得到 -10
*把兩個運算元相乘
a * b 將得到 200
/分子除以分母
b / a 將得到 2
%取模運算子,整除後的餘數
b % a 將得到 0
++自增運算子,整數值增加 1
a++ 將得到 11
–自減運算子,整數值減少 1
a-- 將得到 9
a++ 與 ++a 的區別:
a++:先賦值再運算
++a:先運算再賦值
// #include
main()
先賦值後運算:
c 的值是 10
a 的值是 11
先運算後賦值:
c 的值是 11
a 的值是 11
邏輯運算
下表顯示了 c 語言支援的所有關係邏輯運算子。假設變數 a 的值為 1,變數 b 的值為 0,則:
運算子描述
例項&&
稱為邏輯與運算子。如果兩個運算元都非零,則條件為真。
(a&&b) 為假。
ll稱為邏輯或運算子。如果兩個運算元中有任意乙個非零,則條件為真。
(allb) 為真。
!稱為邏輯非運算子。用來逆轉運算元的邏輯狀態。如果條件為真則邏輯非運算子將使其為假。
!(a&&b) 為真。
賦值運算子
運算子描述例項=
簡單的賦值運算子,把右邊運算元的值賦給左邊運算元
c = a + b 將把 a + b 的值賦給 c
+=加且賦值運算子,把右邊運算元加上左邊運算元的結果賦值給左邊運算元
c += a 相當於 c = c + a
-=減且賦值運算子,把左邊運算元減去右邊運算元的結果賦值給左邊運算元
c -= a 相當於 c = c - a
*=乘且賦值運算子,把右邊運算元乘以左邊運算元的結果賦值給左邊運算元
c *= a 相當於 c = c * a
/=除且賦值運算子,把左邊運算元除以右邊運算元的結果賦值給左邊運算元
c /= a 相當於 c = c / a
%=求模且賦值運算子,求兩個運算元的模賦值給左邊運算元 c %= a 相當於
c = c % a
<<=
左移且賦值運算子
c <<= 2 等同於 c = c << 2
>>=
右移且賦值運算子
c >>= 2 等同於 c = c >> 2
&=按位與且賦值運算子
c &= 2 等同於 c = c & 2
^=按位異或且賦值運算子
c ^= 2 等同於 c = c ^ 2
l=按位或且賦值運算子
c l = 2 等同於 c = c l 2
(emmm…後面四個有點迷)
小技巧
利用異或 ^ 來交換兩個數的值,而且不引入其他變數。
// #include
intmain()
** 結果 **
a=60,b=13;
a=13,b=60;
C語言之位運算子
位運算子分析 1.c語言中的位運算子 c語言中的位運算子直接對bit位進行操作,其效率最高。速度快於四則運算和邏輯運算。2.左移和右移的注意點 左運算元必須為整數型別 char和short被隱式轉換為int後進行移位操作 右運算元的範圍必須為 0,31 左移運算子 將運算數的二進位制位左移 規則 高...
c語言之邏輯運算子
老分不清乙個 號和倆的用法,今天專門拿出來整理整理 一 邏輯運算子 包括 1。邏輯與 2。邏輯或 3。邏輯非 邏輯運算子用於對包含關係運算子的表示式進行合併或取非 對於使用邏輯運算子的表示式,返回0表示 假 返回1表示 真 關於邏輯運算子的解釋 請注意 任何使用兩個字元做符號的運算子,兩字元之間不應...
C語言之位移位運算子和按位運算子
近期做串列埠實驗,遇到將十六進製制轉換成char型字元的問題,程式中用到了位移位運算子和按位或運算子 a.位移位運算子 左移,右移 運算子左邊為移位物件,右邊為要移的位數。移位物件為整數值 若 char a 61,則 a 也可以作為移位物件,若 char a a 則會出錯。總之,你要移的物件一定是乙...