サンプルプログラム cntl5.c
(8-5)switch文
switch文のフォーマットは、
switch( [整数変数] ) { case [定数1]: (処理1) break; // 省略すると次の[定数2]の処理も実行します。 case [定数2]: (処理2) break; // 省略すると次の[定数3]の処理も実行します。 case [定数3]: (処理3) ・ ・ ・ case [定数n]: break; // 省略すると次のdefaultの処理も実行します。 default: // いずれの定数でもないとき実行されます (処理) }
のように記述します。
switch文は、
if (var == 1) ~
else if (var == 2) ~
else if (var == 3) ~
else ~
のような文を簡潔に記述したいときに使用できます。
default:はいずれの定数でもなかった場合(つまりelseに相当)に実行されます。
break文でswitch文の直後へ脱出します。
#include <stdio.h> void main( void ) { int i; // i = 1; // iの値を変えて実行してみましょう! // i = 2; i = 3; // i = 4; switch( i ) { case 1: printf( "i = 1\n" ); break; case 2: printf( "i = 2\n" ); break; case 3: printf( "i = 3\n" ); break; default: printf( "etc.\n" ); } }
上記プログラムの実行結果
i = 3
iが3で初期化されていますのでcase 3:以降の処理が実行されます。
i = 3をコンソールに出力したら次の行のbreak文でswitch文の直後に脱出しています。