Operador condicional ternario
Parte de la sección Fundamentals del Journey de C de Coddy — lección 29 de 63.
El operador condicional ternario es una forma abreviada de expresar una sentencia if-else en una sola línea.
La sintaxis es:
condition ? value_if_true : value_if_false;Veamos un ejemplo. Primero, aquí hay una sentencia if-else tradicional:
int max;
if (a > b) {
max = a;
} else {
max = b;
}Ahora, reescribámoslo usando el operador ternario:
int max = (a > b) ? a : b;En este ejemplo:
a > bes la condición- Si la condición es verdadera, se devuelve
a - Si la condición es falsa, se devuelve
b
El operador ternario también se puede anidar, pero esto puede hacer que el código sea más difícil de leer:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);Desafío
FácilCrea un programa que verifique si un número es positive, negative o zero utilizando el operador condicional. El programa debe:
- Solicitar una entrada entera al usuario.
- Utilizar el operador condicional para determinar si el número es positive, negative o zero.
- Imprimir el resultado en el formato:
"The number is [positive/negative/zero]".
Hoja de referencia
El operador condicional ternario proporciona una forma abreviada de expresar una sentencia if-else en una sola línea.
Sintaxis:
condition ? value_if_true : value_if_false;Ejemplo comparando el if-else tradicional con el operador ternario:
// if-else tradicional
int max;
if (a > b) {
max = a;
} else {
max = b;
}
// Operador ternario
int max = (a > b) ? a : b;El operador ternario se puede anidar, aunque esto reduce la legibilidad:
int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);Pruébalo tú mismo
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
// Escribe tu código debajo
char* result =
printf("The number is %s\n", result);
return 0;
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentals
4Flujo de control
Sentencia IfIf - ElseElse-IfSwitch CaseOperador condicional ternarioDesafío de repasoIf - Else anidados2Variables
Tipos de datosEnterosFloat - DoubleCaracteresBooleanosConstantesConceptos básicos de printfReglas para nombrar variablesConversión de tipos Parte 1Conversión de tipos Parte 2Desafío de repaso3Operadores
Operadores aritméticosOperador de móduloIncremento/DecrementoOperadores de asignaciónOperadores relacionalesOperadores lógicos - Parte 1Operadores lógicos - Parte 2Operadores lógicos - Parte 3Desafío de repaso