指令系統的每一條指令都有乙個操作符,它表示該指令應進行什麼性質的操作。
1. 算數操作符
+ 加法操作符
- 減法操作符
* 乘法操作符
/ 整除操作符 5/2=2
% 求餘操作符 5%2=1
注:
i. 除求餘操作符(%)外,其他的幾個操作符都可以用於整數和浮點數。
ii. 對於整除操作符(/),若兩個操作符都為整數,則執行整數除法;若其中有乙個為浮點數,則執行浮點數除法。
iii. 求餘操作符(%)的兩個操作符必須為整數,返回的是整除之後的餘數。
2. 移位操作符
<< 左移操作符
>> 右移操作符
移位規則:
(1)<< 左移操作符 左邊捨棄、右邊補0
int n = 10; //10的二進位制為 00001010
n << 1; //10左移一位後變為 0 00010100 (後面補0,前面捨去)
注:實際上
n在未賦值的情況下,自身的值不變
(2) >> 右移操作符
1)邏輯移位
左邊補0、右邊捨棄
int n = -1; // -1的二進位制為 11111111
n >> 1; // 01111111 1
// (左邊補0,右邊捨去)
2)算數移位
左邊補原數符號位、右邊捨棄
int n = -1; // -1的二進位制為 11111111
n >> 1; // 11111111 1
// (左邊補符號位,右邊捨去)
3. 位操作符
& 按位與 同真為真 3^ 00000011
| 按位或 一真為真 5 00000101
^ 按位異或 相同為0,相異為1 = 00000110
注:按「位」中的位指二進位制的位
4. 賦值操作符
+= -= *= /= %= a=a+1等價於a+=1
5. 單目操作符
! 邏輯反操作
- 負值
+ 正值
& 取位址
sizeof 運算元的型別長度(以位元組為單位)
注:
i.
int a = 10;
int c = 4;
printf("%d\n", sizeof(a)); //其中a的括號可以省
printf("%d\n", sizeof(int)); //其中int的括號不能省
printf("%d\n", sizeof(a = c + 1)); //其中sizeof內部的表示式不參與運算
//其中後三句等價
ii. sizeof
內部放陣列名,則陣列名表示整個陣列,單位是位元組
int arr[10];
printf("%d\n", sizeof(arr));
iii.
除此之外都是表示陣列首元素
~ 對乙個數的二進位制按位取反
printf("%d\n", ~0); //其中~0表示1
-- 前置、後置—
int a = 10;
int x = --a; //前置—,先—後使用
int y = a--; //後置--,先使用後--
printf("%d\n", x, y); //輸出x = 9,y = 10
++ 前置、後置++
* 間接訪問操作符(解引用操作符)
(型別) 強制型別轉換
6. 關係操作符
!= 用於測試「不相等」
== 用於測試「相等」
7. 邏輯操作符
&& 邏輯與
|| 邏輯或
注:
i. 邏輯與(&&)與按位與(&) 1&2=0
1&&2=1
邏輯或(||)與按位或(|) 1|2=3
1||2=1
ii. 邏輯與(&&)和邏輯或(||)都具有短路特性,即當前乙個邏輯表示式可以決定整個表示式的計算結果時,後乙個邏輯表示式根本就不會計算
8. 條件操作符
表示式1?表示式2:表示式3
注:
i. 若表示式1為真則執行表示式2
ii. 若表示式1為假則執行表示式3
9. 逗號表示式
表示式1,表示式2,表示式3,…,表示式n
注:
i. 逗號表示式,從左向右依次執行。
ii. 整個表示式的結果是最後乙個表示式的結果。
10. 下標引用、函式呼叫和結構成員
下標引用操作符
() 函式呼叫操作符
注:接受乙個或者多個運算元:第乙個運算元是函式名,剩餘的運算元就是傳遞給函式的引數。
訪問乙個結構的成員
. 結構體.成員名
-> 結構體指標->成員名
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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...