加 減 乘 除 求餘
%操作符的兩個數必須為整數,返回的是整除之後的餘數
/操作符,只要有浮點數執行的就是浮點數除法
n/0,n%0 都不行會編譯報錯,0/n,0%n 結果都為0
<< 左移操作符
>> 右移操作符
移位操作符是對二進位制數進行操作,因為計算機內資料都是以二進位制的形式進行儲存。
左移一位相當於*2,右移一位相當於/2
右移 邏輯右移:最左側(最高位)就補0;
算術右移:最左側補符號位;
對於移位操作符,不要移動負數字;例:10>>-1;//error,這個是標準未定義的
& 按位與:如果兩個運算元都為1,結果為1,否則為0;
| 按位或:如果兩個運算元都為0,結果為0,否則為1;
^ 按位異或:如果兩個運算元相同,結果為0,相異結果為1;
~ 按位取反:如果遇到0則變為1,如果遇到1則變為0;
初始化和賦值兩者不同;(常量不可以賦值,{}不可以賦值)
例:int num = 10; // 初始化
num = 20; // 賦值
! 邏輯反操作(非真及假)
- 負值
+ 正值
& 取位址
sizeof 運算元的型別長度(以位元組為單位),可以求變數(型別)所佔空間大小
~ 對乙個數的二進位制按位取反
-- 前置,後置--
++ 前置,後置++
* 間接訪問操作符(解引用操作符)
(型別) 強制型別轉換
&& 邏輯與:如果兩側的表示式都為真,結果為真,否則為假
|| 邏輯或:如果兩側的表示式都為假,結果為假,否則為真
對於邏輯與&&操作符來說,如果左側的表示式為假,那麼右側的表示式不再求值
對於邏輯或||操作符來說,如果左側的表示式為真,那麼右側的表示式不再求值
位操作符與邏輯操作符的區別:
1 & 2 --> 0 , 1 && 2 --> 1;
1 | 2 --> 3, 1 || 2 --> 1;
位操作符將數字轉化為二進位制進行操作;
exp1(條件) ?exp2 : exp3
例:x > y ? x : y ; //若x>y成立則輸出x,不成立輸出y。
逗號表示式,就是用逗號隔開的多個表示式。逗號表示式,從左向右依次執行。整個表示式的結果是最後乙個表示式的結果。
例: int a=1;
int b = 2;
int c = (a > b,a=b+10,a,b=a+1); //逗號表示式
結果為 c = 13;
運算元:陣列名 + 下標值
例:int arr[10]; //建立陣列
arr[9] = 10; //使用下標引用操作符
[ ]的兩個運算元是arr和9.
. 結構體.成員名
-> 結構體指標->成員名
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 對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。...