Dominando Loops em C: For, While e Do-While Explicados com Exemplos Práticos
O Que É um Loop em C?
Um loop repete um bloco de declarações até que uma condição especificada se torne falsa. Em C, um loop consiste em um corpo e uma declaração de controle que dita quantas vezes o corpo executa. Dominar loops é essencial para escrever programas C eficientes e legíveis.
Neste tutorial você descobrirá:
- Definição e propósito de loops em C
- Tipos de loops: controlados na entrada vs. controlados na saída
- Fundamentos do loop while
- Fundamentos do loop do-while
- Fundamentos do loop for
- Usando
breakecontinue - Escolhendo o loop certo para um dado cenário
Tipos de Loops em C
Loops em C são classificados pela posição de sua condição de controle:
- Loops controlados na entrada — a condição é avaliada antes do corpo rodar (ex:
whileefor). - Loops controlados na saída — a condição é avaliada após o corpo rodar (ex:
do-while).
Um loop infinito ocorre quando o loop nunca satisfaz sua condição de terminação. Causas comuns incluem falta de verificação de terminação ou condição sempre verdadeira.
Loop While em C
O loop while é a forma mais simples de loop controlado na entrada. Sua sintaxe é:
while (condição) { declarações; }
A condição é avaliada primeiro; se for verdadeira, o corpo executa. Após cada execução, a condição é reavaliada até se tornar falsa.
Exemplo – imprimir números 1 a 10:
#include <stdio.h>
int main() {
int num = 1;
while (num <= 10) {
printf("%d\n", num);
num++;
}
return 0;
}
Saída:
1 2 3 4 5 6 7 8 9 10
Loop Do-While em C
O loop do-while garante que o corpo execute pelo menos uma vez, tornando-o um loop controlado na saída. Sintaxe:
do { declarações; } while (condição);
Exemplo – imprimir a tabuada do 2 até 10:
#include <stdio.h>
int main() {
int num = 1;
do {
printf("%d\n", 2 * num);
num++;
} while (num <= 10);
return 0;
}
Saída:
2 4 6 8 10 12 14 16 18 20
Loop For em C
O loop for é altamente eficiente para iterar com início, fim e passo conhecidos. Sintaxe:
for (inicialização; condição; incremento) { declarações; }
- A inicialização roda uma vez.
- A condição é verificada antes de cada iteração.
- O incremento atualiza a variável do loop.
Exemplo – imprimir números 1 a 10:
#include <stdio.h>
int main() {
for (int number = 1; number <= 10; number++) {
printf("%d\n", number);
}
return 0;
}
Saída:
1 2 3 4 5 6 7 8 9 10
Loops for complexos podem incluir múltiplas expressões e até componentes vazios:
for (int i = 0, j = num; i < j; i++, j--) { // declarações }
Loops aninhados são comuns, especialmente para arrays multidimensionais. Exemplo – tabuadas:
#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) {
for (j = 0; j <= max; j++) {
printf("%d x %d = %d\n", i, j, i * j);
}
printf("\n");
}
return 0;
}
Saída:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
Declaração Break em C
A palavra-chave break sai do loop ou declaração switch mais próximo imediatamente. Exemplo – parar um loop while quando um valor atinge 3:
#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
if (num == 3) break;
printf("%d\n", num);
num--;
}
return 0;
}
Saída:
5 4
Declaração Continue em C
A palavra-chave continue pula o resto da iteração atual e prossegue para o próximo ciclo do loop. Exemplo – pular impressão do número 5:
#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
nb--;
if (nb == 5) continue;
printf("%d\n", nb);
}
return 0;
}
Saída:
6 4 3 2 1
Escolhendo o Loop Certo
Decida baseado em quando a condição deve ser avaliada:
- Pré-teste necessário — use
whileoufor. - Pós-teste necessário — use
do-while.
Resumo
- Um loop repete um bloco de código até que sua condição se torne falsa.
- C oferece três loops primários:
while,do-whileefor. - Loops controlados na entrada avaliam a condição antes de cada iteração; loops controlados na saída avaliam após.
- Use
breakpara terminar loops cedo econtinuepara pular iterações. - Escolha o loop que melhor corresponde aos requisitos de fluxo de controle do seu algoritmo.
Linguagem C
- Dominando Loops While e Do-While em C#: Sintaxe, Exemplos e Boas Práticas
- Dominando Loops For em C#: Sintaxe, Fluxo e Exemplos Práticos
- Loops Foreach em C#: Itere Arrays e Coleções com Facilidade
- Dominando Loops For em C++: Guia Passo a Passo
- Alicates Amperímetros Fluke 772/773: Abordagem Moderna para Solução de Problemas em Laços de Automação
- While vs. Do-While: Comparação Clara com Exemplos Práticos
- Programa Java para Identificar Números de Armstrong Usando Loop For
- Verificador de Número Palíndromo em Java: Algoritmos com While e For Loops
- Domine Loops em Python: For, While, Break, Continue e Enumerate Explicados
- Dominando Laços WHILE na Programação CNC SINUMERIK 840D