C++ ネスト if 文

C++ 判断C++ 条件分岐

C++ では、ネストif-else 文は有効です。つまり、1つのif 或 else if文の中に別のif 或 else if文。

ネスト if 文は if 文の変種であり、1つの 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 <iostream>
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 文内の2番目のメッセージが出力されます。

上記のコードをコンパイルして実行すると、次の結果が生成されます:

x 小于 20
x 小于 15

別のネスト if の例:

例 2

#include <iostream>
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 <iostream>
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 文内の2番目のメッセージが出力されます。2番目の条件が満たされない場合は、else 文内のメッセージが出力されます。

x が 20 以上の場合、if 文の最初の条件は成立せず、else 文内のメッセージが出力されます。

上記のコードをコンパイルして実行すると、次の結果が生成されます:

x 小于 20
x 大于等于 15

C++ 判断C++ 条件分岐

その他の拡張