C語言操作符

2021-08-19 18:55:07 字數 2305 閱讀 7363

算術操作符

移位操作符

位操作符

賦值操作符

單目操作符

關係操作符

邏輯操作符

條件操作符

逗號表示式

%操作符只能用於整數間計算,其他操作符可以出現浮點數參與計算。

左移 "<

右移 ">>" :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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...