從0開始學C++:if-else條件語句實戰案例

1. 什麼是if-else條件語句?

在編程中,我們經常需要根據不同的情況執行不同的操作。比如,判斷考試分數是否及格,決定是否輸出“合格”或“不合格”;或者判斷天氣是否下雨,決定是否提醒帶傘。這時候,就需要用到條件語句——最基礎的就是 if-else 語句。

if-else 的核心思想是:如果某個條件成立,就執行一段代碼;否則,執行另一段代碼。它讓程序擁有了“決策能力”,不再是簡單的順序執行。

2. if-else的基本語法

C++中 if-else 的語法結構有以下幾種常見形式:

2.1 單條件判斷(if)
if (條件表達式) {
    // 當條件表達式爲 true 時執行的代碼塊
}
  • 條件表達式:必須是一個能返回布爾值(truefalse)的表達式,比如 score >= 60(成績是否及格)。
  • 代碼塊:用大括號 {} 包裹的一段代碼,當條件成立時執行。如果只有一條語句,大括號可以省略,但建議養成寫大括號的習慣,避免邏輯錯誤。
2.2 二選一判斷(if-else)
if (條件表達式) {
    // 條件成立時執行
} else {
    // 條件不成立時執行
}
  • 如果條件表達式爲 true,執行 if 後的代碼塊;否則,執行 else 後的代碼塊。
2.3 多條件判斷(else if)

當需要判斷多個條件時,用 else if 連接後續條件,避免嵌套 if 導致代碼混亂:

if (條件1) {
    // 條件1成立時執行
} else if (條件2) {
    // 條件1不成立,但條件2成立時執行
} else if (條件3) {
    // 條件1、2不成立,但條件3成立時執行
} else {
    // 所有條件都不成立時執行
}
  • 注意:條件判斷是從上到下依次執行的,一旦某個條件成立,後面的條件將不再判斷。因此,條件範圍應從大到小(比如先判斷成績≥90,再判斷80-89,避免邏輯錯誤)。

3. 實戰案例1:判斷奇偶數

需求:輸入一個整數,判斷它是奇數還是偶數。

思路
任何整數除以2的餘數爲0則是偶數,否則是奇數。用 % 運算符(取餘)判斷:num % 2 == 0 時爲偶數。

代碼示例

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "請輸入一個整數:";
    cin >> num;  // 讀取用戶輸入的整數

    // 判斷是否爲偶數
    if (num % 2 == 0) {
        cout << num << " 是偶數" << endl;
    } else {
        cout << num << " 是奇數" << endl;
    }

    return 0;
}

運行測試
輸入 7,輸出:7 是奇數;輸入 10,輸出:10 是偶數

4. 實戰案例2:判斷成績等級

需求:輸入考試分數(0-100),輸出對應的等級(A/B/C/D/F)。
規則:90-100分 → A;80-89分 → B;70-79分 → C;60-69分 → D;<60分 → F。

思路
else if 依次判斷分數範圍,從高分到低分排列條件,避免錯誤歸類。

代碼示例

#include <iostream>
using namespace std;

int main() {
    int score;
    cout << "請輸入考試分數(0-100):";
    cin >> score;

    // 判斷分數是否合法(0-100)
    if (score < 0 || score > 100) {
        cout << "分數不合法!請輸入0-100之間的整數。" << endl;
    } else if (score >= 90) {  // 先判斷最高分數段
        cout << "成績等級:A" << endl;
    } else if (score >= 80) {  // 次高分段
        cout << "成績等級:B" << endl;
    } else if (score >= 70) {
        cout << "成績等級:C" << endl;
    } else if (score >= 60) {
        cout << "成績等級:D" << endl;
    } else {  // 最後處理不及格情況
        cout << "成績等級:F" << endl;
    }

    return 0;
}

運行測試
輸入 95 → 輸出 A;輸入 75 → 輸出 C;輸入 55 → 輸出 F;輸入 105 → 輸出“分數不合法”。

5. 注意事項與常見錯誤

  1. 條件表達式必須是布爾值
    比如 if (a = 5) 是錯誤的(賦值運算符返回值爲變量本身,不是布爾值),正確應爲 if (a == 5)== 是比較運算符,返回 true/false)。

  2. else if的順序
    必須從大到小排列條件,否則會導致邏輯錯誤。例如,判斷分數時,若先寫 score >=80,則 95 會被誤判爲 B(而非 A)。

  3. 大括號的使用
    即使只有一條語句,建議加上大括號。例如:

   if (num % 2 == 0)
       cout << "偶數";  // 不加大括號也能執行,但容易混淆
   else
       cout << "奇數";

但如果後續要擴展多條語句,不加大括號會報錯,因此養成寫大括號的習慣更安全。

  1. 條件表達式的範圍
    避免使用 if (num = 0) 這種可能被誤讀的寫法,可讀性差且易出錯。

6. 總結

if-else 是C++中最基礎的條件控制語句,通過它可以讓程序根據不同條件執行不同邏輯。核心要點:
- 單條件用 if,二選一用 if-else,多條件用 else if
- 注意條件判斷的順序(從大到小)和表達式的正確性。
- 通過實戰案例(如奇偶數、成績等級)熟悉語法,培養“邏輯決策”思維。

掌握 if-else 後,後續可以學習更復雜的嵌套條件(如 if 內再包含 if-else),或結合 switch 語句處理更多分支場景。

小夜