...
while- tostorakennetta käytetään silloin, kun silmukkaan ei mennä alkuehto ei ole tosialkuehdon ollessaepätosi. while-rakennetta sanotaan alkuehtoiseksi while-silmukaksi
Code Block |
---|
while(silmukassa olo ehto) |
...
{
toiminnot silmukan sisällä;
}
|
Esimerkki
Code Block |
---|
while(i<10) |
...
{ printf("\ni = %d",i); |
...
i++; |
...
} |
"Ikuinen" silmukka
Seuraavassa on esimerkki ikuisen silmukan ja if sekä else- lauseiden käytöstä. Ikuista silmukkaa tarvitaan hyvin usein ohjelmassa, kun ennalta ei tiedetä koska ohjelmasta tulisi poistua. Tyypillisesti 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 lauseita */
Code Block |
---|
#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;
}
|