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++.
forlaçowhilelaçodo...whilelaç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
whileloop avalia ocondition - Se o
conditionavalia paratrue, o código dentro dowhileloop é executado. - O
conditioné avaliado novamente. - Esse processo continua até
conditionéfalse. - Quando o
conditionavalia 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
conditionavalia paratrue, o corpo do loop dentro dodoinstrução é executada novamente. - O
conditioné avaliado mais uma vez. - Se o
conditionavalia paratrue, o corpo do loop dentro dodoinstrução é executada novamente. - Esse processo continua até o
conditionavalia 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++