本文へスキップ
BecomeCoder

C++コース · 第3章 制御構文 · レッスン11

switch ― 値で分岐する

ブラウザで完結

導入

1つの変数の値によって多くの枝に分けるときは、switch 文がすっきり書けます。

説明

switch (変数) の中に case 値: を並べます。合った case から実行し、break; でその switch を抜けます。どれにも合わないときは default: が実行されます。

#include <iostream>
using namespace std;

int main() {
    int day = 3;
    switch (day) {
        case 1:
            cout << "月曜" << endl;
            break;
        case 2:
            cout << "火曜" << endl;
            break;
        case 3:
            cout << "水曜" << endl;
            break;
        default:
            cout << "その他" << endl;
    }
    return 0;
}

break; を忘れると、次の case の処理まで続けて実行されてしまいます(これを「フォールスルー」と呼びます)。基本は各 case の最後に break; を書きます。

やってみよう

day の値を変えて、対応する曜日が表示されることを確かめましょう。break; を1つ消すと、下の case まで実行されることも試してください。

演習

int n = 2; について、switch1 なら 2 なら 、それ以外なら 不明 と表示してください(結果は )。

ヒント1を見る

case 1: case 2: を作り、それぞれ break;、最後に default:

実際に動かしてみよう

下のエディタにC++を書いて「実行」を押すと、ブラウザ内のインタプリタで出力が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう(cin を使う回は「標準入力」欄に値を入れてから実行します)。

C/C++ — ブラウザ内で実行

ブラウザ内でC/C++を動かす学習用インタプリタ(JSCPP)を読み込みます(入門向けのサブセットです)。
スクロールして表示された時点でも自動で読み込まれます。