カテゴリ: C言語 更新日: 2026/03/13

C言語のswitch文の基本を徹底解説!caseとdefaultの使い方を初心者向けにわかりやすく解説

C言語のswitch文の基本とcase, defaultの使い方
C言語のswitch文の基本とcase, defaultの使い方

先生と生徒の会話形式で理解しよう

生徒

「C言語で条件によって処理を変える方法を勉強しているのですが、if文以外にも方法はあるんですか?」

先生

「あります。C言語ではswitch文という条件分岐の方法があります。特に、値によって処理を切り替えるときにとても便利です。」

生徒

「switch文って、if文と何が違うんですか?」

先生

「if文は条件式で判断しますが、switch文は一つの値をもとに複数の処理を分けるときに使います。caseやdefaultという仕組みを使って分岐します。」

生徒

「caseとかdefaultって初めて聞きました。どんな仕組みなんですか?」

先生

「それでは、C言語のswitch文の基本と、caseとdefaultの使い方を順番に見ていきましょう。」

1. C言語のswitch文とは?

1. C言語のswitch文とは?
1. C言語のswitch文とは?

C言語のswitch文とは、プログラムの中で値によって処理を分岐するための制御構文です。制御構文とは、プログラムの流れをコントロールするための仕組みのことです。

例えば、ゲームのメニュー選択、数字による処理分岐、入力された値による動作変更など、多くの場面で使われます。

switch文では、ある変数の値を調べて、その値に対応した処理を実行します。このときに使うのがcaseというキーワードです。

また、どの条件にも当てはまらない場合の処理としてdefaultを使うこともできます。これは、if文でいうelseのような役割です。

2. switch文の基本構文

2. switch文の基本構文
2. switch文の基本構文

まずは、C言語のswitch文の基本的な書き方を見てみましょう。switch文は、特定の変数の値を調べて、その値に対応したcaseの処理を実行します。


switch(変数)
{
    case 値1:
        処理;
        break;

    case 値2:
        処理;
        break;

    default:
        処理;
}

ここで登場するbreakは、switch文を終了する命令です。breakを書かないと、次のcaseまで処理が続いてしまうため注意が必要です。

つまりswitch文は、「値がどれかに一致したら、そのcaseの処理を実行する」という仕組みになっています。

3. caseを使った基本的な分岐処理

3. caseを使った基本的な分岐処理
3. caseを使った基本的な分岐処理

それでは、実際のC言語プログラムでswitch文を使ってみましょう。ここでは、数字によってメッセージを表示する例を紹介します。


#include <stdio.h>

int main()
{
    int number = 2;

    switch(number)
    {
        case 1:
            printf("数字は1です\n");
            break;

        case 2:
            printf("数字は2です\n");
            break;

        case 3:
            printf("数字は3です\n");
            break;
    }

    return 0;
}

このプログラムでは、変数numberの値を調べています。値が2なので、case2の処理が実行されます。


数字は2です

このようにswitch文を使うと、複数の条件分岐をわかりやすく書くことができます。

4. defaultの使い方(どれにも当てはまらない場合)

4. defaultの使い方(どれにも当てはまらない場合)
4. defaultの使い方(どれにも当てはまらない場合)

switch文では、どのcaseにも一致しない場合の処理を書くことができます。それがdefaultです。

defaultは、if文でいうelseのような役割を持っています。つまり、「どれにも当てはまらないときの処理」です。


#include <stdio.h>

int main()
{
    int num = 5;

    switch(num)
    {
        case 1:
            printf("1が選ばれました\n");
            break;

        case 2:
            printf("2が選ばれました\n");
            break;

        default:
            printf("1でも2でもありません\n");
    }

    return 0;
}

1でも2でもありません

このようにdefaultを書くことで、予想外の値が入力された場合でも安全に処理を行うことができます。

5. breakを書かないとどうなる?

5. breakを書かないとどうなる?
5. breakを書かないとどうなる?

switch文で初心者がよく間違えるのがbreakの書き忘れです。

breakを書かないと、次のcaseの処理まで続いて実行されてしまいます。この動作をフォールスルーと呼びます。


