C++運算符入門:算術、比較與邏輯運算符詳解

在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 = -25 % -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

三、比較運算符

比較運算符用於判斷兩個值的關係,結果是布爾值truefalse),常用於條件判斷(如if語句)。主要包括:

運算符 名稱 作用 示例(假設a=5,b=3) 結果
== 等於 判斷兩個值是否相等 a == b false
!= 不等於 判斷兩個值是否不相等 a != b true
> 大於 判斷左邊值是否大於右邊值 a > b true
< 小於 判斷左邊值是否小於右邊值 a < b false
>= 大於等於 判斷左邊值是否大於等於右邊值 a >= b true
<= 小於等於 判斷左邊值是否小於等於右邊值 a <= b false

注意
- 比較運算符返回的是布爾值(truefalse),在C++中可以用cout輸出(實際輸出爲10,但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

四、邏輯運算符

邏輯運算符用於組合多個條件,進行“與”“或”“非”的邏輯判斷,結果仍是truefalse

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. 邏輯非(!

  • 作用:取反操作,truefalsefalsetrue

示例

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++編程的基礎工具,掌握算術、比較和邏輯運算符是後續學習的關鍵:
- 算術運算符用於數值計算,重點注意/(整數除法截斷小數)和%(取模僅對整數),以及++/--的前置後置區別。
- 比較運算符返回布爾值,用於判斷大小關係,需注意==(等於比較)和=(賦值)的區別。
- 邏輯運算符用於組合條件,&&(與)和||(或)有短路特性,!(非)用於取反。

通過以上示例和解釋,初學者可以逐步理解運算符的使用場景。多寫代碼練習(如修改示例中的數值觀察結果),能更快掌握這些基礎語法。

小夜