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