在C++編程中,運算符是處理數據和邏輯判斷的基礎工具。它們就像數學公式中的符號,幫助我們對變量、常量進行計算和比較。本節將從最基礎的算術、比較和邏輯運算符入手,用簡單易懂的方式爲初學者詳解這些核心語法。
一、什麼是運算符?¶
運算符是告訴編譯器對數據進行特定操作的符號。例如,+ 是加法運算符,== 是等於比較運算符。C++提供了多種運算符,我們先從最常用的三類開始學習:算術運算符(處理數值計算)、比較運算符(判斷大小關係)和邏輯運算符(組合條件判斷)。
二、算術運算符¶
算術運算符用於對數值進行加減乘除等基本運算,主要包括以下幾種:
1. 基本算術運算符¶
| 運算符 | 名稱 | 作用 | 示例(假設a=5,b=3) | 結果 |
|---|---|---|---|---|
+ |
加法 | 兩個數相加 | a + b |
8 |
- |
減法 | 第一個數減第二個數 | a - b |
2 |
* |
乘法 | 兩個數相乘 | a * b |
15 |
/ |
除法 | 第一個數除以第二個數 | a / b |
1 |
% |
取模 | 第一個數除以第二個數的餘數 | a % b |
2 |
注意:
- 除法/:若操作數都是整數(如5/2),結果會截斷小數部分(只保留整數);若有浮點數(如5.0/2),則保留小數(結果爲2.5)。
- 取模%:僅用於整數,結果是“商的整數部分”後的餘數(餘數符號與被除數一致)。例如:-5 % 3 = -2,5 % -3 = 2。
2. 自增/自減運算符(++、–)¶
自增(++)和自減(--)是特殊的算術運算符,用於將變量的值加1或減1。它們有“前置”和“後置”兩種用法,區別在於先操作還是後操作:
-
前置++:先加1,再使用變量值。
語法:++變量名
示例:int a = 1; ++a;→a變爲2,此時使用a的值爲2。 -
後置++:先使用變量當前值,再加1。
語法:變量名++
示例:int a = 1; int b = a++;→b先取a的當前值1,然後a變爲2。
示例對比:
int x = 3;
int y = ++x; // 前置++:x先+1變爲4,y取x的值4
cout << "x=" << x << ", y=" << y << endl; // 輸出:x=4, y=4
int m = 3;
int n = m++; // 後置++:n先取m的當前值3,m再+1變爲4
cout << "m=" << m << ", n=" << n << endl; // 輸出:m=4, n=3
三、比較運算符¶
比較運算符用於判斷兩個值的關係,結果是布爾值(true或false),常用於條件判斷(如if語句)。主要包括:
| 運算符 | 名稱 | 作用 | 示例(假設a=5,b=3) | 結果 |
|---|---|---|---|---|
== |
等於 | 判斷兩個值是否相等 | a == b |
false |
!= |
不等於 | 判斷兩個值是否不相等 | a != b |
true |
> |
大於 | 判斷左邊值是否大於右邊值 | a > b |
true |
< |
小於 | 判斷左邊值是否小於右邊值 | a < b |
false |
>= |
大於等於 | 判斷左邊值是否大於等於右邊值 | a >= b |
true |
<= |
小於等於 | 判斷左邊值是否小於等於右邊值 | a <= b |
false |
注意:
- 比較運算符返回的是布爾值(true或false),在C++中可以用cout輸出(實際輸出爲1或0,但bool類型會被解釋爲true/false)。
- 不要混淆賦值運算符=和等於比較==:=是賦值(如a = 5),==纔是判斷是否相等(如a == 5)。
示例:
int a = 5, b = 5;
bool equal = (a == b); // true(5等於5)
bool notEqual = (a != b); // false(5不等於5?不,這裏a和b都是5,所以是false)
bool greater = (a > b); // false(5不大於5)
cout << "equal=" << equal << ", notEqual=" << notEqual << endl; // 輸出:equal=1, notEqual=0
四、邏輯運算符¶
邏輯運算符用於組合多個條件,進行“與”“或”“非”的邏輯判斷,結果仍是true或false。
1. 邏輯與(&&)¶
- 作用:兩個條件都爲
true時,結果才爲true;否則爲false。 - 短路特性:若左側條件爲
false,右側條件不再執行(節省計算資源)。
示例:
bool result = (3 > 1) && (5 > 2); // true && true → true
bool result2 = (3 < 1) && (5 > 2); // false && true → false
2. 邏輯或(||)¶
- 作用:至少一個條件爲
true時,結果爲true;兩個都爲false時才爲false。 - 短路特性:若左側條件爲
true,右側條件不再執行。
示例:
bool result = (3 > 1) || (5 < 2); // true || false → true
bool result2 = (3 < 1) || (5 < 2); // false || false → false
3. 邏輯非(!)¶
- 作用:取反操作,
true變false,false變true。
示例:
bool result = !(3 > 1); // !true → false
bool result2 = !(5 == 5); // !false → true
邏輯運算符組合示例¶
int age = 18;
bool isAdult = (age >= 18) && (age <= 60); // true(18歲且不超過60歲)
bool isStudentOrAdult = (age < 18) || (age >= 60); // false(18歲既不是學生也不是老人)
bool isNotAdult = !(age >= 18); // false(18歲是成年人)
cout << "isAdult=" << isAdult << ", isStudentOrAdult=" << isStudentOrAdult << endl;
五、總結¶
運算符是C++編程的基礎工具,掌握算術、比較和邏輯運算符是後續學習的關鍵:
- 算術運算符用於數值計算,重點注意/(整數除法截斷小數)和%(取模僅對整數),以及++/--的前置後置區別。
- 比較運算符返回布爾值,用於判斷大小關係,需注意==(等於比較)和=(賦值)的區別。
- 邏輯運算符用於組合條件,&&(與)和||(或)有短路特性,!(非)用於取反。
通過以上示例和解釋,初學者可以逐步理解運算符的使用場景。多寫代碼練習(如修改示例中的數值觀察結果),能更快掌握這些基礎語法。