Operador condicional o ternario (?:) en C

Operador condicional o ternario (?:) en C

El operador condicional en C es algo similar a la declaración if-else ya que sigue el mismo algoritmo que la declaración if-else pero el operador condicional ocupa menos espacio y ayuda a escribir las declaraciones if-else de la manera más corta posible. También se le conoce como el operador ternario en C ya que opera con tres operandos.

Sintaxis del operador condicional/ternario en C

El operador condicional puede tener la forma

 variable = Expression1  ?  Expression2  :  Expression3 ; 

O la sintaxis también puede ser de esta forma.

 variable = (condition)  ? Expression2  :  Expression3 ; 

O la sintaxis también puede tener esta forma.

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ; 
operador condicional o ternario en c

Operador condicional/ternario en C

Se puede visualizar en una declaración if-else como:

if(Expression1) { variable = Expression2; } else { variable = Expression3; } 

Dado que el operador condicional '?:' requiere tres operandos para funcionar, por eso también se les llama operadores ternarios .

Nota: El operador ternario tiene la tercera precedencia más baja, por lo que debemos usar expresiones que puedan evitar errores debido a una gestión inadecuada de la precedencia del operador.

Trabajo del operador condicional/ternario en C

El funcionamiento del operador condicional en C es el siguiente:

    Paso 1: Expresión1 es la condición a evaluar. Paso 2A: Si la condición ( Expresión1 ) es cierto entonces Expresión2 será ejecutado. Paso 2B: Si la condición ( Expresión1 ) es falso entonces Expresión3 será ejecutado. Paso 3: Se devolverán los resultados.

Diagrama de flujo del operador condicional/ternario en C

Para comprender mejor el funcionamiento, podemos analizar el diagrama de flujo del operador condicional que se muestra a continuación.

diagrama de flujo del operador condicional/ternario en c

Diagrama de flujo del operador condicional/ternario en C

Ejemplos de operador ternario C

Ejemplo 1: Programa C para almacenar el mayor de los dos números usando el operador ternario

C




// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> > int> m = 5, n = 4;> > > (m>norte)?> printf> (> 'm is greater than n that is %d>%d'> ,> > m, n)> > :> printf> (> 'n is greater than m that is %d>%d'> ,> > n, m);> > > return> 0;> }>

Producción

m is greater than n that is 5>4 

Ejemplo 2: C Programa para comprobar si un año es bisiesto utilizando el operador ternario

C




// C program to check whether a year is leap year or not> // using ternary operator> > #include> > int> main()> {> > int> yr = 1900;> > > (yr%4==0) ? (yr%100!=0?> printf> (> 'The year %d is a leap year'> ,yr)> > : (yr%400==0 ?> printf> (> 'The year %d is a leap year'> ,yr)> > :> printf> (> 'The year %d is not a leap year'> ,yr)))> > :> printf> (> 'The year %d is not a leap year'> ,yr);> > return> 0;> }> > //This code is contributed by Susobhan AKhuli>

Producción

The year 1900 is not a leap year 

Conclusión

El operador condicional u operador ternario en C se usa generalmente cuando necesitamos un código condicional corto como por ejemplo asignar valor a una variable según la condición. Puede usarse en condiciones más grandes pero hará que el programa sea muy complejo e ilegible.

Preguntas frecuentes sobre operadores condicionales/ternarios en C

1. ¿Qué es el operador ternario en C?

El operador ternario en C es un operador condicional que trabaja con tres operandos. Funciona de manera similar a la declaración if-else y ejecuta el código según la condición especificada. También se le llama operador condicional.

2. ¿Cuál es la ventaja del operador condicional?

Reduce la línea de código cuando la condición y las declaraciones son pequeñas.