A C nyelv utasításai

18
C 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 Presentation

Transcript of A C nyelv utasításai

Page 1: A C nyelv utasításai

CA C nyelv utasításai

Page 2: A C nyelv utasításai

Ismétlés

Page 3: A C nyelv utasításai

Ismétlés

Page 4: A C nyelv utasításai

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

Page 5: A C nyelv utasításai

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.

Page 6: A C nyelv utasításai

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

Page 7: A C nyelv utasításai

A while ciklus szemléltetésére a blokkdiagramon

Page 8: A C nyelv utasításai

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)

Page 9: A C nyelv utasításai

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

Page 10: A C nyelv utasításai

A for ciklus szemléltetésére a blokkdiagramon

Page 11: A C nyelv utasításai

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)

Page 12: A C nyelv utasításai

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

Page 13: A C nyelv utasításai

A do-while ciklus szemléltetésére a blokkdiagramon

Page 14: A C nyelv utasításai

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

Page 15: A C nyelv utasításai

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

Page 16: A C nyelv utasításai

A break és a continue utasítások

Page 17: A C nyelv utasításai

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

Page 18: A C nyelv utasításai