C++の条件分岐にはさまざまな形式がありますが、中でもif ~ else if ~ else
構文は、複数の条件を段階的に判断したい場面で非常に便利です。本記事では、入力された数値に応じて異なるメッセージを表示する簡単なプログラムを例に、その使い方を丁寧に解説いたします。
目次
サンプルコード(C++)
以下のコードでは、ユーザーの入力値に応じて異なるメッセージを出力します。
#include <iostream>
using namespace std;
int main()
{
int value;
cout << "任意の整数を入力してください。" << endl;
cin >> value;
if (value == 10) {
cout << "10が入力されました。" << endl;
}
else if (value == 20) {
cout << "20が入力されました。" << endl;
}
else {
cout << "10または20を入力してください。" << endl;
}
return 0;
}
コードの解説
このプログラムの処理の流れは以下のとおりです。
- ユーザーに対して整数の入力を求めます。
- 入力された値が
10
であれば、「10が入力されました。」と表示します。 - 入力値が
20
の場合は、「20が入力されました。」と表示されます。 - それ以外の数値であれば、「10または20を入力してください。」と案内されます。
このように、else if
を使うことで条件を順番に評価し、合致した部分の処理だけが実行されます。
if ~ else if ~ elseのポイント
- 最初の
if
条件が成り立たないとき、次にelse if
が評価されます。 else if
の条件も成り立たない場合、else
の処理が実行されます。- 条件に一致した段階で処理が確定し、残りの条件は評価されません。
応用例:3つ以上の条件がある場合
条件をさらに追加することも可能です。
if (value == 10) {
cout << "10です。" << endl;
}
else if (value == 20) {
cout << "20です。" << endl;
}
else if (value == 30) {
cout << "30です。" << endl;
}
else {
cout << "10・20・30以外の値です。" << endl;
}
このようにelse if
を重ねていくことで、さまざまな条件を分岐処理で扱うことができます。
まとめ
if ~ else if ~ else
は、複数の条件分岐を効率よく記述できる構文です。- 条件は上から順番に評価され、最初に一致したブロックだけが実行されます。
- 他の条件に影響しないよう、条件式を明確に書くことが大切です。
C++で複雑な処理を組み立てるうえで欠かせない構文ですので、初心者の方はぜひこの機会に理解を深めておきましょう。