目錄
算術運算符
運算符 |
描述 |
實例 |
+ |
加法運算符 |
int a = 5 + 5; int b = a + 5; |
- |
減法運算符,負值運算符 |
int a = 10 -5; int b = -5; |
* |
乘法 |
int a = 3 * 5; int b = a * 2; |
/ |
除法(得到商) |
float a = 10.0 / 4; float b = 10 / 4; |
% |
取餘(得到餘數) |
int a = 5 % 2; int b = 2 % 5; |
++ |
自增 |
int a = 2; int b = a ++; int c = ++ a; |
-- |
自減 |
int a = 5; int b = a --; int c = -- a; |
關係運算符
運算符 |
描述 |
實例 |
== |
檢查兩個操作數的值是否相等,如果相等則表達式的值爲真。 |
a == b |
!= |
檢查兩個操作數的值是否不相等,如果不相等則表達式的值爲真。 |
a != b |
> |
檢查左操作數的值是否大於右操作數的值,如果是則表達式的值爲真。 |
a > b |
< |
檢查左操作數的值是否小於右操作數的值,如果是則表達式的值爲真。 |
a < b |
>= |
檢查左操作數的值是否大於或者等於右操作數的值,如果是則表達式的值爲真。 |
a >= b |
<= |
檢查左操作數的值是否小於或等於右操作數的值,如果是則表達式的值爲真。 |
a <= b |
邏輯運算符
運算符 |
描述 |
實例 |
&& |
邏輯與運算符。如果兩個操作數都爲真,則表達式的值爲真。 |
a && b |
|| |
邏輯或運算符。兩個操作數中有一個爲真,則表達式的值爲真。 |
a || b |
! |
邏輯非運算符。如果操作數爲真,則表達式的值爲假;如果操作數爲假,則表達式的值爲真。 |
!a |
說明:
利用!!作用於一個操作數,可以得到取值只有0和1的表達式的值。
位運算符
運算符 |
描述 |
實例 |
& |
按位與運算符 |
a & b |
| |
按位或運算符 |
a | b |
~ |
按位取反運算符 |
~ a |
^ |
異或運算符 |
a ^ b |
<< |
左移運算符。將左操作數的各二進制位全部左移若干位(左邊的二進制位丟棄,右邊補0)。 |
a << n |
>> |
右移運算符。將左操作數的各二進制位全部右移若干位,正數左補0,負數左補1,右邊丟棄。 |
a >> n |
說明:
<<和>>運算符作用於整數相當於乘以或者除以2^n,不能作用於浮點數。
賦值運算符
運算符 |
描述 |
實例 |
= |
把右操作數的值賦給左操作數 |
a = 2; |
+= |
把右操作數加上左操作數的結果賦值給左操作數 |
a += 2; |
-= |
把左操作數減去右操作數的結果賦值給左操作數 |
a -= 2; |
*= |
把右操作數乘以左操作數的結果賦值給左操作數 |
a *= 2; |
/= |
把左操作數除以右操作數的結果賦值給左操作數 |
a /= 2; |
%= |
把左操作數除以右操作數的餘數賦值給左操作數 |
a %= 2; |
<<= |
把左操作數左移右操作數的位數的結果賦值給左邊操作數 |
a <<= 2; |
>>= |
把左操作數右移右操作數的位數的結果賦值給左邊操作數 |
a >>= 2; |
&= |
把左右操作數按位與的結果賦值給左操作數 |
a &= b; |
|= |
把左右操作數按位或的結果賦值給左操作數 |
a |= b; |
^= |
把左右操作數按異或的結果賦值給左操作數 |
a ^= b; |
特殊運算符
運算符 |
描述 |
實例 |
sizeof() |
獲取變量或類型所佔用的內存字節數 |
sizeof(a);//返回變量a的字節數 sizeof(int);//返回類型int的字節數 |
& |
取地址運算符 |
&a;//返回變量a的內存地址 |
* |
取值運算符 |
*a;//返回變量a的內存地址存儲的值 |
? : |
條件運算符 |
(a > 0 )? (b = 1) : (b = 0);//如果a大於0則b賦值1,否則b賦值0 |
運算符的優先級
優先級 |
運算符 |
描述 |
結合方向 |
1 |
[ ] |
數組下標 |
從左到右 |
( ) |
圓括號。(表達式);函數名(形參) |
||
. |
成員選擇(結構體變量) |
||
-> |
成員選擇(結構體指針) |
||
2 |
- |
負號運算符 |
從右到左 |
( ) |
強制類型轉換 |
||
++ |
自增運算符 |
||
-- |
自減運算符 |
||
* |
取值運算符 |
||
& |
取地址運算符 |
||
! |
邏輯非運算符 |
||
~ |
按位取反運算符 |
||
sizeof( ) |
獲取變量或者類型佔用的字節數 |
||
3 |
* |
乘法運算符 |
從左到右 |
/ |
除法運算符 |
||
% |
取餘運算符 |
||
4 |
+ |
加法運算符 |
從左到右 |
- |
減法運算符 |
||
5 |
<< |
左移運算符 |
從左到右 |
>> |
右移運算符 |
||
6 |
> |
大於 |
從左到右 |
>= |
大於等於 |
||
< |
小於 |
||
<= |
小於等於 |
||
7 |
== |
等於 |
從左到右 |
!= |
不等於 |
||
8 |
& |
按位與 |
從左到右 |
9 |
^ |
異或 |
從左到右 |
10 |
| |
按位或 |
從左到右 |
11 |
&& |
邏輯與 |
從左到右 |
12 |
|| |
邏輯或 |
從左到右 |
13 |
? : |
條件運算符 |
從右到左 |
14 |
= |
賦值運算符 |
從右到左 |
+= |
加後賦值 |
||
-= |
減後賦值 |
||
*= |
乘後賦值 |
||
/= |
除後賦值 |
||
%= |
取餘後賦值 |
||
<<= |
左移後賦值 |
||
>>= |
右移後賦值 |
||
&= |
按位與後賦值 |
||
^= |
異或後賦值 |
||
|= |
按位或後賦值 |
||
15 |
, |
逗號運算符 |
從左到右 |