a c nyelv utasításai
DESCRIPTION
C. A C nyelv utasításai. Ismétlés. Ismétlés. Ciklusutasítások. - PowerPoint PPT PresentationTRANSCRIPT
CA C nyelv utasításai
Ismétlés
Ismétlés
A programozási nyelveken bizonyos utasítások automatikus ismétlést biztosító programszerkezetet iterációnak vagy ciklusnak (loop) nevezzük. Ez az ismétlés mindaddig tart, amíg az ismétlési feltétel igaznak bizonyul. A C nyelv háromféle ciklusutasítást tartalmaz, melyek formája:
(A for utasítás esetén az opt index arra utal hogy a megjelölt kifejezések használata opcionális (nem muszáj megadni).)
Ciklusutasítások
A ciklusokat csoportosíthatjuk a vezérlőfeltétel kiértékelésének helye alapján. Azokat a ciklusokat amelyeknél az utasítás a végrehajtása előtt került feldolgozásra a vezérlőfeltétel, előltesztelő ciklusnak nevezzük. Ezeknél a ciklus következő iterációja (ismétlődése) csak akkor hajtódik végre, ha a feltétel igaz (nem nulla). A while és a for előltesztelő ciklusok.
Ezzel szemben a do ciklus legalább egyszer mindig lefut, hisz a vezérlő feltétel ellenőrzése az utasítás végrehajtása után történik. Ezt nevezzük hátultesztelő ciklusnak.
Ciklusutasítások
Vannak esetek amikor szándékosan vagy véletlenül olyan ciklust hozunk létre melynek vezélőfeltétele soha nem lesz hamis. Ezeket a ciklusokat végtelen ciklusnak nevezzük.
A while ciklus mindaddig ismétli a hozzá tartozó utasítást (a ciklus törzsét) amíg a vizsgált kifejezés (vezérlőfeltétel) értéke igaz (nem nulla).
A vizsgálat mindig megelőzi az utasítás végrehajtását. (előltesztelő ciklus)
A while ciklus
A while ciklus szemléltetésére a blokkdiagramon
while ciklus - programok1. Írjunk programot ami bekér egy egész számot, és kiírja
annyiszor hogy „hello”, amennyi a bekért szám értéke!
2. Írjunk programot ami kiszámolja az első n egész szám összegét! (K:106.o)
3. Írjunk programot ami a standard inputját átmásolja a standard outputra! (2_10.c)
4. Írjunk programot, amely egész számokat olvas be a billentyűzetről mindaddig, amíg 0-t nem gépelünk, és közben minden beolvasott számról eldönti, hogy páros-e vagy páratlan! (2_16.c)
5. Írjunk programot amely meghatározza két egész szám legnagyobb közös osztóját! (2_17a.c, 2_17b.c)
A for utasítást általában akkor használjuk, ha a ciklusmagban megadott utasítást adott számszor kívánjuk végrehajtani.
A for ciklus
A for utasítás valójában a while utasítás speciális alkalmazása, így a fenti for ciklus minden további nélkül átírható while cikklussá.
A for ciklus szemléltetésére a blokkdiagramon
A for ciklus - programok1. Írjunk programot ami kiírja az első 10 természetes számot és
azok négyzetét. (2_9.c)
2. Írjunk programot ami kiírja az első n egész szám összegét! (K: 110.o - a,b,c)
3. Írjunk programot, amely kiszámítja egy 0 és 12 közötti egész szám faktoriálisát!(Azért csak ekkoráét, mert a 12 faktoriálisa még tárolható egy unsigned long típusban.)(2_14.c)
4. Írjunk programot, amely kiszámítja a jól ismert Fibonacci-sorozat n-edik elemének értékét, ahol n egy nem túl nagy természetes szám!(2_15a.c, 2_16b.c)
5. Írjunk programot, ami megadja egy billentyűzetről beolvasott természetes szám prímtényezős felbontását. (2_19.c)
A do-while ciklus futása során mindig az utasítás végrehajtását követi a kifejezés kiértékelése. (hátultesztelő) Így a ciklus törzse legalább egyszer mindig végrehajtódik.
A do-while ciklus
Ha a kifejezés értéke igaz (nem 0) akkor új iteráció (ismétlődés) kezdődik, míg hamis (nulla) érték esetén a ciklus befejezi működését.
2_20.c, 2_23.c, K:112.old
A do-while ciklus szemléltetésére a blokkdiagramon
A do-while ciklus - programok1. Írjunk programot ami kiírja az első n egész szám összegét!
(K:112.old)
2. Írjunk programot, ami egész számokat kér be míg nullát nem gépelünk, majd kiírja az átlagukat.
3. Írjunk programot ami megszámolja a beírt szövegben a kisbetűs karaktereket! (2_20.c)
4. 2_23.c
Vannak esetek amikor egy ciklus szokásos működésébe közvetlenül be kell a avatkoznunk. Ilyen feladat például, amikor adott feltétel teljesülése esetén ki kell ugrani a ciklusból, vagy amikor a ciklus végrehajtását a következő iterációval (ismétlődéssel) kívánjuk folytatni.
A legtöbb programozási nyelv a goto utasítás használatát javasolja. A C nyelv azonban rendelkezik külön utasításokkal ezen feladatok elvégzésére. A break és a continue utasítások segítségével kiléphetünk a ciklusból illetve a következő iterációra ugorhatunk a cikluson belül.
A break és a continue utasítások
A break és a continue utasítások
1. Írjunk programot, ami bekér egy egész számot, majd addig számol a bekért szám felétől visszafelé amíg nem talál egy egész osztót a számhoz.
2. Írjunk programot, ami kiírja 1től 20ig a páros számokat úgy hogy átugorja a páratlan számokat.
3. Írjunk programot, ami 1től kezdve kiír minden számot ami nem osztható 3mal.
4. Írjunk programot ami addig kér be egész számokat, amíg a bekért szám nem osztható 17el. Használjunk végtelen ciklust.
A break és a continue - programok