#include <stdio.h>

int main()
{
    int num = 1;

    switch(num)
    {
        case 1:
            printf("1です\n");

        case 2:
            printf("2です\n");
            break;
    }

    return 0;
}

1です
2です

本来は1だけ表示したいのに、case2まで実行されてしまいました。これを防ぐために、通常はcaseの最後にbreakを書きます。

6. switch文の実践例(メニュー選択)

6. switch文の実践例(メニュー選択)
6. switch文の実践例(メニュー選択)

最後に、switch文の実践的な使い方として、簡単なメニュー選択プログラムを紹介します。

このような処理は、C言語のプログラムやコンソールアプリケーションでよく使われます。


#include <stdio.h>

int main()
{
    int menu = 3;

    switch(menu)
    {
        case 1:
            printf("新規作成を選びました\n");
            break;

        case 2:
            printf("ファイルを開きます\n");
            break;

        case 3:
            printf("プログラムを終了します\n");
            break;

        default:
            printf("正しい番号を入力してください\n");
    }

    return 0;
}

プログラムを終了します

このようにswitch文を使うと、複数の選択肢を持つ処理を整理して書くことができます。

特にC言語のプログラムでは、入力値による処理分岐、メニュー処理、状態管理などでswitch文がよく利用されます。

7. switch文を使うメリット

7. switch文を使うメリット
7. switch文を使うメリット

C言語でswitch文を使うメリットはいくつかあります。

まず、条件分岐が見やすく整理されることです。if文を何度も書くよりも、switch文の方が構造がわかりやすくなります。

次に、値による分岐処理を効率よく書ける点です。caseを並べるだけで複数の条件に対応できるため、コードが読みやすくなります。

また、defaultを使うことで想定外の入力にも対応できる安全なプログラム

C言語のswitch文、case、defaultの使い方を理解すると、条件分岐のプログラムをより簡単に書けるようになります。C言語の基礎を学ぶうえで、とても重要な制御構文の一つです。

まとめ

まとめ
まとめ

C言語のswitch文の基本を振り返る

ここまで、C言語のswitch文の基本、caseの使い方、defaultの役割、そしてbreakの重要性について詳しく学んできました。switch文はC言語の制御構文の一つであり、プログラムの流れを値によって分岐させるための非常に重要な仕組みです。特にC言語の学習を始めたばかりの初心者にとって、if文と並んで理解しておきたい基本構文の一つです。

C言語のswitch文は、ある変数の値を調べて、その値に一致するcaseの処理を実行する仕組みになっています。if文では条件式を使って複雑な条件判断を行うことができますが、switch文は数値や定数などの値によって処理を分岐する場合に非常に読みやすく整理されたコードを書くことができます。

switch文の基本構文では、まずswitchの括弧の中に判定したい変数を書き、その値に応じてcaseを並べて処理を書いていきます。そして通常はcaseの最後にbreakを書き、処理が終わったらswitch文を抜けるようにします。breakを書かない場合はフォールスルーという動作が発生し、次のcaseの処理まで実行されてしまうため注意が必要です。

また、defaultを使うことで、どのcaseにも一致しなかった場合の処理を書くことができます。これはif文のelseに似た役割を持っており、予期しない値が入力された場合でも安全に処理を行うことができるようになります。C言語で安定したプログラムを作るためには、このdefaultの活用も非常に大切です。

switch文がよく使われるプログラム例

C言語のswitch文は、さまざまなプログラムで利用されています。たとえば、コンソールアプリケーションのメニュー処理、ゲームの操作入力、数値による処理切り替え、プログラムの状態管理など、多くの場面で活躍します。

例えば、ユーザーが入力した番号によって処理を切り替える場合、if文を何度も書くよりもswitch文を使った方がコードが整理されて読みやすくなります。このように、C言語のswitch文はプログラムの可読性を高めるうえでも非常に重要な構文です。

switch文の理解を深めるサンプルプログラム

最後に、C言語のswitch文の基本を復習するための簡単なサンプルプログラムを紹介します。このプログラムでは、曜日を表す数字によってメッセージを表示する処理を作っています。


#include <stdio.h>

