Opérateur ternaire C ++ (avec exemples)

Dans ce tutoriel, nous allons découvrir l'opérateur ternaire en C ++ à l'aide d'exemples.

En C ++, l' opérateur ternaire (également appelé opérateur conditionnel ) peut être utilisé pour remplacer if… else dans certains scénarios.

Opérateur ternaire en C ++

Un opérateur ternaire évalue la condition de test et exécute un bloc de code en fonction du résultat de la condition.

Sa syntaxe est

 condition ? expression1 : expression2;

Ici, conditionest évalué et

  • si conditionest true, expression1est exécuté.
  • Et, si conditionc'est le cas false, expression2est exécuté.

L'opérateur ternaire prend 3 opérandes ( condition, expression1et expression2). D'où le nom d' opérateur ternaire .

Exemple: opérateur ternaire C ++

 #include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )

Sortie 1

 Entrez vos notes: 80 Vous avez réussi l'examen.

Supposons que l'utilisateur entre 80 . Ensuite, la condition est marks>= 40évaluée à true. Par conséquent, la première expression "passed"est affectée au résultat.

Sortie 2

 Entrez vos notes: 39,5 Vous avez échoué à l'examen.

Maintenant, supposons que l'utilisateur entre 39,5 . Ensuite, la condition est marks>= 40évaluée à false. Par conséquent, la deuxième expression "failed"est affectée au résultat.

Quand utiliser un opérateur ternaire?

En C ++, l'opérateur ternaire peut être utilisé pour remplacer certains types d' if… elseinstructions.

Par exemple, nous pouvons remplacer ce code

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

avec

 #include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )

Production

 Nombre négatif!

Ici, les deux programmes donnent le même résultat. Cependant, l'utilisation de l'opérateur ternaire rend notre code plus lisible et plus propre.

Remarque: nous ne devons utiliser l'opérateur ternaire que si l'instruction résultante est courte.

Opérateurs ternaires imbriqués

Il est également possible d'utiliser un opérateur ternaire à l'intérieur d'un autre opérateur ternaire. Il est appelé l'opérateur ternaire imbriqué en C ++.

Voici un programme pour savoir si un nombre est positif, négatif ou nul à l'aide de l'opérateur ternaire imbriqué.

 #include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )

Production

 Le nombre est zéro

Dans l'exemple ci-dessus, notez l'utilisation d'opérateurs ternaires,

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Ici,

  • (number == 0)est la première condition de test qui vérifie si le nombre est égal à 0 ou non. Si tel est le cas, il affecte la valeur de chaîne "Zero"au résultat.
  • Sinon, la deuxième condition de test (number> 0)est évaluée si la première condition l'est false.

Remarque : il n'est pas recommandé d'utiliser des opérateurs ternaires imbriqués. C'est parce que cela rend notre code plus complexe.

Articles intéressants...