Silmukalla for toistetaan annettua toimenpidettä niin kauan kuin lauseen ehto-osa on tosi. Lauseen yleinen muoto on
for (alustus; ehto; päivitys) lause;
tai lohkon toistona
for (alustus; ehto; päivitys) {
lause1;
lause2;
...
}
for-lauseen suoritus menee seuraavasti:
Silmukkaa for käytetään usein jonkin tunnetun määrän kierroksia toistamiseen. Esimerkiksi tapauksessa, jossa lause halutaan toistaa 5 kertaa, voidaan käyttää kokonaislukumuuttujaa i kierroslaskurina seuraavasti:
for (i=0; i<5; i++) lause;
Tässä suoritetaan ensin alustus, i=0, sitten testataan ehto i<5 (pitää paikkansa), suoritetaan lause ja lopuksi päivitetään kierroslaskurin i arvoa, i++ (lisätään yhdellä). Ehto testataan taas: jos tosi, suoritetaan lause uudelleen ja lisätään laskuria jälleen yhdellä. Silmukkaa suoritetaan kunnes ehto tulee epätodeksi eli kunnes i saavuttaa arvon 5. Siis lause suoritetaan i:n arvoilla 0,1,2,3 ja 4, mutta ei enää arvolla 5.
Esimerkki
Halutaan laskea kokonaislukujen summa luvusta 0 lukuun 10. Silmukan laskuriksi valitaan kokonaislukumuuttuja i. Myös laskettavalle summalle tarvitaan muuttuja, otetaan siihen kokonaislukumuuttuja summa. Muuttuja summa täytyy muistaa alustaa nollaksi, muutoin saatu vastaus voi olla mitä vain.
/* *********************************************************
SUMMA.CPP
Lasketaan kokonaislukujen 0...10 summa.
********************************************************* */
#include <iostream.h>
int main (void)
{
int i, summa = 0;
cout << "Summa luvuista";
for (i=0; i<=10; i++) {
cout << " " << i; // tulostetaan lisättävä luku
summa = summa + i; // lisätään luku summaan
}
cout << " on " << summa << endl;
return 0;
}
Ohjelma tulostaa näytölle yhden rivin:
Summa luvuista 0 1 2 3 4 5 6 7 8 9 10 on 55
Muuta edellistä esimerkkiä siten, että silmukan aloitus- ja lopetusluvut kysytään käyttäjältä.