En este tutorial, aprenderemos sobre la declaración if … else para crear programas de toma de decisiones con la ayuda de ejemplos.
En programación de computadoras, usamos la ifdeclaración para ejecutar un código de bloque solo cuando se cumple una determinada condición.
Por ejemplo, asignar calificaciones (A, B, C) basadas en las calificaciones obtenidas por un estudiante.
- si el porcentaje es superior a 90 , asigne una calificación A
- si el porcentaje es superior a 75 , asigne una calificación B
- si el porcentaje es superior a 65 , asigne una calificación C
Hay tres formas de if… elsedeclaraciones en C ++.
ifdeclaraciónif… elsedeclaraciónif… else if… elsedeclaración
Declaración if de C ++
La sintaxis de la ifdeclaración es:
if (condition) ( // body of if statement )
La ifdeclaración evalúa el conditioninterior del paréntesis ( ).
- Si se
conditionevalúa comotrue,ifse ejecuta el código dentro del cuerpo de . - Si se
conditionevalúa comofalse,ifse omite el código dentro del cuerpo de .
Nota: El código interior ( )es el cuerpo de la ifdeclaración.
Funcionamiento de la declaración if de C ++
Ejemplo 1: instrucción if de C ++
// Program to print positive number entered by the user // If the user enters a negative number, it is skipped #include using namespace std; int main() ( int number; cout <> 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
Ingrese un entero: 5 Ingresó un número positivo: 5 Esta declaración siempre se ejecuta.
Cuando el usuario ingresa 5, number> 0se evalúa la condición truey ifse ejecuta la declaración dentro del cuerpo de .
Salida 2
Ingrese un número: -5 Esta declaración siempre se ejecuta.
Cuando el usuario ingresa -5, la condición number> 0se evalúa falsey la declaración dentro del cuerpo de ifno se ejecuta.
C ++ si… si no
La ifdeclaración puede tener una elsecláusula opcional . Su sintaxis es:
if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
La if… elsedeclaración evalúa el conditioninterior del paréntesis.
Funcionamiento de C ++ si… si no
Si el conditionevalúa true,
ifse ejecuta el código dentro del cuerpo de- el código dentro del cuerpo de
elsese omite de la ejecución
Si el conditionevalúa false,
elsese ejecuta el código dentro del cuerpo de- el código dentro del cuerpo de
ifse omite de la ejecución
Ejemplo 2: C ++ declaración if… else
// Program to check whether an integer is positive or negative // This program considers 0 as a positive number #include using namespace std; int main() ( int number; cout <> 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
Ingrese un entero: 4 Ingresó un entero positivo: 4. Esta línea siempre se imprime.
En el programa anterior, tenemos la condición number>= 0. Si ingresamos el número mayor o igual a 0, entonces la condición se evalúa true.
Aquí, ingresamos 4. Entonces, la condición es true. Por lo tanto, ifse ejecuta la instrucción dentro del cuerpo de .
Salida 2
Ingrese un número entero: -4 Ingresó un número entero negativo: -4. Esta línea siempre se imprime.
Aquí ingresamos -4. Entonces, la condición es false. Por lo tanto, elsese ejecuta la instrucción dentro del cuerpo de .
C ++ if … else … else if sentencia
La if… elsedeclaració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 la if… else if… elsedeclaración.
La sintaxis de la if… else if… elsedeclaración es:
if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )
Aquí,
- Si se
condition1evalúa comotrue,code block 1se ejecuta. - Si
condition1evalúa afalse, entoncescondition2se evalúa. - Si
condition2es asítrue,code block 2se ejecuta. - Si
condition2es asífalse,code block 3se ejecuta.
¿Cómo si … else if … else funciona?
Nota: Puede haber más de una else ifdeclaración, pero solo una ify else.
Ejemplo 3: C ++ if… else… else if
// Program to check whether an integer is positive, negative or zero #include using namespace std; int main() ( int number; cout <> 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
Ingrese un número entero: 1 Ingresó un número entero positivo: 1. Esta línea siempre se imprime.
Salida 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Output 3
Enter an integer: 0 You entered 0. This line is always printed.
In this program, we take a number from the user. We then use the if… else if… else ladder to check whether the number is positive, negative, or zero.
If the number is greater than 0, the code inside the if block is executed. If the number is less than 0, the code inside the else if block is executed. Otherwise, the code inside the else block is executed.
C++ Nested if… else
Sometimes, we need to use an if statement inside another if statement. This is known as nested if statement.
Think of it as multiple layers of if statements. There is a first, outer if statement, and inside it is another, inner if statement. Its syntax is:
// outer if statement if (condition1) ( // statements // inner if statement if (condition2) ( // statements ) )
Notes:
- We can add
elseandelse ifstatements to the innerifstatement as required. - The inner
ifstatement can also be inserted inside the outerelseorelse ifstatements (if they exist). - We can nest multiple layers of
ifstatements.
Example 4: C++ Nested if
// C++ program to find if an integer is even or odd or neither (0) // using nested if statements #include using namespace std; int main() ( int num; cout <> num; // outer if condition if (num != 0) ( // inner if condition if ((num % 2) == 0) ( cout << "The number is even." << endl; ) // inner else condition else ( cout << "The number is odd." << endl; ) ) // outer else condition else ( cout << "The number is 0 and it is neither even nor odd." << endl; ) cout << "This line is always printed." << endl; )
Output 1
Enter an integer: 34 The number is even. This line is always printed.
Output 2
Enter an integer: 35 The number is odd. This line is always printed.
Output 3
Enter an integer: 0 The number is 0 and it is neither even nor odd. This line is always printed.
In the above example,
- We take an integer as an input from the user and store it in the variable num.
- We then use an
if… elsestatement to check whether num is not equal to0.- If
true, then the innerif… elsestatement is executed. - If
false, the code inside the outerelsecondition is executed, which prints "The number is 0 and neither even nor odd."
- If
- The inner
if… elsestatement checks whether the input number is divisible by2.- If
true, then we print a statement saying that the number is even. - If
false, we print that the number is odd.
- If
Notice that 0 is also divisible by 2, but it is actually not an even number. This is why we first make sure that the input number is not 0 in the outer if condition.
Note: As you can see, nested if… else makes your logic complicated. If possible, you should always try to avoid nested if… else.
Body of if… else With Only One Statement
If the body of if… else has only one statement, you can omit ( ) in the program. For example, you can replace
int number = 5; if (number> 0) ( cout << "The number is positive." << endl; ) else ( cout << "The number is negative." << endl; )
with
int number = 5; if (number> 0) cout << "The number is positive." << endl; else cout << "The number is negative." << endl;
The output of both programs will be the same.
Note: Although it's not necessary to use ( ) if the body of if… else has only one statement, using ( ) makes your code more readable.
More on Decision Making
En determinadas situaciones, un operador ternario puede reemplazar una if… elsedeclaració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, switchse puede usar la declaración. Para obtener más información, visite el conmutador de C ++.
Consulte estos ejemplos para obtener más información:
Programa C ++ para verificar si el número es par o impar
Programa C ++ para comprobar si un personaje es vocal o consonante.
Programa C ++ para encontrar el número más grande entre tres números








