...
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ä.
Sisäkkäiset toistorakenteet
Kuten muitakin (Robot)C-kielen rakenteita, voi myös toistorakenteita sijoittaa sisäkkäin. Siis seuraava on aivan sallittua:
Code Block |
---|
task |
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 ehto1) { printf("\nAnna jokin luku: "); scanf("%d",&Luku); while (ehto2) if (Luku <{ 10) printf("Luku on < 10")lauseita; 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; } } } } |
...
"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ä.