int main()
{
    int day = 4;

    switch(day)
    {
        case 1:
            printf("月曜日です\n");
            break;

        case 2:
            printf("火曜日です\n");
            break;

        case 3:
            printf("水曜日です\n");
            break;

        case 4:
            printf("木曜日です\n");
            break;

        case 5:
            printf("金曜日です\n");
            break;

        default:
            printf("休日または不明な曜日です\n");
    }

    return 0;
}

木曜日です

このようにC言語のswitch文を使うことで、数値による条件分岐を整理して書くことができます。caseを並べることで処理の流れがわかりやすくなり、プログラムを読む人にとって理解しやすいコードになります。

C言語のプログラムでは、入力値による処理分岐、数値判定、メニュー選択、状態管理など、さまざまな場面でswitch文が使われます。そのため、switch文の基本構文、caseの使い方、defaultの役割、breakの意味をしっかり理解しておくことがとても重要です。

switch文は一見するとシンプルな構文ですが、プログラムの可読性を高めたり、条件分岐を整理したりするうえで非常に大きな役割を持っています。C言語の基礎をしっかり身につけるためにも、今回学んだswitch文の仕組みをしっかり理解して、実際のプログラム作成でも積極的に活用していきましょう。

先生と生徒の振り返り会話

生徒

「今日はC言語のswitch文について勉強しましたが、switch文は値によって処理を分けるときに便利な構文なんですね。if文と似ていると思っていましたが、使い方が少し違うことがわかりました。」

先生

「その通りです。C言語のswitch文は、一つの値を基準に複数の処理を分ける場合にとても便利です。caseを並べて書くことで、条件分岐が整理された読みやすいコードになります。」

生徒

「caseの最後にbreakを書くのも大事なんですよね。もしbreakを書き忘れると、次のcaseの処理まで実行されてしまうフォールスルーという動作になると理解しました。」

先生

「よく理解できていますね。C言語のswitch文ではbreakの書き忘れがよくあるミスなので、必ず確認する習慣をつけることが大切です。」

生徒

「defaultも大切な役割があることがわかりました。どのcaseにも当てはまらないときの処理を書くことで、予想外の入力にも対応できるようになるんですね。」

先生

「その通りです。C言語のプログラムでは、予期しない入力が起きる可能性を考えてプログラムを書くことが大切です。そのためdefaultを書いておくことで、安全で安定したプログラムになります。」

生徒

「C言語のswitch文、case、default、breakの意味がよく理解できました。これからプログラムを書くときに積極的に使ってみたいと思います。」

先生

「とても良いですね。C言語の基本構文であるswitch文をしっかり理解しておくと、条件分岐のプログラムをきれいに書けるようになります。これからも実際にコードを書きながら理解を深めていきましょう。」

カテゴリの一覧へ
新着記事
New1
C++
C++の関数の作り方を完全ガイド!初心者でもわかる基本構文と定義方法
New2
Rust
Rustのビット演算子とビット操作を徹底解説!低レイヤ開発への第一歩
New3
C言語
C言語の配列名はポインタ?暗黙の変換を初心者向けにわかりやすく解説
New4
C++
C++が今でも現役で使われる理由を徹底解説!長年愛されるプログラミング言語の魅力
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語を学ぶ初心者におすすめの環境構築手順【2025年版】
No.2
Java&Spring記事人気No2
C言語
C言語のソースコードとヘッダファイルの役割とは?初心者向けにわかりやすく解説!
No.3
Java&Spring記事人気No3
C++
MinGWとMSYS2でWindowsにC++環境を構築する方法を徹底解説!初心者でもできるセットアップガイド
No.4
Java&Spring記事人気No4
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.5
Java&Spring記事人気No5
C言語
LinuxでC言語開発環境を構築する方法【GCCとMakefileの基本】
No.6
Java&Spring記事人気No6
C言語
C言語開発でよく使われるエディタとIDEランキング【初心者向け完全ガイド】
No.7
Java&Spring記事人気No7
C++
CMakeの基本構文とCMakeLists.txtを初心者向けに解説
No.8
Java&Spring記事人気No8
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】