目錄
算術運算子
關係運算子
邏輯運算子
位運算子
賦值運算子
特殊運算子
運算子的優先順序
運算子描述例項
+加法運算子
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,
逗號運算子
從左到右
C語言 運算子與 運算子
我們平時使用帶參巨集時,字串中的巨集引數是沒有被替換的。例如 輸出結果為 然而,我們期望輸出的結果是 5 20 2513 14 27 這該怎麼做呢?其實,c語言允許在字串中包含巨集引數。在類函式巨集 帶參巨集 中,號作為乙個預處理運算子,可以把記號轉換成字串。例如,如果a是乙個巨集形參,那麼 a就是...
C語言 運算子和 運算子
變數 代表 取變數的位址 變數 代表 指標型的變數 取址運算子 用來取得其運算元的位址。如果運算元 x 的型別為 t,則表示式 x 的型別是 t 型別指標 指向 t 的指標 取址運算子的運算元必須是在記憶體中可定址到的位址。換句話說,該運算子只能用於函式或物件 例如左值 而不可以用於位欄位,以及那些...
C語言運算子
1級優先順序左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子 字尾增量運算子 字尾增量運算子 2級優先順序右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首增量運算子 負號運算子 型別 型別轉換運算子 指標運算子 位址與運算子 sizeof 長度運算子 3級優先順序左結合 ...