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ä.