C++ 嵌套 if 语句

在 C++ 中, 嵌套 if-else 语句是合法的,这意味着您可以在一个 ifelse if 语句内使用另一个 ifelse if 语句。

嵌套 if 语句是一种 if 语句的变体,其中一个 if 语句可以在另一个 if 语句中嵌套。

嵌套 if 语句可以帮助您更精确地测试多个条件。

语法

C++ 中 嵌套 if 语句的语法:

if (boolean_expression 1) {
   // 当布尔表达式 1 为 true 时执行
   if (boolean_expression 2) {
      // 当布尔表达式 2 为 ture 时执行
   }
}

您可以嵌套 else if...else ,方式与嵌套 if 语句相似。

if (condition1) {
   // 如果 condition1 为 true,则执行此处的代码块
   if (condition2) {
      // 如果 condition2 也为 true,则执行此处的代码块
   } else {
      // 如果 condition2 为 false,则执行此处的代码块
   }
} else {
   // 如果 condition1 为 false,则执行此处的代码块
}

实例

以下实例通过 if 嵌套来实现不同条件的判断:

实例

#include <bits/stdc++.h>
using namespace std;

int main() {

    int x = 10;
    if (x < 20) {
        cout << "x 小于 20" << endl;
        if (x < 15) {
            cout << "x 小于 15" << endl;
        }
    }

    return 0;

}

在上面的示例中,首先检查 x 是否小于 20。 如果条件成立,if 语句中的第一条消息将被输出。 然后,程序将检查 x 是否小于 15。 如果这个条件也成立,那么 if 语句中的第二个消息将被输出。

当上面的代码被编译和执行时,它会产生下列结果:

x 小于 20
x 小于 15

另一个嵌套 if 实例:

实例 2

#include <bits/stdc++.h>
using namespace std;

int main() {

   // 局部变量声明
   int a = 100;
   int b = 200;

   // 检查布尔条件
   if (a == 100) {

       // 如果条件为真,则检查下面的条件
       if (b == 200) {
          // 如果条件为真,则输出下面的语句
          cout << "a 的值是 100,且 b 的值是 200" << endl;
       }
   }

   cout << "a 的准确值是 " << a << endl;
   cout << "b 的准确值是 " << b << endl;

   return 0;
}

当上面的代码被编译和执行时,它会产生下列结果:

a 的值是 100,且 b 的值是 200
a 的准确值是 100
b 的准确值是 200

以下实例演示了嵌套 if-else 语句的使用:

实例 3

#include <bits/stdc++.h>
using namespace std;

int main() {
    int x = 15;
    if (x < 20) {
        cout << "x 小于 20" << endl;
        if (x < 15) {
            cout << "x 小于 15" << endl;
        } else {
            cout << "x 大于等于 15" << endl;
        }
    } else {
        cout << "x 大于等于 20" << endl;
    }

    return 0;
}

以上实例中,首先检查 x 是否小于 20,如果条件成立,if 语句中的第一条消息将被输出。

然后,程序将检查 x 是否小于 15,如果这个条件也成立,那么 if 语句中的第二个消息将被输出。如果第二个条件不成立,则 else 语句中的消息将被输出。

如果 x 大于或等于 20,则 if 语句的第一个条件不成立,并且 else 语句中的消息将被输出。

当上面的代码被编译和执行时,它会产生下列结果:

x 小于 20
x 大于等于 15