Sintaxe do operador ternário em C++
Os três operandos são necessários para o operador ternário: o condicional, o verdadeiro e o falso. Como o operador ternário analisa a condição de teste e, dependendo do resultado, executa um bloco de código, a sintaxe é:
# (exp_1) ? exp_2 : exp_3Aqui “exp” representa a expressão. Dependendo do resultado de uma expressão, esse operador retorna um de dois valores. As expressões 2 e 3 são avaliadas e seus valores são retornados como resultados finais se “exp_1” for avaliado como um booleano true; caso contrário, a expressão 1 é avaliada como um booleano false e a expressão 2 é avaliada e seu valor é retornado como resultado final.
Exemplo 1
Aqui está um programa de exemplo simples mostrando como usar o operador ternário do C++.
#include
#include
usando namespace std ;
int a Principal ( ) {
em dobro CGPA ;
cout <> CGPA ;
string aluno_resultado = ( CGPA >= 1,5 ) ? 'passado' : 'fracassado' ;
cout << 'Você ' << resultado_aluno << ' o semestre.' ;
Retorna 0 ;
}
No programa, preenchemos nossa seção de cabeçalho com as bibliotecas C++. Depois disso, adicionamos o namespace std com a palavra-chave “using”. Então, a variável “CGPA” com o tipo de dado “double” foi declarada dentro dela. Na próxima linha, solicitamos que o usuário insira o CGPA imprimindo o comando cout. Com o comando cin, os usuários adicionam o CGPA.
Em seguida, criamos outra variável, “resultado_aluno”, que possui um operador ternário. O operador ternário precisa das três expressões aqui. A primeira é a condição que verifica se o CGPA informado pelo usuário é maior ou igual a “1,5”. Se sim, a declaração “passou” será impressa, ou então a terceira expressão será impressa. O resultado será mostrado quando você usar o comando cout.
Digamos que o usuário digite o CGPA “3.5”. CGPA >= 1,5 então avalia como verdadeiro, cumprindo o critério. Assim, o resultado recebe o primeiro termo “aprovado”.
Digamos que o usuário digite 1,00. Como resultado, a condição CGPA >= 1,5 é avaliada erroneamente. Portanto, o resultado recebe a segunda expressão, “falhou”.
Exemplo 2
Certos tipos de instruções if else em C++ podem ser trocadas com o operador ternário. Podemos alterar este código como exemplo. O primeiro programa de exemplo usa a condição if-else e o outro programa de exemplo usa o operador ternário.
#includeusando namespace std ;
int a Principal ( ) {
int num = - 3 ;
cout << 'num :' < 0 )
cout << ' \n Inteiro positivo' ;
senão
cout << ' \n Número inteiro negativo!' ;
Retorna 0 ;
}
Declaramos e inicializamos a variável do tipo de dados int “num” com o valor inteiro negativo. Depois disso, com o comando cout, o valor “num” é impresso. Então, temos a condição if-else. Dentro da condição “if”, especificamos a condição de que a variável “num” seja maior que o valor zero. Se a condição se tornar verdadeira, o comando cout logo após a condição “if” será impresso. Se a condição se tornar falsa, a instrução else cout será impressa.
Como o número é um valor negativo, a condição if se torna falsa e a
Em seguida, executamos o programa acima com o operador ternário. Vamos verificar se a condição if-else e o operador ternário têm os mesmos efeitos.
#include#include
usando namespace std ;
int a Principal ( ) {
int MeuNum = - 7 ;
cout << 'Inteiro:' << MeuNum < 0 ) ? 'Inteiro positivo!' : 'Inteiro negativo!' ;
cout << Resultado << fim ;
Retorna 0 ;
}
Declaramos a variável “MyNum” e a inicializamos com um valor negativo. Imprimimos o valor negativo chamando a variável “MyNum” dentro do comando cout. Em seguida, definimos outra variável como “Resultado” com o tipo de string. A variável de resultado recebe a operação do operador ternário. Primeiro, temos a condição de que “MyNum” deve ser maior que zero. Depois disso, colocamos um operador ternário “?”. As outras duas expressões serão executadas no resultado da condição.
Como o valor inteiro é “-7”, a terceira expressão, “Negative Integer!” é impresso no prompt. Aqui, a saída de ambos os aplicativos é a mesma. O operador ternário, no entanto, melhora a legibilidade e a limpeza do nosso código.
Exemplo 3
Além disso, os operadores ternários podem ser empregados um dentro do outro. Use o operador ternário aninhado para verificar se um valor é positivo, negativo ou zero no programa a seguir.
#include#include
usando namespace std ;
int a Principal ( ) {
int inteiro = 0 ;
string Resultado ;
Resultado = ( inteiro == 0 ) ? 'Zero' : ( ( inteiro > 0 ) ? 'Positivo' : 'Negativo' ) ;
cout << 'Inteiro é' << Resultado ;
Retorna 0 ;
}
Basta começar com o método principal do programa. No int main(), criamos a variável com o nome “integer” e definimos seu valor como zero. Em seguida, definimos outra variável, “Result”, com o tipo de dado string. Definimos a variável “Result”, ignorando o operador ternário para ela. A condição é que o valor da variável “inteiro” seja igual a zero “inteiro == 0”. A condição inicial, (inteiro == 0), determina se um determinado inteiro é zero ou não. Em caso afirmativo, o resultado recebe o valor da string “Zero”. se a resposta estiver certa. Caso contrário, se a primeira condição for falsa, a segunda condição (inteiro > 0) é examinada.
Sim, o inteiro fornecido é zero, conforme mostrado no script. A saída gera o “Integer is Zero”.
Conclusão
Sabemos que o operador condicional é o operador ternário. Com a ajuda deste operador, podemos verificar uma condição e agir de acordo com ela. Podemos realizar a mesma coisa usando condições if-else em vez do operador ternário. Este tutorial de C++ nos ensinou como usar o Operador Ternário por meio de sua sintaxe e programas de exemplo. Lembre-se de que o operador ternário só deve ser utilizado se a declaração final for concisa.