Funcionamiento de la declaración if

C++ si… más

En la programación de computadoras, usamos el if...else declaración para ejecutar un bloque de código bajo ciertas condiciones y otro bloque de código bajo diferentes condiciones.

Por ejemplo, asignar calificaciones (A, B, C) en función de las calificaciones obtenidas por un alumno.

  • si el porcentaje es superior 90asignar calificación A
  • si el porcentaje es superior 75asignar calificación B
  • si el porcentaje es superior sesenta y cincoasignar calificación C

Hay tres formas de if...else sentencias en C++.

  1. if declaración
  2. if...else declaración
  3. if...else if...else declaración

Declaración if de C++

La sintaxis de la if declaración es:

if (condition) {
  // body of if statement
}

los if declaración evalúa la condition dentro de los paréntesis ( ).

  • Si el condition evalúa a trueel código dentro del cuerpo de if es ejecutado.
  • Si el condition evalúa a falseel código dentro del cuerpo de if se salta

Nota: El código dentro { } es el cuerpo del if declaración.

Cómo funciona la declaración if

Ejemplo 1: declaración if de C++

// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";

  return 0;
}

Salida 1

Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

Cuando el usuario ingresa 5la condición number > 0 se evalúa a true y la declaración dentro del cuerpo de if es ejecutado.

Salida 2

Enter a number: -5
This statement is always executed.

Cuando el usuario ingresa -5la condición number > 0 se evalúa a false y la declaración dentro del cuerpo de if no se ejecuta.


C++ si… más

los if declaración puede tener un opcional else cláusula. Su sintaxis es:

if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

los if..else declaración evalúa la condition dentro del paréntesis.

Funcionamiento de la sentencia if...else
Cómo funciona la instrucción if…else

Si el condition evalúa true,

  • el código dentro del cuerpo de if es ejecutado
  • el código dentro del cuerpo de else se salta de la ejecución

Si el condition evalúa false,

  • el código dentro del cuerpo de else es ejecutado
  • el código dentro del cuerpo de if se salta de la ejecución

Ejemplo 2: declaración if…else de C++

// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) {
    cout << "You entered a positive integer: " << number << endl;
  }
  else {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Salida 1

Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

En el programa anterior, tenemos la condición number >= 0. Si introducimos el número mayor o igual a 0entonces la condición se evalúa true.

Aquí, entramos 4. Entonces, la condición es true. Por lo tanto, la declaración dentro del cuerpo de if es ejecutado.

Salida 2

Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.

Aquí, entramos -4. Entonces, la condición es false. Por lo tanto, la declaración dentro del cuerpo de else es ejecutado.


C++ if…else…else if declaración

los if...else La instrucción se utiliza para ejecutar un bloque de código entre dos alternativas. Sin embargo, si necesitamos hacer una elección entre más de dos alternativas, usamos el if...else if...else declaración.

La sintaxis de la if...else if...else declaración es:

if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

Aquí,

  • Si condition1 evalúa a truela code block 1 es ejecutado.
  • Si condition1 evalúa a falsedespués condition2 se evalúa.
  • Si condition2 es truela code block 2 es ejecutado.
  • Si condition2 es falsela code block 3 es ejecutado.
Funcionamiento de if...else if...else Declaración
Cómo funciona la instrucción if…else if…else

Nota: Puede haber más de uno else if declaración pero sólo una if y else declaraciones.


Ejemplo 3: C++ si… más… más si

// Program to check whether an integer is positive, negative or zero

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Salida 1

Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

Salida 2

Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

Salida 3

Enter an integer: 0
You entered 0.
This line is always printed.

En este programa, tomamos un número del usuario. Entonces usamos el if...else if...else escalera para comprobar si el número es positivo, negativo o cero.

Si el número es mayor que 0el código dentro del if se ejecuta el bloque. Si el número es menor que 0el código dentro del else if se ejecuta el bloque. De lo contrario, el código dentro del else se ejecuta el bloque.


C++ anidado si… más

A veces, necesitamos usar un if declaración dentro de otra if declaración. Esto se conoce como anidado if declaración.

Piense en ello como múltiples capas de if declaraciones. Hay una primera, externa if declaración, y dentro de ella hay otra, interior if declaración. Su sintaxis es:

// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

Notas:

  • Podemos agregar else y else if declaraciones al interior if declaración según sea necesario.
  • El interior if declaración también se puede insertar dentro de la exterior else o else if declaraciones (si existen).
  • Podemos anidar varias capas de if declaraciones.

Ejemplo 4: C++ anidado si

// C++ program to find if an integer is positive, negative or zero
// using nested if statements

#include <iostream>
using namespace std;

int main() {

  int num;
    
  cout << "Enter an integer: ";  
   cin >> num;    

  // outer if condition
  if (num != 0) {
        
    // inner if condition
    if (num > 0) {
      cout << "The number is positive." << endl;
    }
    // inner else condition
    else {
      cout << "The number is negative." << endl;
    }  
  }
  // outer else condition
  else {
    cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;

  return 0;
}

Salida 1

Enter an integer: 35
The number is positive.
This line is always printed.

Salida 2

Enter an integer: -35
The number is negative.
This line is always printed.

Salida 3

Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

En el ejemplo anterior,

  • Tomamos un número entero como entrada del usuario y lo almacenamos en la variable número.
  • Entonces usamos un if...else declaración para verificar si num no es igual a 0.
    • Si trueentonces el interno if...else se ejecuta la sentencia.
    • Si falseel código dentro del exterior else se ejecuta la condición, que imprime "The number is 0 and it is neither positive nor negative."
  • los interno if...else declaración comprueba si el número de entrada es positivo, es decir, si número es mayor que 0.
    • Si trueluego imprimimos una declaración que dice que el número es positivo.
    • Si falseimprimimos que el número es negativo.

Nota: Como puede ver, anidado if...else complica tu lógica. Si es posible, siempre debe tratar de evitar anidados if...else.


Cuerpo de if…else con solo una declaración

Si el cuerpo de if...else tiene una sola declaración, puede omitir { } en el programa. Por ejemplo, puede reemplazar

int number = 5;

if (number > 0) {
  cout << "The number is positive." << endl;
}
else {
  cout << "The number is negative." << endl;
}

con

int number = 5;

if (number > 0)
  cout << "The number is positive." << endl;
else
  cout << "The number is negative." << endl;

La salida de ambos programas será la misma.

Nota: Aunque no es necesario usar { } si el cuerpo de if...else tiene una sola declaración, usando { } hace que su código sea más legible.


Más sobre la toma de decisiones

En ciertas situaciones, un operador ternario puede reemplazar un if...else declaración. Para obtener más información, visite Operador ternario de C++.

Si necesitamos hacer una elección entre más de una alternativa basada en una condición de prueba dada, la switch Se puede utilizar la declaración. Para obtener más información, visite Cambio de C++.


Echa un vistazo a estos ejemplos para obtener más información:

Programa en C++ para comprobar si el número es par o impar

Programa en C++ para comprobar si un carácter es vocal o consonante.

Programa C++ para encontrar el número más grande entre tres números

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada.