C語言之運算子 (筆記)

2021-10-01 03:10:15 字數 1777 閱讀 5194

下表顯示了 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 則會出錯。總之,你要移的物件一定是乙...