Operador Ternário C ++ (com exemplos)

Neste tutorial, aprenderemos sobre o operador ternário em C ++ com a ajuda de exemplos.

Em C ++, o operador ternário (também conhecido como operador condicional ) pode ser usado para substituir if… else em certos cenários.

Operador ternário em C ++

Um operador ternário avalia a condição de teste e executa um bloco de código com base no resultado da condição.

Sua sintaxe é

 condition ? expression1 : expression2;

Aqui, conditioné avaliado e

  • se conditionfor true, expression1é executado.
  • E, se conditionfor false, expression2é executado.

O operador ternário leva 3 operandos ( condition, expression1e expression2). Daí o nome operador ternário .

Exemplo: Operador Ternário 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; )

Produto 1

 Digite suas notas: 80 Você passou no exame.

Suponha que o usuário digite 80 . Em seguida, a condição marks>= 40avalia para true. Portanto, a primeira expressão "passed"é atribuída ao resultado.

Produto 2

 Digite suas notas: 39,5 Você foi reprovado no exame.

Agora, suponha que o usuário insira 39,5 . Em seguida, a condição marks>= 40avalia para false. Portanto, a segunda expressão "failed"é atribuída ao resultado.

Quando usar um operador ternário?

Em C ++, o operador ternário pode ser usado para substituir certos tipos de if… elseinstruções.

Por exemplo, podemos substituir este código

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

com

 #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; )

Resultado

 Número negativo!

Aqui, os dois programas fornecem a mesma saída. No entanto, o uso do operador ternário torna nosso código mais legível e limpo.

Nota: só devemos usar o operador ternário se a instrução resultante for curta.

Operadores ternários aninhados

Também é possível usar um operador ternário dentro de outro operador ternário. É chamado de operador ternário aninhado em C ++.

Este é um programa para descobrir se um número é positivo, negativo ou zero usando o operador ternário aninhado.

 #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; )

Resultado

 Número é zero

No exemplo acima, observe o uso de operadores ternários,

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

Aqui,

  • (number == 0)é a primeira condição de teste que verifica se o número é 0 ou não. Se for, ele atribui o valor da string "Zero"ao resultado.
  • (number> 0)Caso contrário, a segunda condição de teste é avaliada se a primeira condição for false.

Nota : Não é recomendado usar operadores ternários aninhados. Isso ocorre porque torna nosso código mais complexo.

Artigos interessantes...