AULA 11 - Introdução à Linguagem C - FIC
O COMANDO WHILE
A forma geral da declaração while é:
while( expressão_de_teste) comando;
A interpretação é: "Enquanto expressão_de_teste for verdadeira; execute comando". No momento em que expressão_de_teste deixa de ser não-zero, a execução continua na linha de comando seguinte ao laço while.
Se houver vários comandos internos ao loop while, estes devem estar entre chaves ({ }).
Ex:
i=0;
... while(i < 10)
{ a = b * 2;
chama_função( );
i++;
}
É importante salientar que se a expressão_de_teste não for verdadeira já no primeiro teste do
laço este não será executado nenhuma vez e que o comando while é mais apropriado para laços onde
o número de interações não é conhecido de antemão. Por exemplo, como saber quantas vezes o
usuário vai digitar caracteres para um número ou uma string de entrada?
Ex:
#include <stdio.h>
#include <conio.h>
void main(void)
{ int cont=0;
printf("Digite uma frase: \n");
while(getche()!= 13) /* O caractere com ASCII igual a 13 é a tecla enter (return) */
cont++;
printf("\nO numero de caracteres é %d", cont); }
Ex2:
i = 0; i = 5;
... while (i<5) É equivalente a ... while (i)
i++; ... i--; ...
O COMANDO DO-WHILE
A forma geral da declaração do-while é:
do comando; while(expressão_de_teste);
A interpretação é: "Faça comando enquanto expressão_de_teste for verdadeira".
O comando do while faz quase o mesmo que o while, com a diferença que no primeiro, o loop é executado pelo menos uma vez, já que o teste da expressão é feito no final da interação. Ou seja, se expressão_de_teste for falsa já na primeira interação, comando é executado uma vez e em seguida a execução continua fora do loop, na próxima linha de comando. Caso expressão_de_teste seja verdadeira, comando será executado até que esta se torne falsa.
Exercício:
1) Adapte o programa do número mágico, para uso com estrutura do-while.
2) Faça o programa que lê um número inteiro e devolve o fatorial deste número [ fat(n) = 1*2*3*4*...*n ] Solução: solucaob
3) Faça o programa que lê os coeficientes da equação de 2o. grau A.X2 + B.X + C = 0 e calcula as raízes reais ou complexas. Solução: solucaoa