switch文は、if文と同様に分岐を制御します。
switch文の基本
if文は条件に一致するものを分岐しますが、分岐の数はそれほど多くはありません。
switch文は、条件分岐を多数設けることができます。
if文でも作れないことはないのですが、好みの問題でしょうか、多くなったときは switch文を使うことが多いようです。
switch文 一般的な例
#include <stdio.h>
void main(void) {
int flag;
flag = 0;
switch(flag) {
case 0:
printf("case0\n");
break;
case 1:
printf("case1\n");
break;
case 2:
printf("case2\n");
break;
default:
printf("default\n");
}
}
実行結果
case0
switch文 特殊な使い方
#include <stdio.h>
void main(void) {
int flag;
flag = 0;
switch(flag) {
case 0:
printf("case0\n");
// break;
case 1:
printf("case1\n");
break;
case 2:
printf("case2\n");
break;
default:
printf("default\n");
}
}
実行結果
case0
case1
switch文で break しないと次のケースを実行します。
上記のような処理も可能となります。