Nesta lição vamos aprender a usar as estruturas de repetição while e do-while.
while quer dizer enquanto. Funciona da seguinte maneira enquanto a
condição é verdadeira o laço é executado repetidas vezes. Vejamos a
estrutura:
while (CONDIÇÃO){
INSTRUÇÕES
}
Diferente do for o while tem só a condição como critério de repetição.
Enquanto a condição é verdadeira o laço acontece, quando a condição for
falsa o laço parará de executar as instruções.
Do quer dizer fazer. O algoritmo executa primeiro para depois conferir a
condição. Esta é a vantagem: As instruções são executadas pelo menos
uma vez com o do-while. Vejamos:
do{
INSTRUÇÕES
}while(CONDIÇÃO);
O incremento no caso do while e do-while acontece dentro das instruções,
ou alguma leitura contradiz a condição. Às vezes o seu while pode ter
uma condição sempre verdadeira, então ele sempre repetirá as instruções,
mas é sempre bom ter uma condição de parada acessível para o usuário.
Prática
Este primeiro algoritmo, exibe todos os números de 1 a 100:
#include "stdio.h"
#include "stdlib.h"
int main(){
int i=1;
while(i<=100){
printf("%d\n",i);
i++;
}
getchar();
return(0);
}
O exemplo seguinte, é bem interessante, pois usa um flag como condição de parada do while:
#include "stdio.h"
#include "stdlib.h"
int main(){
int valor;
int x;
printf("Digite 0 para finalizar!")
while(valor!=0){
printf("Digite um valor: ");
scanf("%d",&valor);
if (valor!=0){
x = valor;
}
}
printf("O ultimo valor digitado eh: %d",x);
getchar();
getchar();
return(0);
}
Como já visto o do-while executa pelo menos uma vez o laço, vejamos:
#include#include int main(){ int valor; do{ printf("Digite um numero entre 100 e 1000: "); scanf("%d",&valor); }while(valor<100 valor="valor">1000); printf("Número aceito: %d", valor); getchar(); getchar(); return(0); }
Exercício
Compreenda os algoritmos(lógica) em java do post Estruturas de Repetição II e escreva-os em C.
Até+
Na próxima postagem dando continuidade ao C, quero falar(escrever) sobre os arrays(vetores).

