Menu
Coddy logo textTech

三項演算子

CoddyのCジャーニー「Fundamentals」セクションの一部。レッスン 29/63。

三項条件演算子(ternary conditional operator)は、if-else文を1行で簡潔に記述するための短縮形です。

構文は次のとおりです。

condition ? value_if_true : value_if_false;

例を見てみましょう。まず、従来の if-else 文です。

int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

次に、三項演算子(ternary operator)を使って書き換えてみましょう:

int max = (a > b) ? a : b;

この例では:

  • a > b が条件(condition)です
  • 条件が true の場合、a が返されます
  • 条件が false の場合、b が返されます

三項演算子(ternary operator)はネストすることもできますが、コードが読みづらくなる可能性があります:

int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
challenge icon

チャレンジ

簡単

条件演算子を使用して、数値が positive、negative、または zero のいずれであるかを判定するプログラムを作成してください。プログラムの仕様は以下の通りです:

  1. ユーザーから整数の入力を受け取ります。
  2. 条件演算子を使用して、数値が positive、negative、または zero のいずれであるかを判定します。
  3. 結果を "The number is [positive/negative/zero]" の形式で出力します。

自分で試してみよう

#include <stdio.h>

int main() {
    int number;
    scanf("%d", &number);
    
    // 以下にコードを書いてください
    // プレースホルダーのテキストを条件式に置き換えてください
    char* result = "zero";
    
    printf("The number is %s\n", result);
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Fundamentalsのすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