• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

migg

Loop

3 mensagens neste tópico

OLá tanho 13 anos e quero aprender programação saquei um curso em c e eu não entendo bem a diferença entre:

O loop infinito

O loop infinito tem a forma

for (inicialização; ;incremento) declaração;

Este loop chama-se loop infinito porque será executado para sempre (não existindo a condição, ela será sempre considerada verdadeira), a não ser que ele seja interrompido. Para interromper um loop como este usamos o comando break. O comando break vai quebrar o loop infinito e o programa continuará sua execução normalmente.

Como exemplo vamos ver um programa que faz a leitura de uma tecla e sua impressão na tela, até que o usuario aperte uma tecla sinalizadora de final (um FLAG). O nosso FLAG será a letra 'X'.

#include <stdio.h>

#include <conio.h>

int main ()

{

int Count;

char ch;

for (Count=1;;Count++)

        {

        ch = getch();

        if (ch == 'X') break;

        printf("\nLetra: %c",ch);

        }

return(0);

}

O loop sem conteúdo

Loop sem conteúdo é aquele no qual se omite a declaração. Sua forma geral é (atenção ao ponto e vírgula!):

for (inicialização;condição;incremento);

Uma das aplicações desta estrutura é gerar tempos de espera. O programa

#include <stdio.h>

int main ()

{

long int i;

printf("\a");            /* Imprime o caracter de alerta (um beep) */

for (i=0; i<10000000; i++);  /* Espera 10.000.000 de iteracoes */

printf("\a");                /* Imprime outro caracter de alerta */

return(0);

}

Podiam-me explicar melhor sff?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

São coisas completamente diferentes.

for(inicialização;condição;incremento)

  {

  código

  }

faz o seguinte:

Começa por executar o código em "inicialização" que é geralmente definir o valor de uma variável. Depois verifica que a "condição" é verdadeira e em caso afirmativo executa o "código" dentro dos {}. Por fim executa o "incremento" que é  como o nome indica geralmente aumentar o valor da variável. Depois verifica que a condição ainda é respeitada, e faz este ciclo até que a condição seja falsa ou se encontrar um break no código.

No primeiro caso o código que está dentro do loop é executado "infinitamente" (ou pelo menos até que encontre um break). Isso acontece porque não colocar condição equivale a colocar uma condição que é sempre verdadeira. No exemplo que eles dão tens um código que mostra a letra pressionada pelo utilizador até que ele carregue na tecla X.

No segundo caso o loop é executado um número de vezes (10 milhões no exemplo) mas sem qualquer código lá dentro, e serve, como eles dizem, para "passar tempo".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora