从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 语句处理更多分支场景。

小夜