算術操作符
移位操作符
位操作符
賦值操作符
單目操作符
關係操作符
邏輯操作符
條件操作符
逗號表示式
%操作符只能用於整數間計算,其他操作符可以出現浮點數參與計算。
左移 "<右移 ">>" :1). 邏輯位移 : 與左移運算相反
2). 算數字移 : 正數最高位補0,負數最高位補1,右端移除的丟棄
* 位移運算子不要移動負數字
在二進位制下: 按位與 「 & 」 : 兩個運算元對應位,有 0 為 0 ,同 1 為 1
按位或「 | 」:兩個運算元對應位, 有 1 為 1 ,同 0 為 0
按位異或 " ^ " : 兩個運算元對應位, 相同為 0 ,相異為 1
* 運算元必須是整數
優先順序低於其他運算子
復合的賦值運算子,即帶有運算的賦值運算子
類似於:
int x = 10;
x = x + 10;
x +=
10; //復合賦值
! 邏輯反操作- 負值
+ 正值
& 取位址
sizeof運算元的型別長度 (以位元組為單位)
~ 對乙個數二進位制按位取反
-- 前置、後置自減
++ 前置、後置自增
* 間接訪問操作符
(型別)強制型別轉換
sizeof 語法:
sizeof (物件)
sizeof (型別)
sizeof 物件
所以 sizeof int // error
1. sizeof 常量性
sizeof的計算發生在編譯時刻,所以它可以被當作
常量表示式
使用。2. 基本資料型別sizeof (win32) :
3. sizeof 在陣列 、指標的特性 (win32):
!= 用於測試 「不相等」
==用於測試 「相等"
&& 邏輯與
| | 邏輯或
區別邏輯與和按位與
區別邏輯或與按位或
&&:邏輯與左右兩個運算元同時為true 才返回 true, 否則返回false例如: 1 && 2 ------>1
* &&的左邊計算的結果是false,那麼無論右邊表示式的結果是什麼,&&的結果一定是false。此時,&&右邊的表示式根本不會去運 算。如果此時&&右邊是乙個函式呼叫,那麼這個函式就不會被呼叫。
&:例如: 1 & 2 ------>0 // 1 二進位製碼是0001 ,2二進位製碼是 0010 , 0001 & 0010 = 0000 所以結果為 0。
exp1 ? exp2 :exp3 //exp1 如果為 true ,則返回 exp2;如果為 false,則返回 exp3.
exp1, exp2,exp3,...expn
逗號表示式,就是用逗號隔開多個表示式。
逗號表示式,從左到右依次執行。整個表示式結果是最後乙個表示式結果。
例如:
//**
a = get_val ();
count_val (a);
while (a > 0)
// 其逗號表示式
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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...