C ++スイッチ


C ++スイッチステートメント

switchステートメントを使用して、実行する多くのコードブロックの1つを選択します。

構文

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

仕組みは次のとおりです。

  • switch式は1回評価されます
  • 式の値は、それぞれの値と比較されます case
  • 一致するものがある場合、関連するコードブロックが実行されます
  • およびキーワードはオプションであり、この章の後半で説明しbreakますdefault

次の例では、曜日番号を使用して曜日名を計算しています。

int day = 4;
switch (day) {
  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;
  case 4:
    cout << "Thursday";
    break;
  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
    break;
  case 7:
    cout << "Sunday";
    break;
}
// Outputs "Thursday" (day 4)

休憩キーワード

C ++がbreak キーワードに到達すると、スイッチブロックから抜け出します。

これにより、ブロック内でのコードとケーステストの実行が停止します。

一致するものが見つかり、仕事が終わったら、休憩の時間です。これ以上のテストは必要ありません。

ブレークは、スイッチブロック内の残りのすべてのコードの実行を「無視」するため、実行時間を大幅に節約できます。



デフォルトのキーワード

defaultキーワードは、大文字と小文字が一致しない場合に実行するコードを指定します

int day = 4;
switch (day) {
  case 6:
    cout << "Today is Saturday";
    break;
  case 7:
    cout << "Today is Sunday";
    break;
  default:
    cout << "Looking forward to the Weekend";
}
// Outputs "Looking forward to the Weekend"

注:デフォルトのキーワードは、スイッチの最後のステートメントとして使用する必要があり、ブレークする必要はありません。


C ++演習

エクササイズで自分をテストする

エクササイズ:

不足している部品を挿入して、次のswitchステートメントを完成させます。

int day = 2;
switch () {
 1:
    cout << "Saturday";
    break;
 2:
    cout << "Sunday";
    ;
}