Operador Condicional o Ternario (?:) en C/C++

El operador condicional es 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 breve posible.

Sintaxis: 
El operador condicional tiene la forma

variable = Expression1 ? Expression2 : Expression3

O la sintaxis también estará en esta forma

variable = (condition) ? Expression2 : Expression3

O la sintaxis también estará en esta forma

(condition) ? (variable = Expression2) : (variable = Expression3)

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

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

Dado que el operador condicional ‘?:’ necesita tres operandos para funcionar, por lo tanto, también se denominan operadores ternarios .
Trabajo: 
Aquí, Expresión1 es la condición a evaluar. Si la condición ( Expresión1 ) es verdadera , se ejecutará Expresión2 y se devolverá el resultado. De lo contrario, si la condición ( Expresión1 ) es falsa , se ejecutará Expresión3 y se devolverá el resultado.

Ejemplo 1: Programa para Almacenar el mayor de los dos Número. 

C

// C program to find largest among two
// numbers using ternary operator
 
#include <stdio.h>
 
int main()
{
    int m = 5, n = 4;
 
    (m > n) ? 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;
}

C++

// C++ program to find largest among two
// numbers using ternary operator
 
#include <iostream>
using namespace std;
 
int main()
{
    // variable declaration
    int n1 = 5, n2 = 10, max;
 
    // Largest among n1 and n2
    max = (n1 > n2) ? n1 : n2;
 
    // Print the largest number
    cout << "Largest number between " << n1
                           << " and " << n2
                           << " is " << max;
 
    return 0;
}
Producción

m is greater than n that is 5 > 4

Ejemplo 2: Programa para comprobar si un año es bisiesto o no.

C

// C program to check whether a year is leap year or not
// using ternary operator
 
#include <stdio.h>
 
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

C++

// C++ program to check whether a year is leap year or not
// using ternary operator
 
#include <iostream>
using namespace std;
 
int main()
{
    int yr = 1900;
 
    (yr%4==0) ? (yr%100!=0? cout<<"The year "<<yr<<" is a leap year"
     : (yr%400==0 ? cout<<"The year "<<yr<<" is a leap year"
         : cout<<"The year "<<yr<<" is not a leap year"))
             : cout<<"The year "<<yr<<" is not a leap year";
    return 0;
}
 
//This code is contributed by Susobhan AKhuli
Producción

The year 1900 is not a leap year

Publicación traducida automáticamente

Artículo escrito por khalidbitd y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *