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; }
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
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