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 if
declaració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… else
declaraciones en C ++.
if
declaraciónif… else
declaraciónif… else if… else
declaración
Declaración if de C ++
La sintaxis de la if
declaración es:
if (condition) ( // body of if statement )
La if
declaración evalúa el condition
interior del paréntesis ( )
.
- Si se
condition
evalúa comotrue
,if
se ejecuta el código dentro del cuerpo de . - Si se
condition
evalúa comofalse
,if
se omite el código dentro del cuerpo de .
Nota: El código interior ( )
es el cuerpo de la if
declaración.

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> 0
se evalúa la condición true
y if
se 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> 0
se evalúa false
y la declaración dentro del cuerpo de if
no se ejecuta.
C ++ si… si no
La if
declaración puede tener una else
cláusula opcional . Su sintaxis es:
if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
La if… else
declaración evalúa el condition
interior del paréntesis.

Si el condition
evalúa true
,
if
se ejecuta el código dentro del cuerpo de- el código dentro del cuerpo de
else
se omite de la ejecución
Si el condition
evalúa false
,
else
se ejecuta el código dentro del cuerpo de- el código dentro del cuerpo de
if
se 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, if
se 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, else
se ejecuta la instrucción dentro del cuerpo de .
C ++ if … else … else if sentencia
La if… else
declaració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… 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 se
condition1
evalúa comotrue
,code block 1
se ejecuta. - Si
condition1
evalúa afalse
, entoncescondition2
se evalúa. - Si
condition2
es asítrue
,code block 2
se ejecuta. - Si
condition2
es asífalse
,code block 3
se ejecuta.

Nota: Puede haber más de una else if
declaración, pero solo una if
y 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
else
andelse if
statements to the innerif
statement as required. - The inner
if
statement can also be inserted inside the outerelse
orelse if
statements (if they exist). - We can nest multiple layers of
if
statements.
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… else
statement to check whether num is not equal to0
.- If
true
, then the innerif… else
statement is executed. - If
false
, the code inside the outerelse
condition is executed, which prints "The number is 0 and neither even nor odd."
- If
- The inner
if… else
statement 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… 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, switch
se 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