Neste tutorial, aprenderemos o uso dos loops while e do … while na programação C ++ com a ajuda de alguns exemplos.
Na programação de computadores, os loops são usados para repetir um bloco de código.
Por exemplo, digamos que queremos mostrar uma mensagem 100 vezes. Então, em vez de escrever a instrução print 100 vezes, podemos usar um loop.
Esse foi apenas um exemplo simples; podemos alcançar muito mais eficiência e sofisticação em nossos programas fazendo uso efetivo de loops.
Existem 3 tipos de loops em C ++.
forciclowhileciclodo… whileciclo
No tutorial anterior, aprendemos sobre o loop for C ++. Aqui, nós estamos indo para aprender sobre whilee do… whileloops.
C ++ while Loop
A sintaxe do whileloop é:
while (condition) ( // body of the loop )
Aqui,
- Um
whileloop avalia ocondition - Se for
conditionavaliado comotrue, o código dentro dowhileloop será executado. - O
conditioné avaliado novamente. - Este processo continua até que
conditionsejafalse. - Quando o
conditionavalia parafalse, o loop termina.
Para saber mais sobre o conditions, visite C ++ Relational and Logical Operators.
Fluxograma do loop while
Fluxograma de C ++ while loop
Exemplo 1: números de exibição de 1 a 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // while loop from 1 to 5 while (i <= 5) ( cout << i << " "; ++i; ) return 0; )
Resultado
1 2 3 4 5
Aqui está como o programa funciona.
| Iteração | Variável | i <= 5 | Açao |
|---|---|---|---|
| 1ª | i = 1 | true | 1 é impresso e iaumentado para 2. |
| 2ª | i = 2 | true | 2 é impresso e iaumentado para 3. |
| 3ª | i = 3 | true | 3 é impresso e iaumentado para4 |
| 4º | i = 4 | true | 4 é impresso e iaumentado para 5. |
| 5 ª | i = 5 | true | 5 é impresso e iaumentado para 6. |
| 6º | i = 6 | false | O loop é encerrado |
Exemplo 2: apenas soma de números positivos
// program to find the sum of positive numbers // if the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number; int sum = 0; // take input from the user cout <> number; while (number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive cout <> number; ) // display the sum cout << "The sum is " << sum << endl; return 0; )
Resultado
Insira um número: 6 Insira um número: 12 Insira um número: 7 Insira um número: 0 Insira um número: -2 A soma é 25
Neste programa, o usuário é solicitado a inserir um número, que é armazenado no número da variável.
Para armazenar a soma dos números, declaramos uma variável sum e a inicializamos com o valor de 0.
O whileloop continua até que o usuário insira um número negativo. Durante cada iteração, o número inserido pelo usuário é adicionado à variável de soma.
Quando o usuário insere um número negativo, o loop termina. Finalmente, a soma total é exibida.
C ++ faz … while Loop
O do… whileloop é uma variante do whileloop com uma diferença importante: o corpo do do… whileloop é executado uma vez antes de conditionser verificado.
Sua sintaxe é:
do ( // body of loop; ) while (condition);
Aqui,
- O corpo do loop é executado primeiro. Em seguida, o
conditioné avaliado. - Se for
conditionavaliado comotrue, o corpo do loop dentro dadoinstrução será executado novamente. - O
conditioné avaliado mais uma vez. - Se for
conditionavaliado comotrue, o corpo do loop dentro dadoinstrução será executado novamente. - Este processo continua até que
conditionavalie parafalse. Em seguida, o loop para.
Fluxograma de do … while Loop
Fluxograma de C ++ do … while loop
Exemplo 3: números de exibição de 1 a 5
// C++ Program to print numbers from 1 to 5 #include using namespace std; int main() ( int i = 1; // do… while loop from 1 to 5 do ( cout << i << " "; ++i; ) while (i <= 5); return 0; )
Resultado
1 2 3 4 5
Aqui está como o programa funciona.
| Iteração | Variável | i <= 5 | Açao |
|---|---|---|---|
i = 1 | não checado | 1 é impresso e iaumentado para 2 |
|
| 1ª | i = 2 | true | 2 é impresso e iaumentado para 3 |
| 2ª | i = 3 | true | 3 é impresso e iaumentado para 4 |
| 3ª | i = 4 | true | 4 é impresso e iaumentado para 5 |
| 4º | i = 5 | true | 5 é impresso e iaumentado para 6 |
| 5 ª | i = 6 | false | O loop é encerrado |
Exemplo 4: Soma apenas de números positivos
// program to find the sum of positive numbers // If the user enters a negative number, the loop ends // the negative number entered is not added to the sum #include using namespace std; int main() ( int number = 0; int sum = 0; do ( sum += number; // take input from the user cout <> number; ) while (number>= 0); // display the sum cout << "The sum is " << sum << endl; return 0; )
Produto 1
Insira um número: 6 Insira um número: 12 Insira um número: 7 Insira um número: 0 Insira um número: -2 A soma é 25
Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.
Output 2
Enter a number: -6 The sum is 0.
The body of the do… while loop runs only once if the user enters a negative number.
Infinite while loop
If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true) ( // body of the loop )
Here is an example of an infinite do… while loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1);
In the above programs, the condition is always true. Hence, the loop body will run for infinite times.
for vs while loops
A for loop is usually used when the number of iterations is known. For example,
// This loop is iterated 5 times for (int i = 1; i <=5; ++i) ( // body of the loop )
Here, we know that the for-loop will be executed 5 times.
No entanto, os loops whilee do… whilegeralmente são usados quando o número de iterações é desconhecido. Por exemplo,
while (condition) ( // body of the loop )
Confira estes exemplos para saber mais:
- Programa C ++ para exibir a série Fibonacci
- Programa C ++ para encontrar GCD
- Programa C ++ para encontrar LCM








