Döngüler - Loops 4/13/2011. ENF-102 Jeoloji Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Benzer belgeler
Döngüler - Loops 4/9/2010. ENF-102 Jeoloji Giriş. Sayaç kontrollü bir döngüdeki temel öğeler. Sayaç (counter) Kontrollü Döngüler.

Program AkıĢ Kontrol Yapıları

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

ALGORİTMA VE PROGRAMLAMA I

Akış Kontrol Mekanizmaları

ALGORİTMA VE PROGRAMLAMA I

Döngü komutları komutların bir çok kez yeniden yürülmesini. sağlayan, programlamada kullandığımız önemli yapılardan biridir.

Program Akış Kontrol Yapıları

BLM 111 ALGORİTMA VE PROGRAMLAMA I

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Ders 7: Döngüler. Giriş. 7.1 while Döngüsü

Bölüm 4 C de Program Kontrolü

MATLAB de. Programlama. Kontrol Yapıları. Döngü Yapıları. Doç. Dr. İrfan KAYMAZ Matlab Ders Notları

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BİLGİSAYAR PROGRAMLAMA DERSİ

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Döngü ve Koşul Deyimleri

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları

Algoritma ve Programlamaya Giriş

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

BÖLÜM 7: DÖNGÜ KONTROL YAPILARI

Hafta 4 Döngü Yapıları

PROGRAMLAMA DİLLERİ I

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

BMT 101 Algoritma ve Programlama I 8. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

YUVARLAMA FONKSİYONLARI

ALGORİTMA VE PROGRAMLAMA I

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

IF / ELSE IF / ELSE. Bu deyimler, koşullu işlem yapan deyimlerdir ve daima if deyimi ile başlar, else if veya else ile devam eder.

BLG 1306 Temel Bilgisayar Programlama

BÖLÜM 2 C PROGRAMLAMADA AKIŞ KONTROLÜ. GOTO: C programında programın herhangi bir yerinden bir yerine şartsız olarak atlanmasını sağlayan komuttur.

Algoritma ve Programlama: Karar Yapıları ve Döngüler

HSancak Nesne Tabanlı Programlama I Ders Notları

Döngü yapıları, (for, do while, while),

5. Atlama, Karar ve Çevrim Kontrol Deyimleri

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Nesne Yönelimli Programlama

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

BİL-142 Bilgisayar Programlama II

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Bölüm 3 Yapısal Programlama

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

Algoritma ve Akış Şemaları

Algoritmalar ve Programlama. Algoritma

BİLGİSAYAR PROGRAMLAMA

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

Döngüler. 1.1 while döngüsü

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

BÖLÜM 2: ALGORİTMALAR

BLM 111 ALGORİTMA VE PROGRAMLAMA I

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

Internet Programming II

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

MAT213 Bilgisayar Programlama I

Bil Hafta Çalışma Soruları (Yanıtlar)

Lab Notları 4. for ( ilklenme yeri bir kez çalışır ; Kontrol yeri her döngüde bakılır ; Güncelleme yeri her döngüde )

Ders 6: Karşılaştırma Deyimleri

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Nesne Tabanlı Programlama

Bu amaçla, if ve switch gibi karar verme deyimleri, for, while, do..while gibi döngü deyimleri kullanılır.

