Menu
Coddy logo textTech

Opérateur ternaire

Fait partie de la section Fundamentals du Journey C de Coddy — leçon 29 sur 63.

L'opérateur conditionnel ternaire est une syntaxe raccourcie pour exprimer une instruction if-else en une seule ligne.

La syntaxe est :

condition ? value_if_true : value_if_false;

Regardons un exemple. Tout d'abord, voici une instruction if-else traditionnelle :

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

Maintenant, réécrivons-le en utilisant l'opérateur ternaire :

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

Dans cet exemple :

  • a > b est la condition
  • Si la condition est vraie, a est retourné
  • Si la condition est fausse, b est retourné

L'opérateur ternaire peut également être imbriqué, mais cela peut rendre le code plus difficile à lire :

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

Défi

Facile

Créez un programme qui vérifie si un nombre est positif, négatif ou nul en utilisant l'opérateur conditionnel. Le programme doit :

  1. Prendre un entier en entrée de la part de l'utilisateur.
  2. Utiliser l'opérateur conditionnel pour déterminer si le nombre est positif, négatif ou nul.
  3. Afficher le résultat au format : "The number is [positive/negative/zero]".

Aide-mémoire

L'opérateur conditionnel ternaire fournit un moyen abrégé d'exprimer une instruction if-else sur une seule ligne.

Syntaxe :

condition ? value_if_true : value_if_false;

Exemple comparant un if-else traditionnel avec l'opérateur ternaire :

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

// Opérateur ternaire
int max = (a > b) ? a : b;

L'opérateur ternaire peut être imbriqué, bien que cela réduise la lisibilité :

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

Essayez vous-même

#include <stdio.h>

int main() {
    int number;
    scanf("%d", &number);
    
    // Écrivez votre code ci-dessous
    char* result = 
    
    printf("The number is %s\n", result);
    return 0;
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals