お知らせ
本日ABCDクラス合同避難訓練、第4時限目、本館141教室にて実施。
Switch文構文
条件式を判定して多方向分岐を行う。
switch (式) {
case 定数:
ブロック文
default:
デフォルト・ブロック文
}
Berak文構文
- switch文で、case句の処理を打ち切りブロックを脱出するときに用いる。 ⇒ 説明済み
- for文、while文などのループから脱出するときに、if文と併用して用いる。
break;
例題
毎月の末日の判断
#include <stdio.h>
int main()
{
int n;
printf("月を入力して下さい --> ");
scanf("%d", &n);
switch(n){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("--31日--\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("--30日--\n");
break;
case 2:
printf("--28日--\n");
break;
default:
printf("入力データの誤りです。\n");
break;
}
getch();
return 0;
}
演習
- 演習3-12 (A, B クラス)
- 演習3-13 (C, D クラス)
- 簡易電卓(自由選択)
実行例
加減乗除(+,-,*,/)ができます。指定例:2+5、終了時はq ready : 6.5 * 3 --> 19.5
ヒント:
- 演算記号の判定: switch 文
- 計算式の入力: scanf( “%lf %c %lf”, &a, &op, &b );
(変換指定文字列で、期待していなかったデータを入力すると、 バッファのデータをそのまま残し、動作を終了してしまいます。)
- アスキーコード表

no comment