20190512(C語言操作符)

2021-09-22 10:13:29 字數 1955 閱讀 3388

1.算術操作符

± * / %

1)兩個數均為整數則進行整數除法

2)只要有乙個數為浮點數就進行浮點數除法

1)%操作符的兩個運算元必須為整數

2.移位操作符

《左移操作符

左邊拋棄,右邊補0;

例:int num = 6;

num 在記憶體中的二進位制:00000000000000000000000000000110

num<<

num 在記憶體中的二進位制: 00000000000000000000000000001100

注意:在num沒被複製的情況下,自身的值不會改變

右移操作符

1)邏輯移位

右邊拋棄,左邊補0

例:int num = -7;

num在記憶體中的二進位制:10000000000000000000000000000111

num>>

num在記憶體中的二進位制:00000000000000000000000000000011

2)算術移位

右邊拋棄,左邊補符號位

例:int num = -7;

num 在記憶體中的二進位制:10000000000000000000000000000111

num>>

num 在記憶體中的二進位制:10000000000000000000000000000011

注意:移位操作符不能移動負數字,因為沒有這樣的定義

3.位操作符

& 按位與

| 按位或

按位非

位指的是二進位制位

注意:運算元必須是整數

4.賦值操作符

可以重新賦乙個值

復合賦值符:

這些運算子都可以寫成復合的效果

例:int x = 1;

x = x*10;

x *= 10;

上面兩個賦值語句效果相同

5.單目操作符

!邏輯反操作

非0為真,0為假

& 取位址

sizeof 運算元的型別長度(單位:位元組)

1)sizeof可以求變數或型別所佔空間的大小

2)變數可不放在()中,但型別一定要放在()中;

3)在sizeof(陣列名)中 陣列名表示整個陣列

對乙個數的二進位制按位取反

0變為1,1變為0

– 前置、後置–

前置-- :先–後使用

例:int a = 1 ;

int b = 0;

b = --a;

得到結果a=0;b=0;

後置-- :先使用後–

例:int a = 1 ;

int b = 0;

b = a–;

得到結果a=0;b=1;

++ 前置、後置++

與–原理相同 例:

int num = 10;

int *p = &num;

*p = 20;//*p就相當於num

(型別) 強制型別轉換

例:int a = 1 ;

float b = 0;

b = (float)a; //這裡就是將整型的a強制轉換為浮點型

6.關係操作符

大於

< 小於

= 大於等於

<= 小於等於

== 相等

注意:相等是兩個等號,乙個等號是賦值

!= 不等

7.邏輯操作符

&& 邏輯與

|| 邏輯或

非0為真,0為假

8.條件操作符

exp1?exp2:exp3

例:if(a>3)

b = 1;

else

b = -1;

用條件表示式來寫是:

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