c 入門筆記 10 運算子

2021-08-13 16:24:12 字數 4634 閱讀 4519

運算子是指可以進行運算操作的符號。

而提供給運算子進行操作的數值我們把它們叫做運算元。所有的運算元由於都可以返回乙個值,因此它們都是表示式。

c++有好幾類運算子,其中最常用的是:

賦值運算子即可以實現對運算元進行賦值的功能。

例:

x =1;
該語句中」=」實現了將符號右邊的1賦給左右的x的目的,因此」=」叫做賦值運算子。

注意:常量都要放在右邊,不能放在左邊。因為常量是恆定不變的。

錯誤例子:

1 =x;      //錯誤例子
數**算符即可以實現對運算元進行數**算的功能。

例:

#include 

int main()

輸出:

30除以20等於:1餘10
+= 加等

-= 減等

*= 乘等

/= 除等

%= 模等

賦值運算子「=」與數**算符「+ - * / %」聯合起來使用,它表示將右值左值運算的結果再賦給左值

例:將變數a與乙個數值6相加的結果賦給變數a。

#include 

int main()

輸出:

8
此例可以簡寫為:將變數a與6相加的結果直接再賦給變數a

#include 

int main()

輸出:

8
還可以更加簡寫為:使用賦值運算子與數**算符聯合的方法:

#include 

int main()

輸出:

8
該例將賦值運算子「=」與數**算符「+」聯合起來使用,它表示將右值左值相加的結果再賦給左值

它的作用與a=a+6是相同的。

關糸運算子用來對兩個表示式進行比較,並根據比較結果返回乙個真值或者假值。

是真值還是假值取決於使用的關糸運算子。

關糸運算子

意義==等於

!=不等於

<小於

>大於

<=小於等於

>=大於等於

邏輯」與」運算子,表示如果運算子兩邊的條件表示式為真,那麼該邏輯表示式方才成立。

關鍵字:&&例:

#include 

int main()

return

0;}

輸出:

x是大於1且小於100的數。
邏輯」或」運算子,它只需要邏輯表示式一邊的條件為真,那麼整個表示式為真。

關鍵字:||例:

#include 

int main()

return

0;}

輸出:

x是乙個大於1或小於100的數。
邏輯」非」運算子,它只有乙個準則,也就是當條件為假時,它才為真。

關鍵字:」!

例:

#include 

int main()

else

return

0;}

輸出:

x等於0
在一行語句中出現3個或3個以上的邏輯運算子,就會產生優先順序的問題,也就是哪個邏輯運算子先執行,哪個邏輯運算子後執行的問題。

邏輯」與」&&優先於邏輯」或」||,見例1。

或者直接使用小括號」()」來明確哪個邏輯表示式優先。剛例2。

例1:

#include 

int main()

else

return

0;}

輸出:重點內容

成立
當int x = 1, y = 0, z = 3;

邏輯表示式中:

x>1 && y>1

|| z>1

x>1 && y>1 為假

z>1 為真

假||真

結果為真

例2:使用小括號」()」來確定邏輯」或」先執行。

#include 

int main()

else

return

0;}

輸出:

失敗
當int x = 1, y = 0, z = 3;

邏輯表示式中:

x>1 && (y>1

|| z>1)

y>1|| z>1 為真

x>1 &&假 為假

計算機只能分辨0和1,因此所有的數字、符號、字母在計算機看來都只有0和1兩種區別,即斷電和通電,自然它的邏輯也只有2個,」是」或者」否」。用1來代表」是」,用0代表」否」。

注:空字元』\0』是假值。

c++的語法中,沿用了這種方法,0代表」否」,也就是假,除了0之外的任何數值都為真。因此有時我們也可以看到這樣的語句:

例:判斷小括號中的數值是真還是假。

#include 

int main()

return

0;}

輸出:

大寫字母a返回的是真值
示例:z = (a>b)?a:b;

如果問號」?」左邊的表示式」(a>b)」為真,那麼把冒號」:」左邊的表示式」a」的值賦給」z」,否則把冒號」:」右邊的表示式的值賦給」z」。

三目運算子有三個操作物件,三目運算子通常用於賦值語句之中。

表示式1? 表示式2: 表示式3

關鍵字:? :

三目運算子巢狀結合方向是從右至左,如:

a>b?a:c>d?c:d;應理解為

a>b?a:(c>d?c:d);

例1:輸入兩個數,進行對比後輸出最大的數

//輸入兩個數,進行對比後輸出最大的數

#include

int main()

輸出:輸入第1個數為11,輸入第2個數為22

請輸入第1個數:11

請輸入第2個數:22

最大的數是:22

三目運算子允許對不同型別的數值進行操作,例如可以同時操作乙個浮點型變數和乙個整數變數。

三目運算子會將運算元的值都轉化為它們之中最高端別的型別。

如:兩個運算元分別是整型和浮點型變數,那麼整型變數會被轉化為浮點型變數,再對它們進行求值操作,也就是該表示式的值。

例:

#include 

int main()

輸出:

2.1
例:

#include 

int main()

輸出:

輸入f:

請輸入乙個字母:f

你輸入的字母小寫為:f

輸入f:

請輸入乙個字母:f

你輸入的字母小寫為:f

(char)(a>='a' && a

<='z'? a+32: a)

判斷a是否在大寫字母a到z之間的任意乙個字元。如果是則再加32變成小寫字母,否則直接輸出。

注:在ascii碼中,大小寫字元差值是32。

(char):把結果轉換為字元型。

C 運算子筆記

c 運算子又稱操作符,它是對資料進行運算的符號,參與運算的資料稱為 運算元 或 運算物件 由運算元和操作符連線而成的有效的式子稱為 表示式 按照運算子要求運算元個數的多少,可把c 運算子分為 單目 或一元 運算子 雙目 或二元 運算子 和 三目 或三元 運算子 三類。單目運算子一般位於運算元的前面,...

C 運算子筆記

c 原來也可以進行向量運算,這裡解決了乙個為時已久的疑惑。operatorstruct vector public vector vector rhs public override string tostring public static vector operator vector lhs,v...

C 運算子 筆記

1.賦值運算子 將其右側的值賦給左側的變數 2.算術運算子 將其左側的值與右側的值相加 將其左側的值減去右側的值 作為一元運算子,改變其右側值的符號 將其左側的值乘以右側的值 將其左側的值除以右側的值,如果兩數都是整數,計算結果將被截斷 當其左側的值除以右側的值時,取其餘數 只能應用於整數 對其右側...