if-else 文の入れ子(多方向分岐)

形式:

if (条件1) {
    処理1
} else if (条件2) {
    処理2
} else if (条件3) {
    処理3
}
  .
  .
  .
else {
    処理n
}

例文:

得点 s に応じて出力する成績を変える。四方向分岐の例。

if (s >= 80) {
    printf("優\n");    /* 80点以上なら優 */
} else if (s >= 70) {
    printf("良\n");    /* 70点以上80点未満なら良 */
} else if (s >= 60) {
    printf("可\n");    /* 60点以上70点未満なら可 */
} else {
    printf("不可\n");  /* 60点未満なら不可 */
}

注意:

  1. 最後の else 以降は省略することもできる。 この場合、条件 1 〜 n - 1 のどれも満たさなければ何の処理も行われない。
  2. 処理 1 〜 n の記述が単文の場合、ブロックを表す { } は省略することができる。 ただし、処理範囲を明確にするため、単文の場合にも { } をつけてブロック化する習慣をつけることが望ましい。
    ブロック化の省略と処理の流れ
  3. 処理 1 〜 n を記述する各文の最後に ; (セミコロン)を忘れないこと!