C++ while e do... while Loop
C++ while e do... while Loop
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 eficaz de loops.
Existem 3 tipos de loops em C++.
for
laçowhile
laçodo...while
laço
No tutorial anterior, aprendemos sobre o loop for C++. Aqui, vamos aprender sobre
while
e do...while
rotações. C++ while Loop
A sintaxe do
while
laço é:
while (condition) {
// body of the loop
}
Aqui,
- Um
while
loop avalia ocondition
- Se o
condition
avalia paratrue
, o código dentro dowhile
loop é executado. - O
condition
é avaliado novamente. - Esse processo continua até
condition
éfalse
. - Quando o
condition
avalia parafalse
, o loop termina.
Para saber mais sobre o
conditions
, visite Operadores relacionais e lógicos C++. Fluxograma do loop while

Exemplo 1:exibir números de 1 a 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// while loop from 1 to 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
Saída
1 2 3 4 5
Aqui está como o programa funciona.
Iteração | Variável | e <=5 | Ação |
---|---|---|---|
1º | i = 1 | true |
1
é impresso e i é aumentado para 2 . |
2º | i = 2 | true |
2
é impresso e i é aumentado para 3 . |
3º | i = 3 | true |
3
é impresso e i é aumentado para 4 |
4º | i = 4 | true |
4
é impresso e i é aumentado para 5 . |
5º | i = 5 | true |
5
é impresso e i é aumentado para 6 . |
6º | i = 6 | false | O loop é finalizado |
Exemplo 2: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 <iostream>
using namespace std;
int main() {
int number;
int sum = 0;
// take input from the user
cout << "Enter a number: ";
cin >> number;
while (number >= 0) {
// add all positive numbers
sum += number;
// take input again if the number is positive
cout << "Enter a number: ";
cin >> number;
}
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Saída
Enter a number: 6 Enter a number: 12 Enter a number: 7 Enter a number: 0 Enter a number: -2 The sum is 25
Neste programa, o usuário é solicitado a inserir um número, que é armazenado na variável número .
Para armazenar a soma dos números, declaramos uma variável sum e inicialize-o com o valor de
0
. O
while
loop continua até que o usuário insira um número negativo. Durante cada iteração, o número inserido pelo usuário é adicionado à soma variável. Quando o usuário insere um número negativo, o loop termina. Por fim, a soma total é exibida.
C++ faz... while Loop
O
do...while
loop é uma variante do while
loop com uma diferença importante:o corpo de do...while
loop é executado uma vez antes do condition
está checado. Sua sintaxe é:
do {
// body of loop;
}
while (condition);
Aqui,
- O corpo do loop é executado primeiro. Em seguida, o
condition
é avaliado. - Se o
condition
avalia paratrue
, o corpo do loop dentro dodo
instrução é executada novamente. - O
condition
é avaliado mais uma vez. - Se o
condition
avalia paratrue
, o corpo do loop dentro dodo
instrução é executada novamente. - Esse processo continua até o
condition
avalia parafalse
. Em seguida, o loop para.
Fluxograma de fazer... while Loop

Exemplo 3:exibir números de 1 a 5
// C++ Program to print numbers from 1 to 5
#include <iostream>
using namespace std;
int main() {
int i = 1;
// do...while loop from 1 to 5
do {
cout << i << " ";
++i;
}
while (i <= 5);
return 0;
}
Saída
1 2 3 4 5
Aqui está como o programa funciona.
Iteração | Variável | e <=5 | Ação |
---|---|---|---|
i = 1 | não marcado |
1
é impresso e i é aumentado para 2 | |
1º | i = 2 | true |
2
é impresso e i é aumentado para 3 |
2º | i = 3 | true |
3
é impresso e i é aumentado para 4 |
3º | i = 4 | true |
4
é impresso e i é aumentado para 5 |
4º | i = 5 | true |
5
é impresso e i é aumentado para 6 |
5º | i = 6 | false | O loop é finalizado |
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 <iostream>
using namespace std;
int main() {
int number = 0;
int sum = 0;
do {
sum += number;
// take input from the user
cout << "Enter a number: ";
cin >> number;
}
while (number >= 0);
// display the sum
cout << "\nThe sum is " << sum << endl;
return 0;
}
Saída 1
Enter a number: 6 Enter a number: 12 Enter a number: 7 Enter a number: 0 Enter a number: -2 The sum is 25
Aqui, o
do...while
loop continua até que o usuário insira um número negativo. Quando o número é negativo, o loop termina; o número negativo não é adicionado ao sum
variável. Saída 2
Enter a number: -6 The sum is 0.
O corpo do
do...while
loop é executado apenas uma vez se o usuário inserir um número negativo. Loop while infinito
Se o
condition
de um loop é sempre true
, o loop é executado por infinitas vezes (até que a memória esteja cheia). Por exemplo,
// infinite while loop
while(true) {
// body of the loop
}
Aqui está um exemplo de um infinito
do...while
ciclo.
// infinite do...while loop
int count = 1;
do {
// body of loop
}
while(count == 1);
Nos programas acima, o
condition
é sempre true
. Portanto, o corpo do loop será executado por infinitas vezes. para vs while loops
Um
for
loop é geralmente usado quando o número de iterações é conhecido. Por exemplo,
// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
// body of the loop
}
Aqui, sabemos que o loop for será executado 5 vezes.
No entanto,
while
e do...while
loops são geralmente 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 séries de Fibonacci
- Programa C++ para encontrar o GCD
- Programa C++ para encontrar LCM
Linguagem C
- 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
- C++ do… while loop com exemplos
- Diferença entre while e do-while:explicado com exemplos
- Programa Palindrome Number em Java usando while &for Loop
- Data e hora do C++
- Sobrecarga de C++ (operador e função)
- Arquivos e fluxos C++