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 );
(変換指定文字列で、期待していなかったデータを入力すると、 バッファのデータをそのまま残し、動作を終了してしまいます。)