一起聊聊C語言中有趣的操作符

2021-08-21 18:49:28 字數 2969 閱讀 1069

其實c語言中的操作符就我們經常使用的來說呢,大致可以有:單目運算子,雙目運算子(1.算術運算子,2.邏輯運算子,3.關係運算子,4.移位運算子,5.賦值運算子,6.逗號表示式),三目運算子(條件表示式),前述操作符。

1.單目操作符!

邏輯反~

按位取反

++自增(分為前置++,後置++)

--自減(分為前置--,後置--)-負值

+正值*解引用

&取位址

(type)

強制型別轉換

sizeof

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

注意:當++,--兩個運算子放在變數的前面的時候,表示先對變數進行操作然後再使用。

當放在後面時,就是先使用在進行操作。

2.運算操作符+

加法運算

-減法運算

*乘法運算

/除法運算

%取模運算(乙個變數/另乙個變數取餘數)

:a=3,b = 5

b/a=1,

b%a=2,

a%b =3

3.邏輯運算子

&&邏輯與

真&&假——>假

||邏輯或

真&&假——>真

&按位與

參與運算的兩數字二進位制相與。對應位上均為1時,結果才為1,否則為0。

|按位或

參與運算的兩數字二進位制相或。對應位上均為0時,結果才為0,否則為1。

^按位異或

參與運算的兩數字二進位制相異或。對應位上相異時,結果才為1,否則為0。

例:a=5,  b=8

二進位制為:a=0101,b=1000(只取了二進位制裡後四位,前面的所有位都是0)

a&b = 0000

a|b=1101

a^b = 1101

~a = 1010

~b = 0111

4.關係運算子

>

大於<

小於》=

大於等於

=<

小於等於

==等於

!=不等於

注意:「==」是判斷兩個數是否相等,而「=」是屬於賦值操作

5.移位運算子

<<(左移)

按二進位制形式把所有數字向左移動對應位數,高位捨棄,低位補0

>>(帶符號右移)

按二進位制形式把所有數字向右移動對應位數,低位捨棄,高位的空位補符號位。

>>(無符號右移)

按二進位制形式把所有數字向右移動對應位數,低位捨棄,高位空位補0。

例:a = -5

b = 5

a:原碼:1000  0000  0000  0000  0000  0000  0000  0101

反碼:1111  1111  1111  1111  1111  1111  1111  1010

補碼:1111  1111  1111  1111  1111  1111  1111  1011

b;原碼:0000  0000  0000  0000  0000  0000  0000  0101

反碼:0000  0000  0000  0000  0000  0000  0000  0101

補碼:0000  0000  0000  0000  0000  0000  0000  0101

則  a <<  2  = 1111  1111  1111  1111  1111  1111  1110  1000  =  -20(即:為原資料*2^2)

a >>  2 = 1111  1111  1111  1111  1111  1111  1111  1110   =  -2  (即:為原資料/2^2)

b <<2   = 0000  0000  0000  0000  0000  0000  0001  0100   =   20(即:為原資料*2^2)

b>>2    =  0000  0000  0000  0000  0000  0000  0000  0001   =  1   (即:為原資料/2^2)

6.賦值運算子

=賦值運算子:變數 = 表示式

+=加後賦值:    變數 += 表示式 

-=減後賦值:     變數-=表示式

*=乘後賦值:     變數*=表示式

/=除后賦值:      變數./=表示式

%=取模後賦值:  變數%=表示式

<<=

左移後賦值:   變數<<=表示式

>>=

右移後賦值:   變數》=表示式

&=按位與後賦值: 變數&=表示式

|=按位或後賦值: 變數|=表示式

^=按位異或後賦值:變數^=表示式

7.逗號表示式

用逗號隔開的多個表示式,從左往右依次計算表示式,逗號表示式的優先順序最低

例:x=1,;y=1;

z=x++,y++,++y

此時的x,y,z分別為2,3,1

因為不僅要考慮逗號表示式,還要考慮優先順序問題。

8.條件表示式

條件?表示式1:表示式2

如果條件為真,則表示式1,如果條件為假,則表示式2

例:a = 1;b = 2

c=  (a>b)?a+1:b+1

這時c=3

9.前述操作符1.

陣列下標引用

接收連個運算元,即:陣列名和索引

array=

array[4] = 4;

2.()

該操作符可以接受函式名與引數作為運算元。

注意:至少有乙個運算元,即函式名

3.結構體成員變數

a. "  -> "用於訪問結構體成員變數的位址。

b." .  "   用於訪問結構體成員變數的內容

對了,上面內容中操作符全用紅色標識出來了,切勿看錯。

好了,不說了,日常打**去了。

C語言中的操作符

包括 需要注意的是,操作符的兩邊都必須為整型 其他的操作符既可用於整型,也可用於浮點型資料,其中 中有乙個資料為浮點型執行浮點型資料運算 包括 左移操作符 和右移操作符 左移操作符的移位規則是 左邊丟棄,右邊補0 整數在記憶體中以二進位制補碼的形式儲存,在左移之後,該數並沒有發生改變 右移操作符的移...

c語言中的操作符

1.除了 操作符之外,其他幾個操作符可以作用於整數和浮點數。2.對於 操作符如果兩個操作符都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須是整數。返回的是整除之後的餘數。左移操作符 左邊拋棄,右邊補0,右移操作符 1.邏輯移位 2.算術移位 按位與 按位或 按位...

C語言中的操作符

c語言操作符有以下幾大類 1.算術操作符 2.關係操作符 3.邏輯操作符 4.位操作符 5.賦值操作符 6.單目運算子 7.逗號運算子 8.條件運算子 9.下標訪問,函式呼叫,結構體成員訪問操作符 如下表 操作符型別 包含算術操作符 移位操作符 位操作符 賦值操作符 單目操作符 sizeof,型別 ...