Operador ternario de C ++ (con ejemplos)

En este tutorial, aprenderemos sobre el operador ternario en C ++ con la ayuda de ejemplos.

En C ++, el operador ternario (también conocido como operador condicional ) puede usarse para reemplazar if… else en ciertos escenarios.

Operador ternario en C ++

Un operador ternario evalúa la condición de prueba y ejecuta un bloque de código basado en el resultado de la condición.

Su sintaxis es

 condition ? expression1 : expression2;

Aquí, conditionse evalúa y

  • si conditiones true, expression1se ejecuta.
  • Y, si conditiones así false, expression2se ejecuta.

El operador ternario toma 3 operandos ( condition, expression1y expression2). De ahí el nombre operador ternario .

Ejemplo: operador ternario de C ++

 #include #include using namespace std; int main() ( double marks; // take input from users cout <> marks; // ternary operator checks if // marks is greater than 40 string result = (marks>= 40) ? "passed" : "failed"; cout << "You " << result << " the exam."; return 0; )

Salida 1

 Introduzca sus notas: 80 Aprobó el examen.

Suponga que el usuario ingresa 80 . Entonces, la condición se marks>= 40evalúa como true. Por lo tanto, la primera expresión "passed"se asigna a result.

Salida 2

 Ingrese sus calificaciones: 39.5 Reprobó el examen.

Ahora, suponga que el usuario ingresa 39.5 . Entonces, la condición se marks>= 40evalúa como false. Por lo tanto, la segunda expresión "failed"se asigna a result.

¿Cuándo utilizar un operador ternario?

En C ++, el operador ternario se puede utilizar para reemplazar ciertos tipos de if… elsedeclaraciones.

Por ejemplo, podemos reemplazar este código

 #include using namespace std; int main() ( // Create a variable int number = -4; if (number> 0) cout << "Positive Number"; else cout << "Negative Number!"; return 0; )

con

 #include #include using namespace std; int main() ( int number = -4; string result; // Using ternary operator result = (number> 0) ? "Positive Number!" : "Negative Number!"; cout << result << endl; return 0; )

Salida

 ¡Numero negativo!

Aquí, ambos programas dan el mismo resultado. Sin embargo, el uso del operador ternario hace que nuestro código sea más legible y limpio.

Nota: Solo debemos usar el operador ternario si la declaración resultante es corta.

Operadores ternarios anidados

También es posible utilizar un operador ternario dentro de otro operador ternario. Se llama operador ternario anidado en C ++.

Aquí hay un programa para encontrar si un número es positivo, negativo o cero usando el operador ternario anidado.

 #include #include using namespace std; int main() ( int number = 0; string result; // nested ternary operator to find whether // number is positive, negative, or zero result = (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative"); cout << "Number is " << result; return 0; )

Salida

 El número es cero

En el ejemplo anterior, observe el uso de operadores ternarios,

 (number == 0) ? "Zero" : ((number> 0) ? "Positive" : "Negative");

Aquí,

  • (number == 0)es la primera condición de prueba que verifica si el número es 0 o no. Si es así, asigna el valor de cadena "Zero"al resultado.
  • De lo contrario, la segunda condición de prueba (number> 0)se evalúa si la primera condición es false.

Nota : No se recomienda utilizar operadores ternarios anidados. Esto se debe a que hace que nuestro código sea más complejo.

Articulos interesantes...