Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Wiki Markup
h1. Toistorakenteet

Kun jotain koodin osaa halutaan toistaa ennalta tiedetty määrä kertoja tai ennalta tuntematon määrä, niin voimme käyttää toistorakennetta.

C-kielessä on kolme toistorakennetta:
# [while]
# [for]
# [

Toistorakenteet

Kun jotain koodin osaa halutaan toistaa ennalta tiedetty määrä kertoja tai ennalta tuntematon määrä, niin voimme käyttää toistorakennetta.

C-kielessä on kolme toistorakennetta:

...

do...while

...

]

Näistä kaksi ensimmäistä ovat ns. alkuehtoisia ja viimeinen, _do...while_ on loppuehtoinen toistorakenne.

...



----

h2. "Ikuinen" silmukka

...



* Joskus on tarpeen rakenne, joka toistaa haluttua koodia "ikuisesti".

...


* Lainausmerkit siksi, että ei tietenkään mikään ohjelma pyöri ikuisesti, mutta merkintää käytetään ilmaisemaan että toistorakenne toistuu ennalta tuntemattoman määrän kertoja.

h3.

...

 Esimerkki

...



Seuraavassa on esimerkki ikuisen silmukan sekä _if_ ja _else_\-lauseiden käytöstä.

...


Ikuista silmukkaa tarvitaan ohjelmissa, missä ei ennalta tiedetä milloin ohjelmasta tulisi poistua.

...


Ikuisesta silmukasta poistutaan *break* tai *return* käskyillä.

...


{code
}
/* Ohjelma, joka tulostaa millä välillä annettu luku on.
 * Lukuvälit ovat <10, 10-100 ja >100.
 * Käytetään ohjelmassa if, else if ja else -lauseita.
 */

#include <stdio.h>
#include <conio.h>

int main()
{
   int Luku;
   while (1) // "ikuinen" silmukka
   {
      printf("\nAnna jokin luku: ");
      scanf("%d",&Luku);

      if (Luku < 10)                      printf("Luku on < 10");
      else if (Luku >= 10 && Luku <= 100) printf("Luku on 10...100");
      else                                printf("Luku on > 100");

      if (Luku == 500) break; // poistutaan silmukasta, kun käyttäjä antaa luvun 500
   }
   return 1;
}
{code}