月ノ書

【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
}

上から順番に条件が評価され
最初に 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 > 0num == 1

switch 文は
num > 0 のような 範囲判定には使えません

その場合は if 文を使います

この記事のまとめ

条件分岐を理解すると
プログラムが一気に「実用的」になります

学習進捗

0
Would love your thoughts, please comment.x