C
Programlama Dili
DERS – 8


Koşullu (Conditional) İfadeler:

Bilgisayarda yapılan mantıksal işlemlerin hepsi kaba bir temele dayanır. Koşullar sağlandığı zaman [EVET(1)] ve koşullar sağlanmadığı zaman [HAYIR(0)] yapılacak işlemler bellidir. Koşulların kontrol edilmesini if operatörüyle sağlarız. Bu operatörün genel kullanım şekli;

if( koşul ) {

komut(lar)

}

Eğer if’in altında birden çok komut varsa, ayraç işareti (veya küme parantezi) koymamız gerekir. Şayet if’ten sonra, tek komut bulunuyorsa, ayıraç kullanma zorunluluğu yoktur.

Akış şemamızı takip ederek programımızı anlamaya çalışalım. int, printf ve scanf fonksiyonlarıyla değişkenimizi tanıttık ve giriş yaptık. İlk koşulumuzdan (sayi==0 ?) itibaren devam edelim.

if(sayi==0) Kullanıcının girdiği sayı sıfıra eşit mi? diye sorgulayan programımız, eğer cevap evet ise bir alttaki satırı izleyerek programı sonlandıracaktır. Dikkat ederseniz sayi=0 ifadesini değil, sayi==0 kullandık. = ifadesi sayı değişkenine atama yaparken, == ifadesi değişkenimizi sağdaki sonuç olan sıfıra eşitledi.

printf(“\n\n Sonuc sifirdir\n\n”);

if else yapısı:

Bir koşulun doğruluğunda yapacağı işlemleri belirtmek yeterli olmadığı durumunda, koşulun doğru olmadığı zaman yapılacak işlemlerin belirlenmesini isteriz. İşte bu gibi pozisyonlarda if else yapısı devreye girer. If else operatörünün kullanım şekli ise şöyledir.

if( koşul ) { komut(lar) } else { komut(lar) }

Şimdi programımızı biraz daha geliştirelim.

İncelememize devam edelim. Akış şemamızda eğer cevabımız hayır ise, if bloğunu terk ederek, hayır cevabının okunu takip eden program yeni bir blokla karşılaşır. ELSE bloğu… Else bloğunun içinde tekrar bir koşulla karşılaşan programımız bu sefer sayının sıfırdan büyük olup olmadığını sorgular. Eğer sayımız sıfırdan büyük ise alttaki satırı takip ederek programı sonlandırır.

Programımızın son hali:

Else bloğu içerisinde sayı sıfırdan büyük mü sorusuna verilen cevap hayır ise, program if bloğunu terk ederek else bloğu içerisinde yeni bir else bloğu arar. Bu blok zaten bir sayının pozitif mi yoksa negatif mi olduğunun son mantığıdır. Ve bu blok içerisinde bulunan komutla işlemi sonlandırır. Burada dikkat edilmesi gereken husus küme parantezlerinin yerleridir. Hangi durumlar hangi bloğun içerisinde gerçekleşiyorsa küme parantezleri de o bloğu belirtmelidir.

İLİŞKİSEL OPERATÖRLER
< KÜÇÜKTÜR
> BÜYÜKTÜR
== EŞİTTİR
<= KÜÇÜK EŞİTTİR
>= BÜYÜK EŞİTTİR
!= EŞİT DEĞİLDİR
BİRLEŞİK OPERATÖRLER
&& AND VE
|| OR VEYA
! NOT DEĞİL
BİRLEŞİK OPERATÖRLERİN MANTIKSAL TABLOSU
p q p&&q p||q !p !q
0 0 0 0 1 1
0 1 0 1 1 0
1 0 0 1 0 1
1 1 1 1 0 0

ÖRNEK:

ÖRNEK: ÖRNEK: ÖRNEK: ÖRNEK: