導入
3つ以上に分けたいときは else if を重ねます。短い分岐なら「三項演算子」で1行にも書けます。
説明
else if (条件) を上から順に見て、最初に合った枝だけが実行されます。
#include <stdio.h>
int main() {
int score = 75;
if (score >= 90) {
printf("優\n");
} else if (score >= 70) {
printf("良\n");
} else if (score >= 60) {
printf("可\n");
} else {
printf("不可\n");
}
return 0;
}
条件 ? A : B は「条件が真なら A、偽なら B」を表す三項演算子です。値を選ぶ短い分岐に便利です。
#include <stdio.h>
int main() {
int n = 7;
printf("%s\n", n % 2 == 0 ? "偶数" : "奇数"); // 奇数
int a = 5, b = 8;
int big = (a > b ? a : b); // 大きいほうを選ぶ
printf("大きいのは %d\n", big); // 8
return 0;
}
printf の %s は文字列を、%d は整数を差し込む書式です。三項演算子は式なので、printf の引数や変数への代入にそのまま使えます。
やってみよう
score の値を変えて、判定が変わることを確かめましょう。三項演算子の n も変えてみてください。
演習
int temp = 28; について、三項演算子で temp >= 25 なら 暑い、そうでなければ 快適 と表示してください(結果は 暑い)。
ヒント1を見る
printf("%s\n", temp >= 25 ? "暑い" : "快適");。