今日の人気記事

  1. printf関数の変換指定子
  2. 2進数を10進数に変換する
  3. 条件演算子(3項演算子)「? :」
  4. int main(void) - プログラムの基本
  5. while文 - 繰り返し処理

switch文 - 数値による場合分け

当ページのリンクには広告が含まれています。

スポンサーリンク

数値による場合分けを行う switch文を紹介します。

switch文

switch文は条件式の数値によって、いくつもの処理に分岐することができます。分岐の数が多くて else if文で記述するのがめんどくさい場合に重宝します。

switch(条件式){
  case 数値1:
    処理1;
    break;
  case 数値2:
    処理2-1;
    処理2-2;
    break;
  default:
    処理3;
    break;
}

switch文は「switch」「case」「break」「default」を使って、このように記述します。

条件式の数値が case の「数値1」と同じであれば「処理1」、「数値2」と同じであれば「処理2-1、処理2-2」、それ以外であれば default の「処理3」が実行されます。

case の数値の後ろにはコロン「:」。それぞれの case で複数の処理を記述することができ、break が見つかるまで実行します。また、case はいくつでも記述することができます。

それでは実際に switch文を使ってみましょう。

サンプルプログラム

入力した数値によって、分岐するプログラムです。

#include <stdio.h>

int main(void)
{
  /* 変数の宣言 */
  int a;

  /* 数値の入力 */
  printf("数値を入力してください = ");
  scanf("%d", &a);

  /* 条件分岐 */
  switch (a) {
    case 0: // a が 0
    printf("0 だよ。\n");
    break;

    case 1: // a が 1
    printf("1 だよ。\n");
    break;

    case 2: // a が 2
    printf("2 だよ。\n");
    break;

    case 3: // a が 3
    printf("3 だよ。\n");
    break;

    case 4: // a が 4
    printf("4 だよ。\n");
    break;

    case 5: // a が 5
    printf("5 だよ。\n");
    break;

    default: // それ以外
    printf("それ以外だよ。\n");
    break;
  }

  return 0;
}

いくつかの実行結果です。

数値を入力してください = 0
0 だよ。
数値を入力してください = 3
3 だよ。
数値を入力してください = 10
それ以外だよ。

このように入力した数値によって、処理が分岐していることが分かります。

次はif-else文のような条件分岐を行う演算子「条件演算子(3項演算子)」をみていきます。

基本構文 の人気記事

  1. printf関数の変換指定子
  2. 条件演算子(3項演算子)「? :」
  3. 関数のプロトタイプ宣言
  4. 変数の値を出力 - printf 関数
  5. エスケープシーケンス - 特殊文字
  6. int main(void) - プログラムの基本
  7. while文 - 繰り返し処理
  8. 配列の要素を出力(表示)する
  9. else if文 - 複数の条件式 - 条件分岐
  10. break文 - ループから抜ける

関連記事(一部広告含む)