C語言學習筆記 運算子

2021-08-18 03:20:59 字數 2037 閱讀 4446

在c語言中主要提供了算術運算子、關係運算子、邏輯運算子、位運算子、賦值運算子和雜項運算子。

運算子描述例項+

兩個數相加

a + b = 20

-兩個數相減

a - b = 0

*兩個數相乘

a * b = 100

/兩個數相除

a / b = 1

%取模運算,整除後取餘數

a % b = 0

++自增運算

a++ = 11

+–自減運算

a– = 9

運算子描述

例項==

是否相等

a == b

>=

是否大於等於

a >= b

<=

是否小於等於

a <= b

!=是否相等

a != b

>

是否大於

a > b

<

是否小於

a < b

運算子描述

例項&&

邏輯與運算

a && b``

!邏輯非運算

!a運算子

描述例項

&二進位制按位與運算子

a && b

|二進位制按位或運算子

a && b

^二進位制按位異或運算子

a && b

~二進位制一元運算子

a && b

>>

二進位制右移運算子

a && b

<<

二進位制左移運算子

a && b

& | ^

1. p = 0; q = 0; p & q = 0; p | q = 0; q ^ q = 0;

2. p = 0; q = 1; p & q = 0; p | q = 1; q ^ q = 1;

3. p = 1; q = 1; p & q = 1; p | q = 1; q ^ q = 0;

4. p = 1; q = 0; p & q = 0; p | q = 1; q ^ q = 1;

~

int a = 60;

a = ~a;

取反前: 0011 1100 = 60;

取反後: 1100 0011 = 195

>>

int a = 60;

a = a >> 2;

位移前:0011 1100 = 60;

位移後:0000 1111 = 15;

<<

int a = 60;

a = a << 2;

位移前:0011 1100 = 60;

位移後:1111 0000 = 240;

規律

運算子描述例項=

賦值運算

a = 2

+=加且賦值運算

a += 2即 a = a + 2

-=減且賦值運算

a -= 2即 a = a - 2

*=乘且賦值運算

a = 2即 a = a 2

/=除且賦值運算

a /= 2即 a = a / 2

%=求模且賦值運算

a %= 2即 a = a % 2

&=按位與且賦值運算

a &= 2即 a = a & 2

|=按位或且賦值運算

`a^=

按位非同步且賦值運算

a ^= 2即 a = a ^ 2

>>=

右移且賦值運算

a >>= 2即 a = a >> 2

<<=

左移且賦值運算

a <<= 2即 a = a << 2

運算子描述

例項sizeof()

計算變數大小

sizeof(a)

&取位址符

&a; 得到變數的記憶體位址

*指向變數

*a; 將指向乙個變數。

?:三目運算子

a > b ? a : b

C語言學習 運算子

運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。c 語言內建了豐富的運算子,並提供了以下型別的運算子 下表顯示了 c 語言支援的所有算術運算子。假設變數 a 的值為 10,變數 b 的值為 20,則 運算子描述例項 把兩個運算元相加 a b 將得到 30 從第乙個運算元中減去第二個運算元 a ...

C 語言學習 6 運算子

基本運算子 運算子的種類 優先順序和結合性 語言中運算子和表示式數量之多,在高階語言中是少見的。正是豐富的運算子和表示式使 語言功能十分完善。這也是 語言的主要特點之一。語言的運算子不僅具有不同的優先順序,而且還有乙個特點,就是它的結合性。在表示式中,各運算量參與運算的先後順序不僅要遵守運算子優先順...

c語言學習日記 運算子

1.算術運算子 優先順序順序 a b ab必須都為整型 2.位運算子 常用於微控制器,微型處理器,stm32 通訊傳輸資料的協議 協議包 串列埠通訊 wify 藍芽 rfid 網際網路傳輸 資料協議 按位右移或左移 對bit操作 按位 與 有假澤假 按位或 有真則真 按位異或 01為1 按位取反 0...