switch文
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 28/63。
switch文は、式がいくつかの定数整数の値のいずれかに一致するかどうかをテストし、それに応じて分岐する多方向の条件分岐です。
まず、switchで使用する整数を定義します:
int day = 3;次に、変数を評価する switch 文を作成します:
switch (day) {
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
default:
printf("Other day\n");
}この例では:
- 各
caseはdayの取り得る値を表します dayが3に等しいとき、"Wednesday" が出力されます
breakステートメントはswitch文を終了しますdefaultケースは、明示的にカバーされていないすべての値を処理します
break がないと、実行は次の case へ「フォールスルー」します。
チャレンジ
簡単switch文を使用して、次のように数値の成績をアルファベットの成績に変換するプログラムを作成してください:
- 90-100: 'A'
- 80-89: 'B'
- 70-79: 'C'
- 60-69: 'D'
- Below 60: 'F'
プログラムは数値の成績(0-100)を読み取り、対応するアルファベットの成績を表示する必要があります。成績を分類するために、10による整数除算を使用してください。
もし難しい場合は、レッスンの例を参考にしてください。
チートシート
switch 文は、式を複数の定数整数値に対してテストします:
int day = 3;
switch (day) {
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
default:
printf("Other day\n");
}- 各
caseは、考えられる値を表します break文は switch を終了しますdefaultケースは、一致しない値を処理しますbreakがない場合、実行は次のケースにフォールスルー(そのまま継続)します
自分で試してみよう
#include <stdio.h>
int main() {
int grade;
scanf("%d", &grade);
// この行より上は変更しないでください
// ここにコードを書いてください
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。