今日の人気記事

  1. MinGW - gccのコンパイルと実行 - Windows環境
  2. MinGW - gcc のインストール - Windows環境
  3. MacでC言語 - コンパイラ(gcc)のインストール - Xcode - Command Line Tools
  4. MinGW - gcc の環境設定(パスを通す) - Windows環境
  5. サンプルプログラム集

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項演算子)」をみていきます。

スポンサーリンク