首页 > 编程笔记

C++ if语句的嵌套(入门必读)

在 C++ 程序中,if 判断语句的结构如下:
if(判断条件){
    语句块1
}else{
    语句块2
}
所谓嵌套,指的是 if 或者 else 中的语句块还可以是 if else 判断语句,必要时可以使用多个,例如下面的形式:
if(判断条件1){       // ①
    if(判断条件2){   // ②
        语句块1
    }else{
        语句块2
    }
}else{
    if(判断条件3){   // ③
        语句块3
    }else{
        语句块4
    }
}
其中的每个语句块还可以是一个 if else 判断语句,以此类推。

在嵌套的 if else 语句中,哪个 else 匹配哪个 if 不是靠缩进决定的,遵循的匹配规则是:else 总是与它前面最近、尚未匹配的 if 配对。

例如在上面的嵌套结构中,第 4 行的 else 匹配的是 ② 处的 if,第 7 行的 else 匹配的是 ① 处的 if,第 10 的 else 匹配的是 ③ 处的 if。

举个简单的例子,用嵌套的 if else 语句判断一个数字的正负和奇偶性:
#include <iostream>

int main() {
    int number;

    std::cout << "请输入一个整数:";
    std::cin >> number;

    if (number > 0) {
        std::cout << "这是一个正数。\n";

        if (number % 2 == 0) {
            std::cout << "这是一个偶数。\n";
        } else {
            std::cout << "这是一个奇数。\n";
        }

    } else if (number < 0) {
        std::cout << "这是一个负数。\n";
    } else {
        std::cout << "这是零。\n";
    }

    return 0;
}
输出结果为:

请输入一个整数:10
这是一个正数。
这是一个偶数。

总结

在 C++ 程序中,嵌套的 if else 语句可以处理多级、复杂的条件判断。合理地组织和使用嵌套的 if else 语句,我们可以编写出处理各种逻辑场景的灵活代码。

在编写嵌套的 if else 语句时,合理地注释和格式化代码将有助于保持代码的可读性和可维护性。

推荐阅读