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