Operador Condicional Ternário
Parte da seção Fundamentals do Journey de C da Coddy — lição 29 de 63.
O operador condicional ternário é uma forma abreviada de expressar uma instrução if-else em uma única linha.
A sintaxe é:
condition ? value_if_true : value_if_false;Vamos dar uma olhada em um exemplo. Primeiro, aqui está uma instrução if-else tradicional:
int max;
if (a > b) {
max = a;
} else {
max = b;
}Agora, vamos reescrevê-lo usando o operador ternário:
int max = (a > b) ? a : b;Neste exemplo:
a > bé a condição- Se a condição for verdadeira,
aé retornado - Se a condição for falsa,
bé retornado
O operador ternário também pode ser aninhado, mas isso pode tornar o código mais difícil de ler:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);Desafio
FácilCrie um programa que verifique se um número é positivo, negativo ou zero usando o operador condicional. O programa deve:
- Receber um número inteiro de entrada do usuário.
- Usar o operador condicional para determinar se o número é positivo, negativo ou zero.
- Imprimir o resultado no formato:
"The number is [positive/negative/zero]".
Folha de consulta
O operador condicional ternário fornece uma maneira abreviada de expressar uma instrução if-else em uma única linha.
Sintaxe:
condition ? value_if_true : value_if_false;Exemplo comparando o if-else tradicional com o operador ternário:
// if-else tradicional
int max;
if (a > b) {
max = a;
} else {
max = b;
}
// Operador ternário
int max = (a > b) ? a : b;O operador ternário pode ser aninhado, embora isso reduza a legibilidade:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);Experimente você mesmo
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
// Escreva seu código abaixo
char* result =
printf("The number is %s\n", result);
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentals
4Fluxo de Controle
Instrução IfIf - ElseElse-IfSwitch CaseOperador Condicional TernárioDesafio de RevisãoIf - Else Aninhado2Variáveis
Tipos de DadosInteiroFloat - DoubleCaracteresBooleanosConstantesFundamentos do printfRegras de Nomenclatura de VariáveisConversão de Tipos Parte 1Conversão de Tipos Parte 2Desafio de Recapitulação3Operadores
Operadores AritméticosOperador de MóduloIncremento/DecrementoOperadores de AtribuiçãoOperadores RelacionaisOperadores Lógicos Parte 1Operadores Lógicos Parte 2Operadores Lógicos Parte 3Desafio de Recapitulação