C スイッチ
Switch ステートメント
多くの if..else
ステートメントを記述する代わりに、switch
ステートメントを使用できます。
switch
ステートメントは、実行する多くのコード ブロックの 中から1 つを選択します。
構文
switch(<em>expression</em>) {
case x:
<em>// code block</em>
break;
case y:
<em>// code block</em>
break;
default:
<em>// code block</em>
}
switch
式は一度評価されます- 式の値は、各ケースの値と比較されます
- 一致する場合は、関連するコード ブロックが実行されます。
break
ステートメントはswitch
ブロックから抜け出し、実行を停止しますdefault
のステートメントはオプションであり、大文字と小文字が一致しない場合に実行するコードを指定します
次の例では、曜日番号を使用して曜日名を計算しています。
例
int day = 4;
switch (day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
}
// Outputs "Thursday" (day 4)
break キーワード
C がbreak
キーワードに到達すると、switch ブロックから抜け出します。
これにより、ブロック内のコードとケース テストの実行が停止します。
一致が見つかり、仕事が終わったら、休憩の時間です。これ以上のテストは必要ありません。
ブレークは、switch ブロック内の残りのすべてのコードの実行を「無視」するため、実行時間を大幅に節約できます。
デフォルトのキーワード
default
キーワードは、大文字と小文字が一致しない場合に実行するコードを指定します。
例
int day = 4;
switch (day) {
case 6:
printf("Today is Saturday");
break;
case 7:
printf("Today is Sunday");
break;
default:
printf("Looking forward to the Weekend");
}
// Outputs "Looking forward to the Weekend"
注:default キーワードは、スイッチの最後のステートメントとして使用する必要があり、区切りは必要ありません。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。