このような構文は,先週,学習したif文を使っても可能であるが,わかり難いプロ
グラムになる.switch文を使う方が簡単である.
1 #include <stdio.h>
2
3 int main(void)
4 {
5 int year;
6
7 printf("あなたは何年生ですか?\t");
8 scanf("%d",&year);
9
10 switch(year)
11 {
12 case 1:
13 printf("高専の生活にも慣れ,少し余裕ができる.\n");
14 break;
15 case 2:
16 printf("留年しなかったので,油断する.\n");
17 break;
18 case 3:
19 printf("レポートがきついが,要領を憶える.\n");
20 break;
21 case 4:
22 printf("専門科目が多く,たいへんきつい.\n");
23 break;
24 case 5:
25 printf("進路も決まり,ほっと一息.\n");
26 break;
27 default:
28 printf("%d年生はありません!\n",year);
29 break;
30 }
31
32 return 0;
33 }
書式
switch(式){
case 定数式1:
文1;
文2;
break;
case 定数式2:
文1;
文2;
break;
case 定数式3:
文1;
文2;
break;
default:
文7;
文8;
break;
}
|
この構文のフローチャートを,図1に示す.これは,式の値により,それ にマッチしたブロック4 が実行される.もし,どれもマッチしなければ,defaultが実行される. default文は無くてもよいが,その場合はどのブロックも実行されない場合がある.