C語言 操作符

2021-10-02 14:42:14 字數 1551 閱讀 9881

加   減   乘   除    求餘

%操作符的兩個數必須為整數,返回的是整除之後的餘數

/操作符,只要有浮點數執行的就是浮點數除法

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