...
Näistä kaksi ensimmäistä ovat ns. alkuehtoisia ja viimeinen, do...while on loppuehtoinen toistorakenne.
...
"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.
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 Block |
---|
/* 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;
}
|