for-toistorakenne
For-rakennetta kannattaa käyttää, jos toistojen määrä tiedetään ohjelmassa, ennen kuin toistot aloitetaan.
- For-lauseessa toistojen lukumäärää hallitaan ohjelmassa olevan toistolaskurin avulla.
- Se määritellään yleensä kokonaislukumuuttujana, jolle annetaan nimi i:
int i;
- Toistot päätetään, kun laskuri on ylittänyt sovitun loppuarvon.
- Jos for-silmukoita on sisäkkäin, tarvitaan useita laskureita.
- Sisempien silmukoiden laskureille voidaan käyttää nimiä j ja k.
Toistolaskurin käsittely
Laskuriin kohdistuu kolme oleellista operaatiota. Nämä ovat:
- laskurin alkuarvon asettaminen (alkutoimet)
- laskurin arvon vertaaminen loppuarvoon (toistoehto)
- laskurin arvon kasvattaminen yhdellä (lopputoimet)
Nämä kaikki asiat tehdään for-lauseen alussa sulkujen sisällä:
for (i=1; i<=N; i++)
- alkuarvon asettaminen tehdään kerran (ennen 1. toistoa)
- toistoehto tutkitaan ennen kunkin toistokerran alkua
- laskurin arvoa kasvatetaan kunkin toistokerran päätteeksi
Syntaksi
For-rakenteen kieliopillisesta muodosta on oleellista huomata että kaikki kolme toistoa ohjaavaa operaatiota kirjoitetaan for-riville sulkujen sisään:
for (alkutoimet; toistoehto; lopputoimet) { lauseita; }
Esimerkki
Ohjelman pätkä, joka tulostaa arvot 0...9 allekain ruudulle käyttäen for-toistorakennetta:
int i; for (i=0; i<10; i++) { printf("\n i = %d", i); }