C++ do…while loop com exemplos
O que é o loop do-while?
O loop do-while itera uma seção do C++ programa várias vezes. No loop do-while, a expressão de teste é adicionada na parte inferior do loop. O corpo do loop vem antes da expressão de teste. É por isso que o corpo do loop deve ser executado uma vez, mesmo quando a expressão de teste for avaliada como falsa no primeiro teste.
Quando usar um loop do-while?
O loop do-while deve ser usado quando o número de iterações não é fixo e o loop deve ser executado pelo menos uma vez. O C++ compilador executa o corpo do loop primeiro, antes de avaliar a condição. Isso significa que o loop deve retornar um resultado. Este é o caso mesmo quando a condição de teste é avaliada como falsa na primeira avaliação. Como o corpo do loop já foi executado, ele deverá retornar o resultado.
Sintaxe
A sintaxe básica de C++ fazer while loop é o seguinte:
do{ //code }while(condition);
A condição é uma expressão de teste. Deve ser verdadeiro para que o loop seja executado. Os { e } marcam o corpo do loop do while. Vem antes da condição. Portanto, ele é executado antes da condição.
Como funciona o loop do-while?
Explicação do fluxograma:
- Início do loop do while.
- O corpo do loop do while.
- A expressão ou condição de teste a ser avaliada.
- Se a expressão de teste for verdadeira, o C++ o compilador executou o corpo do loop do while.
- Se a expressão de teste for falsa, o C++ o compilador executa as instruções após o corpo do loop.
- Instruções que vêm depois do corpo do loop.
Exemplo 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa. O { marca o início do corpo da função main().
- Um comentário. O C++ o compilador irá pular isso.
- Declarar uma variável inteira x e atribuir a ela o valor 1.
- Criando um loop do-while. O {marca o início do corpo do loop.
- Para imprimir o valor da variável x junto com outro texto no console. O final é um C++ palavra-chave que significa linha final.
- Aumentando o valor de x em 1 após cada iteração.
- Fim do corpo do loop. A expressão de teste foi adicionada ao final do corpo do loop. Ele testa se o valor de x é menor que 5.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Exemplo 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa.
- O { marca o início do corpo da função main().
- Declarando duas variáveis inteiras, num e soma. A variável sum foi inicializada como 0.
- Criando um loop do-while. O {marca o início do corpo do loop.
- Imprimindo o texto “Digite um número:” no console.
- Lendo a entrada do usuário no console e armazenando o valor na variável num. O cin (entrada do console) é uma função que lê a entrada do usuário.
- Adicionando o valor de num ao valor de sum e armazenando o resultado na variável sum.
- O } marca o fim do corpo do loop. A expressão de teste foi adicionada ao final do corpo do loop. Ele testa se o valor inserido pelo usuário para ter certeza de que não é 0. O != é diferente do operador. Se o usuário inserir 0, o loop deverá terminar.
- Imprimindo o valor da variável sum no console junto com outro texto.
- A função main() deve retornar um valor se o programa funcionar bem.
- Fim do corpo da função main().
Loop Do While aninhado
In C++, é possível criarmos um loop do-while dentro de outro loop do-whole. Isso resulta em um loop do-while aninhado.
Sintaxe
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
A primeira instrução do denota a parte do do loop externo do-while.
A segunda instrução do denota a parte do do loop do-while interno.
A primeira instrução while denota a condição de teste para o loop interno.
A segunda instrução while denota a condição de teste para o loop externo.
Como funciona o loop Nested Do While
O loop do while aninhado funciona da seguinte maneira:
- A inicialização é executada primeiro e uma vez.
- As instruções (o do) são executadas uma vez.
- A expressão de teste é avaliação por controle de fluxo.
- Se for verdade, o loop interno é executado.
- As declarações de atualização são atualizadas.
- O processo é executado repetidamente até que a expressão de teste se torne falsa.
- Quando a expressão de teste se torna falsa, o loop interno é encerrado e o controle salta para o loop externo.
- A condição de teste é avaliada novamente.
- Se verdadeiro, as instruções são executadas para retornar falso.
- A execução do loop para e o controle salta para instruções após o loop.
Exemplo
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
Saída:
Aqui está uma captura de tela do código:
Explicação do código:
- Incluindo o arquivo de cabeçalho iostream em nosso código. Isso nos permitirá ler e escrever no console.
- Incluindo o namespace std para usar suas classes e funções sem chamá-lo.
- Chamando a função main() dentro da qual deve ser adicionada a lógica do programa. O { marca o início do corpo da função main().
- Declarar uma variável inteira a e atribuir a ela o valor 1.
- Criando o loop do-while externo. O {marca o início do corpo do loop externo.
- Declarar uma variável inteira b e atribuir a ela o valor 1.
- Criando o loop do-while interno. O {marca o início do corpo do loop interno.
- Para imprimir o valor da variável a no console. O “\n” é um caractere de nova linha que move o cursor do mouse para a próxima linha.
- Aumentando o valor de b em 1 após cada iteração.
- Fim do corpo do loop interno. A expressão de teste foi adicionada ao final do corpo do loop. Ele testa se o valor de b é menor ou igual a 5.
- Aumentando o valor de a em 1 após cada iteração.
- Fim do corpo do loop externo. A expressão de teste foi adicionada ao final do corpo do loop. Ele testa se o valor de a é menor ou igual a 3.
- Fim do corpo da função main().
Resumo
- O loop do-while executa uma seção de código várias vezes.
- Deve ser usado quando o número de iterações não é fixo.
- No loop do-while, o corpo do loop vem antes da expressão de teste.
- O corpo do loop é executado pelo menos uma vez, mesmo que a expressão de teste se torne falsa.
- Este loop deve ser usado quando o número de iterações não for fixo.
- O loop Do while pode ser executado quantas vezes quiser, desde que a condição seja verdadeira.
- A condição é avaliada uma vez após cada iteração.
- O resultado da avaliação da condição determina a ação a ser tomada.
- Se a condição for verdadeira, o loop executou o corpo.
- A execução do loop é interrompida imediatamente quando a condição é avaliada como falsa.
- Como o corpo do loop do while já foi executado, ele deve retornar o resultado.