【C++入門】条件分岐を完全解説|if文とswitch文の使い分けをやさしく理解
この記事でわかること
この記事では、C++における 条件分岐 について解説します
- if 文を使った条件分岐の書き方
- switch 文を使った分岐処理の仕組み
条件分岐を理解すると
プログラムが「考えて動いている」ように見えてきます
条件分岐とは
条件分岐とは
条件によって処理の流れを変える仕組み のことです
たとえば
- 数字が正なら正と表示する
- 負なら負と表示する
- それ以外なら別の処理をする
このような判断を
プログラムの中で行うために使われます
if 文による条件分岐
まずは、最も基本的な条件分岐である if 文から見ていきます
#include <iostream>
using namespace std;
int main() {
int num;
cout << "数字を入力してください:";
cin >> num;
if (num > 0) {
cout << "正の数です" << endl;
} else if (num < 0) {
cout << "負の数です" << endl;
} else {
cout << "0です" << endl;
}
return 0;
}数字を入力してください:5
正の数ですif 文の基本構造
if 文は、条件が true のときだけ中の処理を実行します
if (条件) {
処理
}条件には、比較演算子や論理演算子を使った式を書きます
else if と else の役割
if (条件1) {
処理1
} else if (条件2) {
処理2
} else {
処理3
}- if
最初に判定される条件 - else if
追加で条件を判定したいときに使う - else
どの条件にも当てはまらなかった場合の処理
上から順番に条件が評価され
最初に true になった処理だけが実行されます
switch 文による分岐処理
次に、switch 文を使った条件分岐を見てみましょう
switch 文は 値ごとに処理を分けたいとき に向いています
#include <iostream>
using namespace std;
int main() {
int num;
cout << "1〜3の数字を入力してください:";
cin >> num;
switch (num) {
case 1:
cout << "1が入力されました" << endl;
break;
case 2:
cout << "2が入力されました" << endl;
break;
case 3:
cout << "3が入力されました" << endl;
break;
default:
cout << "1〜3以外が入力されました" << endl;
break;
}
return 0;
}1〜3の数字を入力してください:2
2が入力されましたswitch 文の基本構造
switch (値) {
case 値1:
処理
break;
case 値2:
処理
break;
default:
処理
}switch に指定した値とcase に書かれた値が一致した場合、その処理が実行されます
break を忘れないように注意
switch 文では break を書かないと、次の case まで実行されてしまいます
これを「フォールスルー」と呼びます
意図的に使うこともありますが、初心者のうちは基本的に case の最後には break を書く
と覚えておくのがおすすめです
if 文と switch 文の違い
| 比較項目 | if 文 | switch 文 |
|---|---|---|
| 条件 | 範囲や複雑な条件が書ける | 値の一致のみ |
| 使いどころ | 数値の大小判定など | 決まった値で分岐 |
| 例 | num > 0 | num == 1 |
switch 文はnum > 0 のような 範囲判定には使えません
その場合は if 文を使います
この記事のまとめ
- 条件分岐は、条件によって処理を変える仕組み
- if 文は柔軟な条件判定ができる
- switch 文は値ごとの分岐に向いている
条件分岐を理解すると
プログラムが一気に「実用的」になります