三項演算子
CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 29/63。
三項条件演算子は、if-else文を1行で簡潔に表現するための手法です。
構文は以下の通りです:
condition ? value_if_true : value_if_false;例を見てみましょう。まず、従来のif-else文を紹介します:
int max;
if (a > b) {
max = a;
} else {
max = b;
}それでは、三項演算子を使って書き換えてみましょう:
int max = (a > b) ? a : b;この例では:
a > bが条件です- 条件が真(true)の場合、
aが返されます - 条件が偽(false)の場合、
bが返されます
三項演算子は入れ子にすることもできますが、コードが読みにくくなる可能性があります:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);チャレンジ
簡単条件演算子を使用して、数値が正、負、またはゼロであるかを確認するプログラムを作成してください。プログラムは以下の手順で行う必要があります:
- ユーザーから整数の入力を受け取ります。
- 条件演算子を使用して、その数値が正、負、またはゼロのいずれであるかを判定します。
- 結果を
"The number is [positive/negative/zero]"という形式で出力します。
チートシート
三項条件演算子は、if-else文を1行で表現するための簡潔な方法を提供します。
構文:
condition ? value_if_true : value_if_false;従来のif-elseと三項演算子を比較した例:
// 従来のif-else
int max;
if (a > b) {
max = a;
} else {
max = b;
}
// 三項演算子
int max = (a > b) ? a : b;三項演算子は入れ子(ネスト)にすることもできますが、可読性は低下します。
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);自分で試してみよう
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
// 以下にコードを書いてください
char* result =
printf("The number is %s\n", result);
return 0;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。