C++ if, if...else e aninhado if...else
C++ if, if...else e aninhado if...else
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 o if...else instrução para executar um bloco de código sob certas condições e outro bloco de código sob condições diferentes.
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 a porcentagem estiver acima de 75 , atribua nota B
- se a porcentagem estiver acima de 65 , atribua nota C
Existem três formas de
if...else declarações em C++. ifdeclaraçãoif...elsedeclaraçãoif...else if...elsedeclaração
Instrução if C++
A sintaxe do
if afirmação é:
if (condition) {
// body of if statement
} O
if declaração avalia o condition dentro dos parênteses ( ) . - Se o
conditionavalia paratrue, o código dentro do corpo deifé executado. - Se o
conditionavalia parafalse, o código dentro do corpo deifé ignorado.
Observação: O código dentro de
{ } é o corpo do if declaração.
Exemplo 1:instrução if 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;
} Saída 1
Enter an integer: 5 You entered a positive number: 5 This statement is always executed.
Quando o usuário digita
5 , a condição number > 0 é avaliado para true e a instrução dentro do corpo de if É executado. Saída 2
Enter a number: -5 This statement is always executed.
Quando o usuário insere
-5 , a condição number > 0 é avaliado para false e a instrução dentro do corpo de if não é executado. C++ if...else
O
if declaração pode ter um opcional else cláusula. Sua sintaxe é:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
} O
if..else declaração avalia o condition dentro do parêntese.
Se o
condition avalia 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 avalia false , - o código dentro do corpo de
elseé executado - o código dentro do corpo de
ifé ignorado da execução
Exemplo 2:instrução if...else 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;
} Saída 1
Enter an integer: 4 You entered a positive integer: 4. This line is always printed.
No programa acima, temos a condição
number >= 0 . Se inserirmos o número maior ou igual a 0 , a condição avalia true . Aqui, entramos em 4 . Portanto, a condição é
true . Portanto, a instrução dentro do corpo de if É executado. Saída 2
Enter an integer: -4 You entered a negative integer: -4. This line is always printed.
Aqui, inserimos -4 . Portanto, a condição é
false . Portanto, a instrução dentro do corpo de else É executado. C++ if...else...else if instrução
O
if...else A instrução é usada para executar um bloco de código entre duas alternativas. No entanto, se precisarmos escolher entre mais de duas alternativas, usamos o if...else if...else declaração. A sintaxe do
if...else if...else afirmação é:
if (condition1) {
// code block 1
}
else if (condition2){
// code block 2
}
else {
// code block 3
} Aqui,
- Se
condition1avalia paratrue, ocode block 1é executado. - Se
condition1avalia parafalse, entãocondition2é avaliado. - Se
condition2étrue, ocode block 2é executado. - Se
condition2éfalse, ocode block 3é executado.
Observação: Pode haver mais de um
else if instrução, mas apenas um if e else declarações. Exemplo 3:C++ if...else...else if
// 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;
} Saída 1
Enter an integer: 1 You entered a positive integer: 1. This line is always printed.
Saída 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Saída 3
Enter an integer: 0 You entered 0. This line is always printed.
Neste programa, pegamos um número do usuário. Em seguida, usamos o
if...else if...else escada para verificar se o número é positivo, negativo ou zero. Se o número for maior que
0 , o código dentro do if bloco é executado. Se o número for menor que 0 , o código dentro do else if bloco é executado. Caso contrário, o código dentro do else bloco é executado. C++ Aninhado if...else
Às vezes, precisamos usar um
if declaração dentro de outro if declaração. Isso é conhecido como if aninhado declaração. Pense nisso como várias camadas de
if declarações. Há um primeiro if externo declaração, e dentro dela há outro if interno declaração. Sua sintaxe é:
// outer if statement
if (condition1) {
// statements
// inner if statement
if (condition2) {
// statements
}
} Observações:
- Podemos adicionar
elseeelse ifinstruções para oifinterno declaração conforme necessário. - O
ifinterno declaração também pode ser inserida dentro doelseexterno ouelse ifdeclarações (se existirem). - Podemos aninhar várias camadas de
ifdeclarações.
Exemplo 4:C++ aninhado if
// 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;
} Saída 1
Enter an integer: 35 The number is positive. This line is always printed.
Saída 2
Enter an integer: -35 The number is negative. This line is always printed.
Saída 3
Enter an integer: 0 The number is 0 and it is neither positive nor negative. This line is always printed.
No exemplo acima,
- Pegamos um inteiro como entrada do usuário e o armazenamos na variável num .
- Em seguida, usamos um
if...elseinstrução para verificar se num não é igual a0.- Se
true, então o internoif...elseinstrução é executada. - Se
false, o código dentro do externoelsecondição é executada, que imprime"The number is 0 and it is neither positive nor negative."
- Se
- O interior
if...elseverifica se o número de entrada é positivo, ou seja, se num é maior que 0 .- Se
true, então imprimimos uma declaração dizendo que o número é positivo. - Se
false, imprimimos que o número é negativo.
- Se
Observação: Como você pode ver,
if...else aninhado torna sua lógica complicada. Se possível, você deve sempre tentar evitar if...else aninhados . Corpo de if...else com apenas uma declaração
Se o corpo de
if...else tem apenas uma instrução, você pode omitir { } no programa. Por exemplo, você pode substituir
int number = 5;
if (number > 0) {
cout << "The number is positive." << endl;
}
else {
cout << "The number is negative." << endl;
} com
int number = 5;
if (number > 0)
cout << "The number is positive." << endl;
else
cout << "The number is negative." << endl; A saída de ambos os programas será a mesma.
Observação: Embora não seja necessário usar
{ } se o corpo de if...else tem apenas uma instrução, usando { } torna seu código mais legível. Mais sobre tomada de decisão
Em determinadas situações, um operador ternário pode substituir um
if...else declaração. Para saber mais, visite Operador Ternário C++. Se precisarmos fazer uma escolha entre mais de uma alternativa com base em uma determinada condição de teste, o
switch declaração pode ser usada. Para saber mais, visite a opção 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
Linguagem C
- C# if, if...else, if...else if e aninhado if declaração
- Classes e objetos C++
- Gerenciamento de memória C++:novo e excluir
- Herança pública, protegida e privada C++
- Função de amigo C++ e classes de amigo
- Declaração Python, Recuo e Comentários
- Java aninhado e classe interna
- Data e hora do C++
- Sobrecarga de C++ (operador e função)
- Arquivos e fluxos C++