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