運算子是指可以進行運算操作的符號。
而提供給運算子進行操作的數值我們把它們叫做運算元。所有的運算元由於都可以返回乙個值,因此它們都是表示式。
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.算術運算子 將其左側的值與右側的值相加 將其左側的值減去右側的值 作為一元運算子,改變其右側值的符號 將其左側的值乘以右側的值 將其左側的值除以右側的值,如果兩數都是整數,計算結果將被截斷 當其左側的值除以右側的值時,取其餘數 只能應用於整數 對其右側...