Ciklusok

A "for" ciklus

Ciklusokat akkor írunk, amikor ugyanazokat a műveleteket akarjuk többször egymás után elvégeztetni a géppel. Erre három lehetőségünk van C-ben, a ciklusokat megvalósíthatjuk a for ciklussal, a while (elöltesztelő) és a do ... while (hátultesztelő) ciklussal.

A for ciklus szintaktikája:

  for(utasítás1;feltétel;utasítás2){
  utasítások;
}

Itt:
utasítás1 : kezdőfeltétel
feltétel: logikai kifejezés, a ciklus addig fut, amíg a kifejezés értéke igaz (!=0)
utasítás2: álktalában ezzel léptetjük a futó változót. Itt semmi sem kötelező, bármelyik utasítás kihagyható.

Nézzünk egy példát: a felhasználó beviszi az alapot és a nemnegatív kitevőt és a program kiszámítja az alap kitevőedik hatványát.


 

Az i++ jelölés azt jelenti, hogy i értékét növeljük 1-el (i = i +1). A szorzat *= alap jelentése:
szorzat = szorzat*alap. Ugyanígy alkalmazhatjuk az i-- jelölést, ez az i értékét 1-el csökkenti, ill. az x += 5 jelőlés növeli x értékét 5-el.

A while ciklus

A while ciklus egy úgynevezett elöltesztelő ciklus. Ez azt jelenti, hogy a while kulcsszó után zárójelben van egy logikai kifejezés. A ciklusmagot mindaddikg végrehajtja, amíg a kifejezés igaz. Ha a kifejezés kezdetben hamis, egyáltalán nem hajtja végre a magot. Nézzünk egy példát, amelyik egy tízes számrendszerben megadott számot kettes számrendszerbe alakít:

A do ... while (hátultesztelő) ciklus

A do ... while ciklus esetében egyszer legalább végrehajtja a program a ciklust. Csak az első végrehajtás után vizsgálja meg, hogy teljesül-e a feltétel vagy sem. Tipikus felhasználása a beolvasás végjelig, illetve a menü. Az alábbi példában beolvassuk egy pozitív egészeket tartalmazó tömb elemeit -1 végjelig, majd kiíratjuk őket.