Java da İşleçler, Ders #3 (4 Kasım 2009)

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Algoritmanın Hazırlanması

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {

ARA SINAV 07.Nisan 2015

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

Döngü blokunda tek bir deyim varsa {} yazılmayabilir.

BPR152-Algoritma ve Programlama II Uygulama -8

Programlamaya Giriş Karar Yapıları, Tekrarlı İfadeler(Döngüler)

İŞLEM SAYISI BELLİ OLAN DÖNGÜLER

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Transkript:

Giriş Döngüler - Loops Bir ifade kümesinin tekrarlanması, yani birden fazla çalıştırılması işlemine döngü (loop) dendiği programlamaya giriş kısmında belirtilmişti. Bu derste döngülerin C programlama dilinde nasıl kurulacağı incelenecektir. ENF102 Jeoloji 2/47 Sayaç (counter) Kontrollü Döngüler Sayaç kontrollü bir döngüdeki temel öğeler Yapılacak tekrar miktarının bilindiği durumlarda döngü bir sayaç kullanarak tasarlanabilir. Sayaç aslında tekrar edilme işleminin ne kadar yapıldığını tutan bir değişkendir. ENF102 Jeoloji 3/47 Yukarıda da söylendiği gibi bir sayaç değişkeni olmalıdır. Bu değişken döngü sayacı (loop counter) 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 artırma ya da eksiltme işlemi ile değiştirilir. ENF102 Jeoloji 4/47 GOTO Komutu Ekrana 10 defa programcının adını yazan algoritmayı-akış diyagramını ve C programını yazınız. int sayac; sayac=<başlangıç değeri>; BASLA <komut 1>; <komut 2>; <komut N>; sayac=sayac+ - <adım miktarı>; if (sayac > < >= <= = <bitiş değeri> ) goto BASLA; ENF102 Jeoloji 5/47 E BAŞLA Sayac=1 Veli Sayac=Sayac +1 Sayac 10 H DUR 1- BAŞLA 2- Sayac=1 3- YAZ Veli" 4- Sayac=Sayac+1 5- EĞER Sayac 10 ĐSE GĐT Adım 3 6- DUR ENF102 Jeoloji 6/47 ENF-102 Jeoloji 2011 1

C KODU FAKAT int sayac; sayac=1; /*sayac değişkenin ilk değeri veriliyor*/ BASLA printf( Veli\n ); sayac=sayac+1;/*sayac değişkeni 1 arttırılıyor*/ if(sayac <= 10 ) /*sınır değer ile karşılaştırılıyor*/ goto BASLA; ENF102 Jeoloji 7/47 go to komutu programların yapısallığını ve okunabilirliliğini azalttığı için pek tavsiye edilmez. Bu yüzden üzerinde ayrıntılı olarak durulmayacaktır. Zaten bu deyimi yeni öğreneceğiniz deyimlerden sonra kullanmak zorunda kalmayacaksınız. Bundan sonraki bütün örnek programlarda C programlama dilinin kendine has döngü yapılarını kullanılacaktır. ENF102 Jeoloji 8/47 while Döngüsü while ifadesinin yapısı Döngü oluşturmanın C dilinde birkaç değişik yolu vardır. Bunlardan en temeli while dongüsüdür. Bilindiği üzere Đngilizce "while" kelimesinin Türkçe karşılığı "-iken", "olduğu sürece" anlamlarına gelmektedir. Diğer deyimlerle yaratılabilen bir döngü, while kullanılarak da yaratılabilir. ENF102 Jeoloji 9/47 while ( koşul durum) Burada koşul durum mantıksal sonucu olan bir ifadedir. Koşul Durum değeri doğru olduğu sürece döngü içindeki komut ya da komutlar tekrarlanır. Eğer while deyiminden hemen sonra blok açılmamışsa kendisinden sonra gelen ilk (;) noktalı virgüle kadar olan yer döngü içi olarak kabul edilir. Elbette blok açılmışsa döngü içi, bloğun kendisi olacaktır. Koşul durum un değeri yanlış olduğunda tekrarlama işlemi sona erecektir. ENF102 Jeoloji 10/47 Eğer while ifadesine başlamadan önce koşulun değeri yanlış (0) ise, döngünün içi hiç çalıştırılmayacaktır. Eğer koşulun değeri sıfırdan farklı ise ifade bir kere çalıştırıldıktan sonra, while'ın başına geri dönülür ve koşul durum değerine tekrar bakılır. Döngü içine girilip girilmeyeceği bu sonuca bağlıdır. ENF102 Jeoloji 11/47 Eğer koşul durum değeri hiç bir zaman yanlış (0) olmazsa, program akışı döngü dışına çıkamayacağı için döngü içindeki komutlar sürekli tekrar edilecektir. Bu olay sonsuz döngü (infinite loop) olarak bilinir. Döngü içinde birden fazla komut tekrar edilecekse blok açılmalıdır. while ( koşul durum) komut 1; komut 2; komut N; ENF102 Jeoloji 12/47 ENF-102 Jeoloji 2011 2

while ifadesinin çalışma mantığı ÖRNEK KOD h e int sayac=1; while(sayac<=10) printf( Veli\n ); sayac=sayac+1; ENF102 Jeoloji 13/47 ENF102 Jeoloji 14/47 ÖRNEK 1 x=9; while (x>1) printf ( %d \n, x); x=x-1; ÖRNEK 2 x=5; while (x<5) printf ( %d \n, x); x=x-1; Bu örnek, bir atama ifadesi ve bir while döngüsünden oluşur. while döngüsünün çalışması parantez içerisindeki x>1 koşuluna bağlıdır. x değişkeninin ilk değeri 9 olarak belirlenmiştir. 9 değeri, 1'den büyük olduğundan sonuç doğru olacaktır. Böylece while döngüsünün içine girilir. Döngü içindeki ilk ifade olan printf("%d \n",x); çalıştırılır ve ekranax değişkeninin değeriyazdırılmış olur. Sonra döngü içindeki komutlardan sıra x = x - 1; işlemine gelir. x değişkeninin değeri 1 azaltılarak x e geri atanır. Program işleyişinde sıra blok kapama işaretine ( ) geldiğinde programakışı while satırınayönlendirilir. Bu örnekte programcı döngünün çalışma koşulunu yanlış yazmıştır. x değişkeninin ilk değeri 5 tir. 5 değeri, 5 den küçük olmayacağından sonuç yanlış olacaktır. ENF102 Jeoloji 15/47 ENF102 Jeoloji 16/47 ÖRNEK 3 x=5; while (x<=5) printf ( %d \n, x); x=x-1; Gözcü Kontrollü Döngüler (Sentinel Controlled Loops) Bu yazımda programcı döngünün çalışma koşulunu değiştirmiştir. x değişkeninin ilk değeri 5 olduğundan koşul sağlanacak ve döngü içine girilecektir. Fakat döngü içerisinde x değişkeni sürekli 1 azaldığından koşul sonucu asla yanlış olmaz. Hesaplanan bütün x değerleri her zaman 5 den küçük olacaktır. Bu kod parçası sonsuz döngüye girecektir. ENF102 Jeoloji 17/47 Çalıştırılması gereken adımların tekrar sayısının bilinmediği problemlerle karşılaşılabilir. Bu tür problemlerde program, kullanıcının dışarıdan belli bir değer ya da değer grubundan birini girdi olarak vermesiyle ya da program içinde üretilen belli bir değere göre sonlandırılır. ENF102 Jeoloji 18/47 ENF-102 Jeoloji 2011 3

ÖRNEK Klavyeden not değeri olarak -1 girilinceye kadar verilen notların ortalamasını ekrana yazan programı yazınız. Burada kaç adet not girileceği belirtilmemiştir. Kullanıcı isterse 4 nottan sonra -1, isterse de 100 nottan sonra -1 girebilir. Bu amaçla bir kontrol değeri (sentinel value) kullanılır. Bu çözümde sınav notu olamayacak bir değer olan - 1, kontrol değeri olarak seçilmiştir. Klavyeden normal olarak sınav notlarını girerken, en son değer olarak bu kontrol değeri girildiğinde; döngü çalışmasını durdurmalıdır. ENF102 Jeoloji 19/47 /*Not olarak -1 girilene kadarki notların ortalamasını bulur * / long toplam =0; /* Notların toplamı.đlk değer mutlaka sıfırlanmalı */ Đnt ogrencisayisi= 0, not; /* Öğrenci sayısı.đlk değer sıfırlanmalı */ float ortalama; printf ("Notu giriniz (sonlandırmak için -1) ); scanf ("%d", &not); /* not -1 den farkli olduğu surece işlemlere devam et */ while (not!= -1) toplam = toplam + not; /* notu toplama ekle */ ogrencisayisi = ogrencisayisi + 1; /* Öğrenci Sayısını bir artır */ /* Diğer notu oku. Bu ifade tekrar yazılmazsa başka not okunamaz */ printf("notu giriniz (sonlandırmak için -1) "); scanf("%d",&not); if(ogrencisayisi!=0 ) /*Đlk çalıştığı anda -1 girilirse 0'a bölme hatası olmaması için kontrol */ ortalama= toplam / ogrencisayisi; printf("\n\nortalama %5.2f \n, ortalama); ENF102 Jeoloji 20/47 ÖRNEK Klavyeden girilen pozitif tamsayının faktöriyelini bulan programı yazınız. /*Bu program klavyeden girilen bir pozitif tamsayının faktoriyel degerini hesaplar, ve sonucu ekrana yazar.*/ int sayi, /* okunan tamsayı */ sayac=2; /* sayacdegiskeni */ long sonuc=1; /* sayinin faktoryel degeri */ printf("bir pozitif tamsayıgiriniz "); scanf("%d",&sayi); /* Tamsayiyioku */ while (sayi <= 0) /* Pozitif girilmesini sağlıyoruz */ printf("yanlış!!lütfenpozitif sayı giriniz "); scanf("%d",&sayi); /* Sayınınfaktöriyeldeğerini bulankısım */ while (sayac<= sayi) sonuc= sonuc * sayac; sayac= sayac+ 1; /* sonucu yaz */ printf("\ngirilen tamsayı %d \n",sayi); printf("faktöriyeli %d",sonuc); ENF102 Jeoloji 21/47 for Döngüsü for Döngüsü Döngü Koşulu for döngüsü özellikle tekrar edilen işlemlerin sayısı belli olduğunda kullanılan başka bir döngü yapısıdır. Bu tür durumlarda while deyiminden daha uygundur. for (DöngüDeğişkeni=ĐlkDeğer; DöngüKoşulu; AdımMiktarı) komut 1; komut N; ENF102 Jeoloji 23/47 Değeri her seferinde döngüye girmeden önce sorgulanır ve bu değer doğru ise döngü içine girilir ve komut ya da komutlar çalıştırılır. Döngü koşulunu yanlış (0) olması halinde döngüden çıkılır. Bu mantıksal deyimin değeri genelde döngü değişkeninin değerine bağlı olacak şekilde yazılır. ENF102 Jeoloji 24/47 ENF-102 Jeoloji 2011 4

Adım Miktarı Bir for ifadesi, her zaman bir while ifadesi olarak aşağıdaki gibi yeniden yazılabilir Döngünün gövdesini oluşturan komut ya da komutların işletilmesinden sonra çalıştırılacaktır. Görevi döngü değişkeninin değerini güncellemektir. Bu değişken üzerinde arttırma ya da azaltma yapılmak sureti ile bu işlem gerçekleştirilir. ENF102 Jeoloji 25/47 döngü değişkeni = ilk değer; while (döngü koşulu ) komut komutlar; AdımMiktarı; ENF102 Jeoloji 26/47 Birbirine denk döngü ifadeleri ÖRNEK for (i=1; i<=10; i++) Burada döngünün gövdesi olan komut, i değişkeninin 1'den 10'a kadar olan değerleri için 10 kere tekrar edilir. Döngü içine ilk girildiğinde i değişkenin değeri 1, ikinci girildiğinde 2 ve en son girildiğinde ise 10 olacaktır. ENF102 Jeoloji 27/47 ENF102 Jeoloji 28/47 ÖRNEK for (i=10; i>=1; i- =1) ÖRNEK Burada döngünün gövdesi olan komut, i değişkeninin 10'dan 1'e kadar olan değerleri için 10 kere tekrar edilir. Gövdeye ilk girildiğinde i değişkenin değeri 10, ikinci girildiğinde 9,... ve en son girildiğinde ise 1 olacaktır. Klavyeden girilen pozitif bir tamsayının asal olup olmadığını ekrana yazdıran c programını kodlayınız. (Bir ve kendisinden başka tam böleni olmayan sayıya asal denir. Yalnız 1 asal değildir. Asal sayılar 2,3,5,7,11,13,17, 19, 23,29, 31,...) ENF102 Jeoloji 29/47 ENF102 Jeoloji 30/47 ENF-102 Jeoloji 2011 5

/*Bu program klavyeden girilen sayının asal olup olmadığını bulur*/ int sayi, i, test=1; /*test sayi asal ise 1 değilse 0 değerini alacak*/ /*ilk değer olarak 1 almış ve sayı asal kabul edilmiştir*/ printf("sayıyı giriniz "); scanf("%d",&sayi); if(sayi==1) /*Klavyeden girilen sayı 1 ise */ test=0; /*test değişkenine 0 atanacak */ else /*sayi 1 değilse */ for(i = sayi-1; i>1 && test==1; i--) /*sayi-1 ile 2 arasındaki bütün sayıları elde et*/ if( sayi % i == 0 ) test=0; if(test) printf("sayı asaldır"); else sayılardır. printf("sayı asal değildir"); ENF102 Jeoloji 31/47 ENF102 Jeoloji 32/47 PROBLEM Sorunun açıklamasında asal sayı tanımı verilmiştir. Bir sayının asal olduğunu ispatlamak yerine olmadığını ispatlamak daha kolaydır. Çünkü kendisinden ve birden başka bir tane bile böleni varsa o sayı asal değildir. Bakılması gereken sayı aralığı; klavyeden girilen sayı dan bire kadar olan bütün do-while Döngüsü do-while Döngüsü while ifadesinde döngünün devam edip etmeyeceğini kontrol eden mantıksal deyimin değeri, döngü gövdesine girmeden kontrol edilir. Eğer değer hemen yanlış olur ise, while ifadesinin gövdesi hiç çalıştırılmadan döngüden çıkılır. do-while yapısında ise döngü koşulu döngü gövdesi çalıştırıldıktan sonra sorgulanır. Bu da, do-while döngüsü içindeki komut ya da komutların koşula doğruda olsa yanlış da olsa en az bir kere çalıştırılacak olması demektir. Bu yüzden, do-while ifadesi gövdesi en azından bir kere çalıştırılması gereken döngü yapılarının tasarımında kullanılabilir. ENF102 Jeoloji 34/47 Genel Kullanımı do komut while (koşul durum); do komut 1; komut N; while (koşul durum); while ( koşul ) ENF102 Jeoloji 35/47 Đç-Đçe Döngüler (Nested Loops) ENF-102 Jeoloji 2011 6

Đç-Đçe Döngüler (Nested Loops) Kod parçası adım adım çalıştırıldığında Bir döngü içerisinde başka bir döngü bulunuyorsa, bu tür yapılara iç-içe dö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. Örneğin n = 0; for (i=1; i<=3; i++) /*dıştaki döngü*/ for (j=1; j<=3; j++) /içteki döngü*/ n=n+1; ENF102 Jeoloji 37/47 9 kerelik bir döngü ENF102 Jeoloji 38/47 ÖRNEK Aşağıdaki gibi bir piramit oluşturan program parçasını yazmak için iç-içe döngü kullanılabilir. Kod parçası adım adım çalıştırıldığında * ** *** **** ***** for (i=1; i<=5; i++) /*dıştaki döngü*/ for (j=1; j<=i; j++) /*içteki döngü*/ printf"* ); printf("\n"); ENF102 Jeoloji 39/47 ENF102 Jeoloji 40/47 break Deyimi break Deyimi Bu komut daha önceki 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. Programın işleyişi, döngünün dışındaki ilk komuttan itibaren devam eder. ENF102 Jeoloji 42/47 ENF-102 Jeoloji 2011 7

Örnek /* break deyiminin uygulaması */ int i; for (i=0; i<=5; i++) if(i == 3) /*i'nin değeri 3 ise */ break; /*döngü dışına çık*/ printf( i= %d \n",i); ÇIKTI i=0 i=1 i=2 continue Deyimi ENF102 Jeoloji 43/47 continue Deyimi Örnek Döngü içinde kullanılan bu komutun amacı çalıştığı anda döngü içindeki geri kalan komutları işletmeden döngü başı yapılmasını sağlamaktır. Programın işleyişi döngü içindeki bu komuttan sonra verilen tüm ifadeler atlanarak döngü başına yönlendirilir. /* continue deyiminin uygulaması */ int i; for (i=0; i<=5; i++) if(i==3) /*i'nin değeri 3 ise */ continue; /* döngü başı yap*/ printf ( i = %d \n",i); ÇIKTI i=0 i=1 i=2 i= 4 i= 5 ENF102 Jeoloji 45/47 ENF102 Jeoloji 46/47 Kaynakça Programlamayı C ile öğreniyorum (2. Baskı), M. Yorulmaz, S. Yorulmaz, 2005, Ankara ENF102 Jeoloji 47/47 ENF-102 Jeoloji 2011 8