スポンサードリンク
HOME > C言語 > 条件分岐 - switch

C言語 - 条件分岐 - switch

条件分岐のif文では、xxxの場合は○○○の処理、zzzの場合は△△△の処理をする。
といったプログラムを作りましたが、
今回は、条件分岐が非常に多い時に重宝するswitch文を説明します。

1〜12と数字を入れると、1月から12月までのそれぞれの英語を表示するプログラムを
作る事にします。

ファイル名:main.c
#include <stdio.h>

void main(void) {
   int a;

   printf("月を入力して下さい。(1〜12月)\n");
   scanf("%d", &a);

   switch (a) {
   case 1:
     printf("January\n");
     break;
   case 2:
     printf("February\n");
     break;
   case 3:
     printf("March\n");
     break;
   case 4:
     printf("April\n");
     break;
   case 5:
     printf("May\n");
     break;
   case 6:
     printf("June\n");
     break;
   case 7:
     printf("July\n");
     break;
   case 8:
     printf("August\n");
     break;
   case 9:
     printf("September\n");
     break;
   case 10:
     printf("October\n");
     break;
   case 11:
     printf("November\n");
     break;
   case 12:
     printf("December\n");
     break;
   default:
     printf("エラー\n");
   }
}


プログラムを実行すると以下のようになります。





入力する時は、入力してEnterを押してください。
成功すると上記のように表示されます。

ソースダウンロード

まず、で新しい記述が出てきました。
()の中には、比較対象とする変数などを入れます。
この場合は、変数aを対象とする。という意味になります。

のcase文は、「変数aが1の場合」と言う意味です。
そして、変数aが1の場合、の文が実行されます。
caseの後ろは、セミコロン(;)ではなく、コロン(:)なので、注意してください。

のbreak文は、switch文を抜けると言う意味です。

のdefaultは、上で書いたcase文のどれにも当てはまらなかった場合。と言う意味です。
この場合、1〜12の数値を対象としてるので、それ以外の数値の場合は、
"エラー"と表示するようにしました。

このプログラムをif文で書き換えるとしたら、else if 〜〜〜と言う記述が多く、
見た目にも、分かりやすさ的にもswitch文に劣ります。

if文とswitch文のどちらを使うかは、その時の状況に応じて
適切に使い分けて下さい。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved