Laço do-while em C++: Sintaxe, Exemplos Práticos e Loops Aninhados
O que é um Laço do-while?
O laço do-while é uma construção de controle de fluxo que executa um bloco de código pelo menos uma vez e o repete enquanto uma condição especificada permanecer verdadeira. Diferente de um laço while padrão, a condição é avaliada após o corpo do laço, garantindo uma execução independentemente do valor inicial da condição.
Quando Usar um Laço do-while?
Use um laço do-when quando você precisa:
- Pelo menos uma execução do corpo do laço.
- O número de iterações ser determinado em tempo de execução.
- Uma abordagem "prompt-primeiro", como ler entrada do usuário até um valor sentinela ser inserido.
Sintaxe
do {
// código
} while (condição);
O corpo do laço precede a condição while, então o compilador executa o corpo primeiro e depois verifica a condição para decidir se itera novamente.
Como Funciona
Nota: Fluxograma original omitido nesta versão otimizada.
Passos do fluxograma:
- Inicia o laço.
- Executa o corpo do laço.
- Avalia a condição.
- Se verdadeiro, repete do passo 2.
- Se falso, sai do laço e continua com as instruções subsequentes.
Exemplo 1: Contagem com Laço do-while
#include <iostream>
using namespace std;
int main() {
int x = 1;
do {
cout << "X é: " << x << endl;
++x;
} while (x < 5);
return 0;
}
Saída:
X é: 1
X é: 2
X é: 3
X é: 4
O laço imprime valores de 1 a 4 porque a condição x < 5 torna-se falsa após x atingir 5.
Exemplo 2: Somando Números Até Zero Ser Inserido
#include <iostream>
using namespace std;
int main() {
int num, soma = 0;
do {
cout << "Digite um número: ";
cin >> num;
soma += num;
} while (num != 0);
cout << "Soma é " << soma;
return 0;
}
Saída (exemplo):
Digite um número: 10
Digite um número: 20
Digite um número: 0
Soma é 30
Neste exemplo, o laço continua até o usuário digitar 0, garantindo que pelo menos um número seja processado.
Laços do-while Aninhados
Colocar um laço do-while dentro de outro cria uma estrutura aninhada, útil para iterações multidimensionais como imprimir uma grade ou realizar cálculos compostos.
Sintaxe
do {
// corpo externo
do {
// corpo interno
} while (condição_interna);
} while (condição_externa);
Como Funciona
A execução procede da seguinte forma:
- Inicializa variáveis externas.
- Entra no corpo do laço externo.
- Entra no corpo do laço interno.
- Após cada iteração interna, avalia
condição_internapara decidir se continua o laço interno. - Uma vez que o laço interno termina, atualiza variáveis externas e avalia
condição_externapara decidir se repete o laço externo.
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);
return 0;
}
Saída:
1
1
1
2
2
2
3
3
3
Principais Conclusões
- O laço do-while garante pelo menos uma execução do corpo do laço.
- Use-o quando a contagem de iterações é desconhecida até o tempo de execução.
- A condição do laço é verificada após o corpo, não antes.
- Laços aninhados permitem iteração multinível, mas cuide da complexidade e legibilidade.
Linguagem C
- Ilustrando a Adição de Tensões AC Usando Números Complexos
- Dominando Ponteiros em C++: Conceitos, Exemplos e Aplicações Práticas
- Dominando o Tipo Char em C++: Declaração, ASCII e Técnicas de Conversão
- Sobrecarga de Operadores em C++: Guia Prático com Exemplos de Código
- Structs em C++ Explicadas com Exemplo Prático
- Dominando std::list em C++: Sintaxe, Funções e Exemplos Práticos
- Funções em C++ Explicadas com Exemplos Práticos de Código
- Dominando Collections em C#: Tutorial Prático com Exemplos do Mundo Real
- While vs. Do-While: Comparação Clara com Exemplos Práticos
- Domine o str.count() do Python: Como Contar Caracteres e Substrings com Exemplos