Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
While, Do-While | Declarações de Controle
Fundamentos de C
course content

Conteúdo do Curso

Fundamentos de C

Fundamentos de C

1. Introdução
2. Dados
3. Operadores
4. Declarações de Controle
5. Funções
6. Ponteiros

book
While, Do-While

Imagine um cenário onde você precisa executar repetidamente certas tarefas, como ler dados de um sensor, tentar entradas de senha ou contar palavras em uma frase. Nessas situações, os loops entram em ação.

Os loops permitem que você execute blocos específicos de código várias vezes, sejam dezenas, centenas ou até milhares de vezes. Compreender o conceito de loops é vital na programação. Este curso explora os loops fundamentais: o loop while, o loop do-while e o loop for.

Loop While

Este loop continua executando enquanto uma condição específica é atendida. Uma vez que a condição não é satisfeita, o loop para.

Um uso básico de um loop é exibir a contagem de suas repetições:

c

Main

copy
12345678910111213141516
#include <stdio.h> int main() { int iterations = 1; // interesting string while (iterations <= 10 ) { printf("%d\n", iterations); iterations++; // iterations = iterations + 1; } return 0; }

Para interromper este loop, uma condição de término é essencial. Uma abordagem simples é usar um contador para rastrear o número de vezes que o loop é executado.

Nota

Uma iteração refere-se a um ciclo único dentro de um loop. Portanto, se o loop executa o bloco de código 10 vezes, ele completou 10 iterações.

A linha iterations++; é crucial, pois incrementa o contador (int iterations) a cada passagem. O contador então define as condições para terminar o loop.

Nota

É imperativo estabelecer condições para sair do loop. Não fazê-lo resultará em um loop infinito.

Vamos criar um programa para mostrar os elementos de um array de inteiros:

c

Main

copy
1234567891011121314151617
#include <stdio.h> int main() { int array[] = {3, 6, 2, 134, 45, 2, 564, 8, 3, 531}; int i = 0; // index of array while (i < 10 ) { printf("Index of element: %d\tValue of element: %d\n", i, array[i]); i++; // i = i + 1 } return 0; }

Concentre-se na expressão array[i]. Aqui, a variável i denota o índice dos elementos do array[].

Nota

Uma iteração refere-se à contagem de ciclos do loop.

A cada ciclo, a variável i aumenta em 1. Isso significa que durante cada ciclo, a expressão array[i] acessa o elemento subsequente do array:

do-while

A principal distinção entre os loops do-while e while é que o primeiro garante pelo menos uma execução, mesmo que sua condição seja inicialmente falsa.

Exemplo:

c

Main

copy
12345678910111213141516
#include <stdio.h> int main() { int i = 0; do { printf("Condition `i == 1` is false, because i = 0, but loop is working...\n"); } while (i == 1); printf("Loop is over\n"); return 0; }

Este tipo de loop é útil para criar interfaces de usuário básicas. Por exemplo, ao solicitar uma senha, o programa pedirá repetidamente até que o usuário insira a correta:

c

Main

copy
1234567891011121314151617181920
#include <stdio.h> int main() { int userInput[] = { 111, 222, 333, 444 }; // arrays of passwords int i = 0; // index of element do { printf("You entered password: %d | incorrect\n", userInput[i]); i++; } while (userInput[i] != 444); printf("You entered password: %d | correct\n", userInput[i]); return 0; }
Qual será o valor de `x` na 6ª iteração?

Qual será o valor de x na 6ª iteração?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 5
We're sorry to hear that something went wrong. What happened?
some-alt