(1)算術操作符:+ - * / %
(2)移位操作符:
<< //左移操作符
>> //右移操作符
(3)位操作符:
`& //按位與
| //按位或
^ //按位異或`
(4)賦值操作符:
復合賦值操作符:
+=
*=/=
%=>>=
<<=
&=|=
^=
這些運算子都可以寫成復合的效果。
(5)單目操作符:
! 邏輯反操作
- 負值
+ 正值
& 取位址
sizeof 運算元的型別長度(以位元組為單位)
~ 對乙個數的二進位制按位取反
-- 前置、後置--
++ 前置、後置++
* 間接訪問操作符(解引用操作符) (型別) 強制型別轉換
(6)關係操作符:
>
>=
<
<=
!= 用於測試「不相等」
== 用於測試「相等
(7)邏輯操作符:
&& 邏輯與
|| 邏輯或
(8)條件操作符:
exp1 ? exp2 : exp3
exp1成立執行exp2;否則執行exp3。
(9)逗號表示式:
exp1, exp2, exp3, …expn
逗號表示式,從左向右依次執行。整個表示式的結果是最後乙個表達
式的結果。
(10)下標引用、函式呼叫和結構成員:
().
(11)操作符的屬性:
複雜表示式的求值有三個影響的因素。
優先順序從高到低的操作符表:
() 聚組
() 函式呼叫
[ ] 下標引用
. 訪問結構成員
-> 訪問結構指標成
++ 字尾自增
-- 字尾自減
! 邏輯反
~ 按位取反
+ 單目,表示正值
- 單目,表示負值
++ 字首自增
-- 字首自減
* 間接訪問
& 取位址
sizeof 取其長度,以字示(型別) 型別轉換
* 乘法
/ 除法
% 整數取餘
+ 加法
- 減法
<< 左移位
>> 右移位
> 大於
>= 大於等於
< 小於
<= 小於等於
== 等於
!= 不等於
& 位與
^ 位異或
| 位或
&& 邏輯與
|| 邏輯或
?: 條件操作符
= 賦值
+= 以...加
-= 以...減
*= 以...乘
/= 以...除
%= 以...取模
<<= 以...左移
>>= 以...右移
&= 以...與
^= 以...異或
|= 以...或
, 逗號
(12)隱式型別轉換:
c的整型算術運算總是至少以預設整型型別的精度來進行的。
為了獲得這個精度,表示式中的字元和短整型運算元在使用之前被轉換為普通整型,這種轉換稱為整型提公升。
//例項1
char a,b,c;
a = b + c;
c語言操作符 位操作符 移位操作符
1 按位操作符 1.1 按位 與 雙目運算子 僅當兩個運算元都為1時,結果為1,否則為0。參與運算的數以補碼方式出現。例 9 5 1 0000 1001 9的補碼 0000 0101 5的補碼 0000 0001 1的補碼 應用 a 通常將某些位清零或保留某些位。例如 將a的高八位清零,保留低八位,...
C語言 , 操作符
例如 define to string s s 將會使編譯器把以下命令 cout to string hello world endl 理解為cout hello world endl 例如 define concatenate x,y x y int xy 10 將會使編譯器把 cout conc...
C語言操作符
操作符的分類 1 算術操作符 2 移位操作符 3 位操作符 4 賦值操作符 5 單目操作符 6 關係操作符 7 邏輯操作符 8 條件操作符 9 逗號表示式 1 算術操作符 1 除了 操作符之外,不能用於浮點數。2 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...