Neste tutorial, aprenderemos sobre a instrução if… else para criar programas de tomada de decisão com a ajuda de exemplos.
Na programação de computadores, usamos a if
instrução para executar um código de bloco apenas quando uma determinada condição é atendida.
Por exemplo, atribuir notas (A, B, C) com base nas notas obtidas por um aluno.
- se a porcentagem estiver acima de 90 , atribua nota A
- se o percentual estiver acima de 75 , atribuir nota B
- se o percentual estiver acima de 65 , atribuir nota C
Existem três formas de if… else
instruções em C ++.
if
declaraçãoif… else
declaraçãoif… else if… else
declaração
C ++ if Statement
A sintaxe da if
declaração é:
if (condition) ( // body of if statement )
A if
declaração avalia o condition
interior dos parênteses ( )
.
- Se o for
condition
avaliado comotrue
, o código dentro do corpo deif
é executado. - Se o for
condition
avaliado comofalse
, o código dentro do corpo deif
será ignorado.
Observação: o código interno ( )
é o corpo da if
instrução.

Exemplo 1: C ++ if Statement
// 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; )
Produto 1
Insira um número inteiro: 5 Você inseriu um número positivo: 5 Esta instrução é sempre executada.
Quando o usuário entra 5
, a condição number> 0
é avaliada para true
e a instrução dentro do corpo de if
é executada.
Produto 2
Digite um número: -5 Esta instrução é sempre executada.
Quando o usuário entra -5
, a condição number> 0
é avaliada para false
e a instrução dentro do corpo de if
não é executada.
C ++ if… else
A if
declaração pode ter uma else
cláusula opcional . Sua sintaxe é:
if (condition) ( // block of code if condition is true ) else ( // block of code if condition is false )
A if… else
declaração avalia o condition
dentro dos parênteses.

Se o condition
avaliar true
,
- o código dentro do corpo de
if
é executado - o código dentro do corpo de
else
é ignorado da execução
Se o condition
avaliar false
,
- o código dentro do corpo de
else
é executado - o código dentro do corpo de
if
é ignorado da execução
Exemplo 2: C ++ if… else Statement
// 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; )
Produto 1
Insira um número inteiro: 4 Você inseriu um número inteiro positivo: 4. Esta linha é sempre impressa.
No programa acima, temos a condição number>= 0
. Se inserirmos um número maior ou igual a 0, a condição será avaliada true
.
Aqui, entramos com 4. Portanto, a condição é true
. Portanto, a instrução dentro do corpo de if
é executada.
Produto 2
Insira um número inteiro: -4 Você inseriu um número inteiro negativo: -4. Esta linha é sempre impressa.
Aqui, inserimos -4. Então, a condição é false
. Portanto, a instrução dentro do corpo de else
é executada.
C ++ if… else… else if declaração
A if… else
instrução é usada para executar um bloco de código entre duas alternativas. No entanto, se precisarmos fazer uma escolha entre mais de duas alternativas, usamos a if… else if… else
instrução.
A sintaxe da if… else if… else
declaração é:
if (condition1) ( // code block 1 ) else if (condition2)( // code block 2 ) else ( // code block 3 )
Aqui,
- Se for
condition1
avaliado comotrue
, ocode block 1
será executado. - Se for
condition1
avaliado comofalse
, entãocondition2
será avaliado. - Se
condition2
fortrue
, ocode block 2
é executado. - Se
condition2
forfalse
, ocode block 3
é executado.

Nota: pode haver mais de uma else if
instrução, mas apenas uma instrução if
e else
.
Exemplo 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; )
Produto 1
Insira um número inteiro: 1 Você inseriu um número inteiro positivo: 1. Esta linha é sempre impressa.
Produto 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
Em certas situações, um operador ternário pode substituir uma if… else
instrução. Para saber mais, visite C ++ Ternary Operator.
Se precisarmos fazer uma escolha entre mais de uma alternativa com base em uma determinada condição de teste, a switch
instrução pode ser usada. Para saber mais, visite switch C ++.
Confira estes exemplos para saber mais:
Programa C ++ para verificar se o número é par ou ímpar
Programa C ++ para verificar se um caractere é vogal ou consoante.
Programa C ++ para encontrar o maior número entre três números