Bilgisayar Programlama
Ders 4
Dr. Fatih AY
Tel: 0 388 225 22 55
[email protected]
www.fatihay.net
do/while Döngü Yapısı
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
while yapısında döngü devam koşulu, döngünün gövdesinden
önce test edilir.
do/while yapısında döngü devam koşulu, döngünün gövdesi
çalıştırıldıktan sonra kontrol edilir.
Döngü en az bir kere çalıştırılır!
do {
ifade
}while (koşul)
2
3
4
 Döngüler
işlem
 break ve continue
 Mantık Operatörleri
doğru
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
koşul
yanlış
do/while döngü yapısının akış grafiği
5
break ve continue ifadeleri
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
Bu ifadeler kontrol akışını değiştirmek için kullanılır. break
komutu while, for, do/while ve switch için kullanıldığında o
yapıdan çıkışı sağlar ve program yapıdan sonraki ilk ifadeyi
çalıştırarak devam eder. break ifadesinin en genel kullanımı,
bir döngüden istenen anda çıkmak ve switch yapısında olduğu
gibi döngünün belli bir kısmından kurtulmaktır.
6
break ve continue ifadeleri
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
continue ifadesi while, for ve do/while yapıları içinde çalıştığında
döngü gövdesinin kalan kısmını atlar ve döngünün diğer
tekrara geçmesini sağlar. while ve do/while yapılarında döngü
devam koşulu, continue ifadesi çalıştırıldıktan hemen sonra
kontrol edilir. for yapısında arttırma deyimi çalıştırılır daha
sonra ise döngü devam koşulu kontrol edilir.
7
break ve continue ifadeleri
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
Özel Durum!!:
Eğer while yapısı içinde arttırma deyimi continue ifadesinden
sonra kullanılmışsa, while yapısı for yapısı yerine kullanılamaz.
Bu durumda arttırma döngü devam koşulundan önce
çalıştırılmayacaktır ve while yapısı for yapısı gibi
çalışmayacaktır.
8
9
10
11
12
Mantık Operatörleri
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
C, basit koşulları birleştirerek daha karmaşık koşullar
oluşturmamıza imkan veren mantık operatörlerine sahiptir.
Mantık operatörleri && (mantıksal ve), || (mantıksal veya) ve !
(mantıksal değil) olarak belirlenmiştir.
&& ifadesi kullanıldığında her iki ifadenin de doğru olması
beklenir.
if (cinsiyet==1 && yas>=65)
++kadin_emekli;
13
Mantık Operatörleri
 Döngüler
 break ve continue
deyim1
deyim 2
 Mantık Operatörleri
0
0
0
0
Sıfırdan farklı değer
0
Sıfırdan farklı değer
0
0
Sıfırdan farklı değer
Sıfırdan farklı değer
1
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
deyim 1 && deyim 2
&& mantıksal ve operatörü için doğruluk tablosu
14
Mantık Operatörleri
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
|| ifadesi kullanıldığında programın çalışması için iki koşulun
aynı anda ya da iki koşuldan birisinin doğru olması
gerekmektedir.
if (donem_ortalamasi>=90 || final sınavı >=90)
printf(“Öğrenci ortalaması A’dır\n”);
 Örnekler ve Ödevler
15
Mantık Operatörleri
 Döngüler
 break ve continue
deyim1
deyim 2
 Mantık Operatörleri
0
0
0
0
Sıfırdan farklı değer
1
Sıfırdan farklı değer
0
1
Sıfırdan farklı değer
Sıfırdan farklı değer
1
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
deyim 1 || deyim 2
|| mantıksal veya operatörü için doğruluk tablosu
16
Eşitlik ve Atama Operatörleri
 Döngüler
 break ve continue
 Mantık Operatörleri
if (puan==4)
printf(“Bonus kazandınız\n”);
Sadece puan 4’e eşit olursa “Bonus kazandınız” yazar.
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
if (puan=4)
printf(“Bonus kazandınız\n”);
puan değişkenine 4 atanır (karşılaştırma yapılmaz), sonraki
basamakta da “Bonus kazandınız” yazdırır.
17
ALIŞTIRMALAR
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
a) int x=1;
while (x<=10) ;
++x;
}
b) for (y = .1; y != 1.0;y += .1);
printf(“%f\n”,y);
Döngüde ondalıklı sayı kullanılmıştır.
18
ALIŞTIRMALAR
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
 Örnekler ve Ödevler
c) switch (n){
case 1:
printf (“1. sayı\n”);
case 2:
break
printf (“2. sayı\n”);
break;
default:
printf (“sayı 1 veya 2 değil\n”);
break;
}
d) Aşağıdaki kod 1’den 10’a kadar sayıları yazmalı
<=
n=1;
while (n<10)
printf(“%d\n”,n++);
19
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
Örnek: 1’den 5’e kadar olan sayıların faktöriyelini hesaplayan
ve bunları yazdıran bir program yapınız.
n!= n*(n-1)*(n-2)….2*1
 Örnekler ve Ödevler
20
21
22
 Döngüler
 break ve continue
 Mantık Operatörleri
Eşitlik ve Atama
Operatörleri
4. DERSİN SONU
 Örnekler ve Ödevler
23
Download

Ders 4 (25.03.2015) - Yrd.Doç.Dr.Fatih AY