Curso de Programação C | Estrutura de repetição while (enquanto) | aula 67
ฝัง
- เผยแพร่เมื่อ 3 ม.ค. 2025
- Bem vindo a aula 67 de nosso curso gratuito de programação com a linguagem C.
Na aula de hoje vamos aprender como utilizar a estrutura de repetição while (enquanto).
Uma característica da repetição for é que só é possível sua utilização quando sabemos quantas vezes ela irá executar. Dizendo em outras palavras, precisamos saber as condições inicial e final.
O que fazer então quando não sabemos?
É isso que vamos aprender na aula de hoje, a estrutura de repetição while (enquanto).
Imagine que você fez um programa pedindo para o usuário digitar um valor inteiro e maior que zero. O que garante que o usuário irá de fato digitar um valor inteiro e maior que zero?
Nada nos garante isso.
Aí entra então a repetição do tipo enquanto. Enquanto uma ou mais condições não forem satisfeitas, repita um determinado trecho de código.
Em C podemos escrever esse programa assim:
int valor;
printf("Digite um valor maior que zero: ");
scanf("%d", &valor);
while(valor menor ou igual 0){
printf("Valor invalido. Digite um valor maior que zero: ");
scanf("%d", &valor);
}
printf("Valor lido: %d
", valor);
Não esqueça de trocar o texto "menor ou igual" pelos respectivos sinais matemáticos. Por algum motivo o TH-cam não permite esses sinais aqui na descrição.
Código disponível em: wagnergaspar.com/
Professor nota 10. ^^
Firme no aprendendizado dessa linguagem, OBG Prof.
muito boa a aula ✌🏻
Olá Leya.
Obrigado pelo feedback.
boa mesmo!
Valeu Anderson.
like
Estou a aprender muito com as aulas. Sao verdadeiramente muito boas.
Quando estava a testar o programa, digitei propositadamente um "caracter" sendo que a minha variável é "main" e o programa ficou num loop infinito. ha como garantir que esse loop nao ocorra, no caso do usuario digitar um caracter?
Eu tb fiquei com essa duvida, uma maneira de solucionar (n sei se é a melhor) é garantir que apos o While, a gente coloque outro While dizendo que se n for inserido o "enter" apos a requisição, o mesmo seja limpado do buffer do teclado: while(getchar()!='
') getchar();
int main (void){
int opcao;
printf("Digite 0: ");
scanf ("%d", &opcao);
while (opcao != 0){
while(getchar()!='
') getchar();
printf("Digite 0: ");
scanf ("%d", &opcao);
}
return 0;
}
enquato