switch文 (選択文) | C言語

switch文はif文とは異なる条件分岐を行う制御文です。if文ほど汎用性は高くありません。一致する整数定数へ分岐するという使い方で、下記はそのもっとも単純な例です。

[基本形]

switch (条件式) {
case 整数定数:
  ...
  break;

case 整数定数:
  ...
  break;

default:
  ...
  break;
}

[例]

switch (num) {
case 0:
  // "num = 0"のとき実行
  break;  // switch文を抜ける

case 1:
  // "num = 1"のとき実行
  break;  // switch文を抜ける

default:
  // その他のとき実行
  break;  // switch文を抜ける
}
  • 条件式には計算式を入れることもできますが、その結果は整数である必要があります。
目次

break句は省略できる

break句を省略すると、switch文を抜けずに次のcase処理へ移行します。これをフォールスルーといいます。break句を入れ忘れることで不具合を引き起こすこともありますが、意図的にbreak句を省略することで複数の条件に対して同じ処理を実行することができます。

switch (num) {
case 0:
  // "num = 0"のとき実行
  break;  // switch文を抜ける

case 1:
case 2:
  // "num = 1"または"num = 2"のとき実行
  break;  // switch文を抜ける

default:
  // その他のとき実行
  break;  // switch文を抜ける
}

コメント

コメントする

CAPTCHA


目次