C語言操作符總結

2021-08-18 04:54:40 字數 2128 閱讀 2053

一、算數操作符

+    -    *     /     %

1.除了%操作符之外,其他幾個操作符可以作用於整數和浮點數。

2.對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。

3.%操作符的兩個運算元必須為整數。返回的是整數之後的餘數。

二、移位操作符

<< 左移操作符

>> 右移操作符

左移操作符

將乙個運算物件的各二進位制位全部左移若干位(左邊的二進位制位丟棄,右邊補0)。

例:a = a<< 2將a的二進位制位左移2位,右補0,

左移1位後a = a *2; 

若左移時捨棄的高位不包含1,則每左移一位,相當於該數乘以2。

右移操作符

移位規則:

1.邏輯移位

左邊用0填充,右邊丟棄

2.算數移位

左邊用原該值的符號位填充,右邊丟棄

注意:對於移位操作運算子,不要移動負數字,這個是標準未定義的。

三、位操作符

&  //按位與

|    //按位或

^  //按位異或

注:他們的運算元必須是整數

參加運算的兩個資料,按二進位制位進行「與」運算。

運算規則:0&0=0;  0&1=0;   1&0=0;    1&1=1;

即:兩位同時為「1」,結果才為「1」,否則為0

例如:3&5  即 0000 0011& 0000 0101 = 00000001  因此,3&5的值得1。

參加運算的兩個物件,按二進位制位進行「或」運算。

運算規則:0|0=0;  0|1=1;  1|0=1;   1|1=1;

即 :參加運算的兩個物件只要有乙個為1,其值為1。

例如:3|5 即 00000011 | 0000 0101 = 00000111  因此,3|5的值得7。

參加運算的兩個資料,按二進位制位進行「異或」運算。

運算規則:0^0=0;  0^1=1;  1^0=1;   1^1=0;

即:參加運算的兩個物件,如果兩個相應位為「異」(值不同),則該位結果為1,否則為0。

四、賦值操作符=

復合賦值符:+=、-=、/=、*=、%=、>>=、<<=、&=、|=

五、單目操作符

! 邏輯反操作

-   負值

+ 正值

& 取位址

sizeof 運算元的長度(以位元組為單位)

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

-- 前置 後置-- 

++ 前置 後置++

* 間接訪問操作符(解引用操作符)

(型別) 強制型別轉換

六、關係操作符

> 、 >=、<、<=、!=

(判斷不相等)、==(判斷相等)

注意:在寫**時千萬別把==寫成=,導致程式出現問題。

七、邏輯操作符

&& 邏輯與

||  邏輯或

注意:一定要注意區分邏輯與、邏輯或和按位與、按位或的區別

例:1&2-->0       1&&2-->1

1|2--->3         1||2--->1

八、條件操作符

表示式1?表示式2:表示式3

九、逗號表示式

表示式1,表示式2,表示式3,表示式n

注意:逗號表示式,從左向右依次執行。整個表示式的結果是最後乙個表示式的結果。

十、下標引用、函式呼叫和結構體成員訪問

1.[ ] :乙個陣列名+乙個索引值(例:int arr[10];)

2.( ):函式呼叫操作符(接受乙個或者多個運算元:第乙個運算元是函式名,剩餘的運算元就是傳遞給函式的引數)

3.訪問乙個結構體的成員

①  結構體名.成員名

②  結構體指標->成員名

C語言操作符總結

c語言操作符總結 1.算數操作符 有浮點數則為浮點除法 全為整形 2.移位操作符 所有的移位操作符都是二進位制移位 左移 效果 左邊拋棄右邊補0.右移 效果 1 符號位 算術移位 原該值的符號位 2 0 邏輯移位 警告 不要移動負數字 3.位操作符 按位與 按位或 按位異或 注意 全都為二進位制位操...

C語言 操作符總結

1.運算操作符 加 可作為正號 例 a b 4 減 可作為正號 例 a b 5 乘 例 a b 除 例 a b 注意 分母不能為零 取餘 運算操作符的使用方法,基本與數學上的使用一致 2.賦值操作符 例 a 2 可讀為將2賦給a 注意 從右向左進行運算 3.其他符賦值操作符 例 a 1 相當於 a ...

C語言操作符總結

1.操作符的兩個運算元必須為整數,返回的是整除後的餘數。2.對於 操作符,如果兩個運算元都是整數則執行整數除法,只要有浮點數就執行浮點數除法。左移操作符 右移操作符 左邊拋棄,右邊補0 右移分為兩種 1.邏輯移位 左邊用0補,右邊丟棄 2.算術移位 左邊用原來的符號位填充,右邊丟棄 符號位中0表示正...