サンプルプログラム 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文の直後に脱出しています。