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