C語言 操作符小結

2021-08-19 13:58:35 字數 2663 閱讀 3801

c語言中操作符分為以下幾類:

算術操作符:+ - * / %

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

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

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

移位操作符:<< >>

1、 《左移操作符的移位規則是左邊拋棄,右邊補0

2、>>右移操作符運算分為邏輯移位和算術移位兩種。移位規則分別是「左邊用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語言 操作符小結 排版原因,尤其是使用手機閱讀的人 c語言中操作符分為以下幾類 算術操作符 1.除了 操作符之外,其他的幾個操作符可以作用於整數和浮點數。2.對於 操作符如果兩個運算元都為整數,執行整數除法。而只要有浮點數執行 的就是浮點數除法。3.操作符的兩個運...

C語言操作符小結

算數操作符 正常運算就好,但 和 較為特殊需要注意!移位操作符 ps 不要對負數進行移位操作,這是未定義行為!include include intmain 位操作符 ps 按二進位制位操作,運算元必須為整數 賦值操作符 修改變數的值,可以連續連續賦值 例 a x y 1 但強烈不建議這麼寫,可讀性...

c 操作符過載小結

對於函式過載,大家都不陌生。所謂過載函式,是指 具有相同的函式名,具有不同的特徵標,這裡的特徵標不同具體為 具有的引數型別,引數個數不同,且只要有乙個不同就構成過載。注意 與返回型別無關。操作符過載 我們一般將其作為類的成員函式,但也不必一定是成員函式,但必須至少有乙個運算元是使用者定義的型別 如果...