C++ でネストされた if-else ステートメントを使用する
胡金庫
2023年10月12日
この記事では、C++ でネストされた if-else ステートメントを使用する方法のいくつかの方法について説明します。
C++ で単一の if-else
ステートメントを使用して条件付きステートメントを実装する
条件付き実行を実装するために C++ 言語によって提供される 2 種類のステートメントがあります。1つは if
ステートメントで、条件に基づいて制御フローを分岐します。もう 1つは、式を評価して実行可能なパスの 1つを選択する switch
ステートメントです。if
ステートメントは、単一の条件として表現することも、さまざまな実行パスを制御するマルチステップステートメントとして構築することもできます。単一のステートメントが条件に従う場合、ブロックスコープを区別するために中括弧 {}
なしで記述することができることに注意してください。
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
if (array[0] > 1) cout << "array[0] <= 1" << endl;
if (array[0] > 1) {
cout << "array[0] <= 1" << endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
C++ でネストされた if-else
ステートメントを使用してマルチ条件プログラム制御フローを実装する
あるいは、ネストされた if-else
ステートメントを相互にチェーンして、複雑な条件付き制御フローを実装することもできます。指定された if-else
に中括弧がない場合は、ブロックが無条件で実行されることを意味することに注意してください。後者のシナリオは、複数の if
ステートメントがネストされており、すべての if
条件に対応する else
ブロックが同じレベルにあるわけではない場合に最も可能性が高くなります。このような問題を回避するには、中括弧スタイルを適用するか、IDE 固有のツールを使用してコード内のこのような問題を検出する必要があります。
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
if (array[4] > array[3]) {
cout << "array[4] > array[3]" << endl;
if (array[4] > array[5])
cout << "array[4] > array[5]" << endl;
else
cout << "array[4] <= array[5]" << endl;
}
if (array[4] > array[3]) {
cout << "array[4] > array[3]" << endl;
if (array[4] > array[5])
cout << "array[4] > array[5]" << endl;
else if (array[4] > array[6])
cout << "array[4] > array[6]" << endl;
else if (array[4] < array[5])
cout << "array[4] < array[5]" << endl;
else
cout << "array[4] == array[5]" << endl;
}
return EXIT_SUCCESS;
}
出力:
array[4] > array[3]
array[4] <= array[5]
array[4] > array[3]
array[4] < array[5]
著者: 胡金庫