為了您的閱讀體驗,請移步至專欄文章c語言·操作符小結(排版原因,尤其是使用手機閱讀的人
c語言中操作符分為以下幾類:
算術操作符:
+ - * / % 1.除了%操作符之外,其他的幾個操作符可以作用於整數和浮點數。
2.對於/操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行
的就是浮點數除法。3.%操作符的兩個運算元必須為整數。返回的是整除之後的餘數。
移位操作符:
<< >>
分別是左移和右移操作符。左邊拋棄,右邊補0
>>右移操作符運算分為邏輯移位和算術移位兩種。移位規則分別是「左邊用0填充,右邊丟棄」,
「左邊用原該值的符號位填充,右邊丟棄」
位操作符 :
& | ^
分別是與,或,非。需要注意的是他們的運算元都必須是整數。
賦值操作符:
= += -= *= /= %=
等等,賦值操作符可以重新給變數賦乙個新的值。
單目操作符:
!- + & sizeof ~ ++ -- * (型別)
。!- + &
~ * (型別)
分別是邏輯反操作,負值,
正值,取位址,對乙個數的二進位制按位取反,解引用操作符,強制型別轉換。++和--是自增,
自減運算子,分為前置和後置。前置是先用值,用完當前值以後在當前值的基礎上+1或-1,後
置是先在當前值的基礎上+1或-1以後再用加減以後的值。sizeof可以求變數(型別)所佔空間
的大小。
void test1(int arr)
void test2(char ch)
關係操作符:
> >= < <= != ==
其中!=和==用於測試不相等和相等,在這裡需要注意的是在實際寫
**不要將
==和=寫錯。
==是用於判斷而=是用於賦值。
邏輯操作符:
&& ||
分別為邏輯與(一假則假)和邏輯或(一真則真)。使用時應注意邏輯與和按位
與,邏輯或和按位或的區別。例如:
1&2------->0
1&&2------->1 1|2------->3 1||2------->1
#include
int main()
執行結果分別是1,2,3,4(先用a=0和後面的進行邏輯與運算,然後a=a+1,因為a=0,而
邏輯與運算的特點是一假則假,因此後面的不需要再進行計算)和1,2,3,4(
先用a=0和
後面的進行
邏輯或運算,然後a=a+1,第乙個或運算右邊是先b=b+1然後再與a=0或運算,
因為邏輯或運
算的特點是一真則真,所以後面的不需要再進行計算
)。條件操作符:
exp1 ? exp2 :exp3
if(a>b)
max=a;
else
max=b;
等價於max=(a>b)?a:b;
如果exp1
成立則執行
exp2
,否則執行
exp3。
逗號表示式:
exp1 , exp2 ,exp3·····expn
逗號表示式就是用逗號隔開的多個表示式。從左向右依次
執行,最後的結果就是最後乙個表示式的結果。例如:
int a=1,b=2;int c=(a>b,a=b+10,b=a+1);
那麼這裡的c就應該等於13。
下標引用、函式呼叫和結構成員:
[ ] ()
.->
分別為下標引用,函式呼叫和結構成員。
[ ]例如arr[2],
[ ]接收兩個運算元,即
arr(陣列名)和2(下標)。()用於函式的呼叫,例如:
void test()
int main()
()至少接收乙個運算元即函式名。.的使用形式為 結構體.成員名 。->的使用形式為
結構體指標->成員名 。 例如:
#include
struct stu
;void set_age1(struct stu stu)
void set_age2(struct stu* pstu)
C語言 操作符小結
c語言中操作符分為以下幾類 算術操作符 1.除了 操作符之外,其他的幾個操作符可以作用於整數和浮點數。2.對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行的就是浮點數除法。3.操作符的兩個運算元必須為整數。返回的是整除之後的餘數。移位操作符 1 左移操作符的移位規則是左邊拋棄,右...
C語言操作符小結
算數操作符 正常運算就好,但 和 較為特殊需要注意!移位操作符 ps 不要對負數進行移位操作,這是未定義行為!include include intmain 位操作符 ps 按二進位制位操作,運算元必須為整數 賦值操作符 修改變數的值,可以連續連續賦值 例 a x y 1 但強烈不建議這麼寫,可讀性...
c 操作符過載小結
對於函式過載,大家都不陌生。所謂過載函式,是指 具有相同的函式名,具有不同的特徵標,這裡的特徵標不同具體為 具有的引數型別,引數個數不同,且只要有乙個不同就構成過載。注意 與返回型別無關。操作符過載 我們一般將其作為類的成員函式,但也不必一定是成員函式,但必須至少有乙個運算元是使用者定義的型別 如果...