You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

while

while-toistorakennetta käytetään silloin, kun silmukkaan ei mennä alkuehdon ollessa epätosi. while-rakennetta sanotaan alkuehtoiseksi while-silmukaksi.

Syntaksi

while (ehto)
{
    lauseita;
}

Esimerkki

Ohjelman pätkä, joka tulostaa arvot 0...9 allekain ruudulle käyttäen while-toistorakennetta:

int i=0;
while (i<10)
{
   printf("\ni = %d",i);
   i++;
}

"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 tietämättömän määrän kertoja.

Esimerkki

Seuraavassa on esimerkki ikuisen silmukan ja if sekä 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ä.

/* 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;
}
  • No labels
You must log in to comment.