Menu
Coddy logo textTech

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");
}

この例では:

  • caseday の取り得る値を表します
  • day3 に等しいとき、"Wednesday" が出力されます
  • breakステートメントはswitch文を終了します
  • defaultケースは、明示的にカバーされていないすべての値を処理します

break がないと、実行は次の case へ「フォールスルー」します。

challenge icon

チャレンジ

簡単

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;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン