在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...