Online C Compiler
Abrir no compilador

Edição didática em português. O código e suas saídas preservam o original.

Laços for, while e do-while em C

Repita operações com condições claras e evite erros nos limites.

Abrir no compilador

Laços for, while e do-while em C
Repita operações com condições claras e evite erros nos limites.

for reúne inicialização, condição e atualização. while verifica a condição antes de cada repetição; do-while verifica depois e executa o corpo pelo menos uma vez. Escolha a forma que melhor expresse quando o trabalho deve continuar.

break sai do laço mais próximo. continue passa para a próxima iteração; em um while, não deve pular a atualização necessária para terminar. Revise condições com < e <= para evitar uma repetição extra.

Teste zero, uma e várias iterações. Em laços aninhados, conte o trabalho dos dois níveis e confira se a variável interna é reinicializada corretamente.

Código C

#include <stdio.h>

int main(void) {
    printf("=== 1. For Loop with Break & Continue ===\n");
    for (int i = 1; i <= 8; i++) {
        if (i == 3) {
            printf("  Skipping iteration i = %d (continue)\n", i);
            continue;
        }
        if (i == 7) {
            printf("  Terminating early at i = %d (break)\n", i);
            break;
        }
        printf("  For index: %d\n", i);
    }

    printf("\n=== 2. While Loop (Bitwise Power Generator) ===\n");
    int power = 1;
    while (power <= 32) {
        printf("  2^k value = %d\n", power);
        power *= 2;
    }

    printf("\n=== 3. Do-While Loop (Guaranteed 1+ Run) ===\n");
    int count = 0;
    do {
        printf("  Executed do-while body (count = %d)\n", count);
        count++;
    } while (count < 2);

    return 0;
}
Abrir no compilador

Saída esperada

=== 1. For Loop with Break & Continue ===
  For index: 1
  For index: 2
  Skipping iteration i = 3 (continue)
  For index: 4
  For index: 5
  For index: 6
  Terminating early at i = 7 (break)

=== 2. While Loop (Bitwise Power Generator) ===
  2^k value = 1
  2^k value = 2
  2^k value = 4
  2^k value = 8
  2^k value = 16
  2^k value = 32

=== 3. Do-While Loop (Guaranteed 1+ Run) ===
  Executed do-while body (count = 0)
  Executed do-while body (count = 1)

Perguntas frequentes

Por que o código e a saída continuam em inglês?

Palavras-chave, identificadores e textos verificados pelos testes são preservados para não alterar o programa. As explicações e os controles estão traduzidos.