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, condition
est évalué et
- si
condition
esttrue
,expression1
est exécuté. - Et, si
condition
c'est le casfalse
,expression2
est exécuté.
L'opérateur ternaire prend 3 opérandes ( condition
, expression1
et 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… else
instructions.
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'estfalse
.
Remarque : il n'est pas recommandé d'utiliser des opérateurs ternaires imbriqués. C'est parce que cela rend notre code plus complexe.