C語言操作符總結

2021-08-17 22:43:09 字數 3239 閱讀 5587

c

語言操作符是說明特定操作的符號,它是構造

c語言表示式的工具。下面對

c語言操作符做乙個小小的總結:

c語言操作符具體分為算術操作符、移位操作符、位操作符、賦值操作符、單目操作符、關係操作符、邏輯操作符、條件操作符、逗號表示式、下標引用、函式呼叫和結構成員。下面一一介紹:

1.算術操作符。

算術操作符包含

+-*/%

五個操作符。除了%

操作符之外,其他的幾個操作符可以作用於整數和浮點數。

%操作符兩個操作符必須都是整數,返回的是整除之後的餘數。對於/

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

2.移位操作符。

移位操作符包括

<<(

左移操作符

)>>(

右移操作符)。

<<

操作符相當於給原運算元乘2。

>>

操作符相當於給原運算元除

2(據情況而定)。

<<

操作符的移位規則為:左邊拋棄,右邊補0。

>>

操作符的移位規則分為兩種:

1、邏輯右移:左邊用

0填充,右邊丟棄。

2、算術右移:左邊用原該值的符號位填充,右邊丟棄。

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

3.位操作符。

位操作符包括

&(按位與)、

|(按位或)、

^(按位異或

)三種操作符。

&運算元可以判斷乙個數二進位制序列中

1的個數。具體方法是:將這個二進位制序列與

1進行按位與操作,進而得到最低位是否為

1(如果是

1,則按位與的結果為

1,;如果不是

1,按位與的結果為

0),再將序列向右移位,再與

1進行按位與判斷,如此迴圈

32次即可。

|操作符可以將二進位制序列中的0置為

1。具體方法是:將序列與要置

1相對應這一位為

1的序列進行按位或操作即可。

^操作符可以不建立臨時變數,實現兩個數的交換。

eg:要交換

a變數和

b變數的值,只需

a=a^b,b=a^b,a=a^b

即可。4.

賦值操作符。

賦值操作符的作用是將乙個表示式的值賦給乙個變數。賦值操作符的右邊可以使任何表示式,但左邊必須是乙個變數名。

賦值操作符可以連續使用,但一般不推薦,會使**不清晰且不易除錯。

5.復合賦值符。

復合賦值符包括+=、

-=、*=、

/=、%=、

>>=

、<<=、&=

、\=、|=

、=等操作符。

這些運算子都可以寫成復合的效果。

eg:x=x+10

與x+=10

效果是一樣的。其他復合賦值符與

+=用法相同。

6.單目操作符。

單目操作符包括

!(邏輯反操作)、

-(負值)、

+(正值)、

&(取位址)、

sizeof(

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

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

--(前置、後置

--)、

++(前置、後置

++)、

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

(型別)(強制型別轉換)等。

sizeof:

sizeof

操作符可以求變數(型別

)所佔空間的大小。

當sizeof(

陣列名)

,陣列名表示整個陣列,

sizeof(

陣列名)

表示的是整個陣列的大小,單位是位元組。當

int a =0,sizeof(a)

表示乙個整形變數的大小,相當於

sizeof(int),輸出4

,即4個位元組。

注意:sizeof

內部的表示式是不參與運算的。++和

—運算子:

對於前置的++和

—來說,運算順序是先對變數進行自增或自減運算,然後使用變數。eg:

int a=10;int x=++a;先對a

進行自增,然後對使用

a,也就是表示式的值是

a自增之後的值,x為

11。對於後置的++和

—來說,運算順序是先對變數進行使用,再進行自增或自減運算。

eg:int a=10; int x=a++;先對a

使用,再增加,這樣

x的值是

10,之後a變成

11。7.關係操作符。

關係操作符包括

<

、>

、>=

、<=、!=

、==等操作符。

注意:要區分

==(用於測試相等)和

=(賦值操作符)。

8.邏輯操作符。

邏輯操作符包括

&&(邏輯與)、

||(邏輯非

)兩個操作符。

注意:要區分邏輯與和按位與、邏輯或和按位或。

eg:1&2

結果為0,1&&2

結果為1

。1|2

結果為3,1||2

結果為1。9.

條件運算子。

條件運算子的符號為

exp1?exp2:exp3

。它的含義是如果

exp1

的結果為真,則表示式的值為

exp2

,否則,整個表示式的值為

exp3

。10.

逗號表示式。

逗號表示式的符號為

exp1,exp2,exp3,…expn

。逗號表示式就是用逗號隔開的多個表示式。運算法則為:從左到右依次執行。整個表示式的結果是最後乙個表示式的結果。

11.下標引用、函式呼叫和結構成員。

下標引用:

符號位[ ]

。運算元為乙個陣列名

+乙個索引值。

函式呼叫操作符:

接受乙個或多個運算元:第乙個運算元是函式名,剩餘的運算元就是傳遞給函式的引數。至少會有乙個運算元,即函式名。

結構成員:

訪問乙個結構的成員:

. 結構體.成員

->

結構體指標

->

成員名。

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表示正...