10.07.2015 Views

C Programlama Program Akış Kontrolleri

C Programlama Program Akış Kontrolleri

C Programlama Program Akış Kontrolleri

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Course SyllabusLC112 2nd Foreign Language S6 K. BEIRNE (Resp.)I. CANOYRA UBEDAM. EUGENEJ. FAUCHERP. FLOQUETJ. IBANEZS. MÉDINA (Resp.)A. MEDJTOUHM. RASTREROT. SHOCHIA. VELASQUEZM. YUE1.00 p. 7217/02/2015 - 05:49:473


if Deyimi - Örnek


Önemli bir nokta• mantıksal iĢlemleri gerçekleĢtirirken dikkat edilemsi gereken önemli bir noktavardır.• Buda, mantıksal iĢlemlerde 0 (sıfır) yanlıĢı (false) ifade eder, sıfırdan farklıherhangi bir değer doğruyu (true) ifade etmesidir.• Bu durumda aĢağıdaki kodun çıktısı ne olur ?


Switch – örnek programGörüldüğü üzerebu kodda birproblem var ?


Switch – örnek programBir önceki kodda breaksözcüğü yazılmadığı içinprogram, uygun casesözcüğündeki komutuçalıştırdıktan sonra, sırayla gerikalan tüm komutları daçalıştırmıştı.Burda ise her bir casesözcüğüne break ifadesiniekledik.Bu sayede program uygun casesözcüğündeki komutu çalıştırdıve switc bloğu sonlandı.


Döngüler (Loops)• Algoritma içerisinde gerçekleĢtirilen belli adımların tekrarlanması sonucu problemçözümüne gidilebilir.• Döngüler sayesinde geliĢtirilen program içerisinde gereksiz kod satırlarının giderilmesisağlanır.• Ġyi bir algoritma problemi olabilecek en kısa adımda ve en etkili biçimde çözebilendir.• Örneğin programcının adını ekrana 10 kere yazan bir program düĢünelim.ġimdiye kadar öğrendiğimiz verilerle bu iĢlemi yandakigibi gerçekleĢtirebiliriz.Fakat böyle bir iĢlemin 100 kere yada daha fazlatekrarla yapılması istendiğinde ne olacak ?Bu durumda döngüler bize yardımcı olacak


Sayaç kontrollü döngüler• Yapılacak tekrar miktarının bilindiği durumlarda döngü bir sayaç kullanılarak tasarlanabilir.• Sayaç aslında tekrar edilme iĢleminin ne kadar yapıldığını tutan bir değiĢkendir.• Böyle sayaç kontrollü bir döngüde olması gereken temel öğeler Ģunlardır.◦ Döngüde bir sayaç değiĢkeni olmalıdır. Bu değiĢken döngü sayacı olarak bilinir.◦ Döngü sayacına bir atama ifadesiyle ilk değer verilir.◦ Döngü sayacının değerinin sınır değere gelip gelmediği kontrol edilir◦ Döngünün gövdesinin her çalıĢmasından sonra, sayacın değeri bir artırma yada eksiltme iĢlemi ile değiĢtirilir.


Sayaç kontrollü döngüler• ġimdi programcının adını ekrana 10 kere yazdıran programı döngülerle tekrar gerçekleĢtirelim.• Görüldüğü gibi döngüler sayesinde printf() fonksiyonunu bir sefer kullanarak programcının isminiekrana 10 kere yazdırabildik.• Artık bu iĢlemi 100 kerede tekrarlasak 1000 kerede tekrarlasak mevcut kod satırı sayısında birdeğiĢiklik olmayacak.• goto komutu programın yapısallığını ve okunabilirliğini azalttığı için programlamada pek tavsiyeedilmez.


While döngüsü• Döngü oluĢturmanın C dilinde bir çok yolu vardır.• Bunlardan en basiti while döngüsüdür.


Gözcü kontrollü döngüler (sentinel controlled loops)• ÇalıĢtırılması gereken adımların tekrar sayısının bilinmediği problemlerdeprogram, kullanıcının dıĢarıdan belli bir değer veya değer gurubundan birinigirdi olarak vermesiyle ya da program içerisinde üretilen belli bir değere göresonlandırılır.• Bu değer yada değerlere gözcü değeri (sentinel value) adı verilir.


Gözcü kontrollü döngülerBurada kaç adet not girileceği belirtilmemiĢtir.Kullanıcı isterse 4 nottan sonra -1 , isterse de100 nottan sonra -1 girebilir.Bu amaçla girilen not değeri, gözcü değeri ilekontrol edilir.Bu çözümde sınav notu olamayacak birdeğer olan -1, kontrol değeri olarakseçilmiĢtir.


for döngüsü• for döngüsü özellikle tekrar edilen iĢlemlerin sayısı belli olduğunda kullanılanbaĢka bir döngü yapısıdır.• Bu tür durumlarda while deyiminden daha uygundur. Genel kullanım yapısıaĢağıdaki gibidir.• Döngü içerisinde birden fazla komut tekrar edilecekse komutlar blok içerisinealınmalıdır.<strong>Program</strong>cının ismini ekrana 10 kez yazan programın for döngüsü ile yapılan versiyonu


do – while döngüsü• while döngüsü yapısına benzer.• while döngüsünde koĢul en baĢta kontrol edilir ve koĢul sağlanmazsa döngüiçine hiç girilmez.• do-while döngüsünde ise koĢul en sonda kontrol edilir ve koĢul sağlanmazsabile en az bir kez döngü içine girilir.• Genel kullanım Ģekli aĢağıdaki gibidir.


Ġç-içe Döngüler (Nested Loops)• Bir döngü içerisinde baĢka bir döngü bulunuyorsa, bu tür yapılara iç-içedöngüler denir.• Bu durumda içteki döngü dıĢtaki döngünün her adımında yenidençalıĢtırılacaktır.DıĢtaki döngü 4 kere tekrarlanacaktır.Ġçteki döngü de dıĢtaki döngünün her tekrar ediliĢinde 3 kere tekraredilecektir.Böylece içteki döngünün gövdesini oluĢturan atama ifadesi 12 keretekrar edilmiĢ olacaktır.DıĢtaki for döngüsünden çıkıldığında, n değiĢkeni içerisindeki değer 12olacaktır.


eak• break Deyimi◦ Bu komut daha önce switch – case yapısında kullanılmıĢtı.◦ Döngü içinde kullanılan break komutunun amacı, çalıĢtığı anda döngüyüsonlandırarak döngü dıĢına çıkılmasını sağlamaktır.◦ <strong>Program</strong>ın iĢleyiĢi döngünün dıĢındaki ilk komuttan devam eder.


continue• continue Deyimi◦ Döngü içinde kullanılan bu komutun amacı çalıĢtığı anda döngü içindeki geri kalankomutları iĢletmeden döngü baĢı yapılmasını sağlamaktır.◦ <strong>Program</strong>ın iĢleyiĢi döngü içindeki bu komuttan sonra verilen tüm ifadeler atlanarakdöngü baĢına yönlendirilir.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!