Temel C Programlama(6) — Koşullar ve If Yapıları
Programımızın belirli durumlarda belirlediğimiz işlemleri yapmasını sağlayabilmek için koşul yapıları olan if else ve switch case yapılarının nasıl kullanılacağına bakacağız.
Koşul(Condition) Nedir ?
Koşullar verilen değerler karşılığında true/false yani doğru ya da yanlış olarak değer üreten kurallar bütünüdür.
Bir koşul örneği olarak 3<5 ifadesi doğru iken 3>5 ifadesi yanlış olarak kabul edilir.
Karşılaştırma operatörleri
x < y
: x, y’den küçükse doğrux > y
: x, y’den büyükse doğrux <= y
: x, y’den küçük ya da eşitse doğrux >= y
: x, y’den büyük ya da eşitse doğrux == y
: x, y’ye eşitse doğrux != y
: x, y’den farklıysa yani eşit değilse doğru
Mantık operatörleri
ilk_kosul || ikinci_kosul
: ilk_kosul ya da ikinci_kosul doğru ise doğruilk_kosul && ikinci_kosul
: ilk_kosul ve ikinci_kosul doğru ise doğru!kosul
: kosul yanlış ise doğru, “!” operatörü koşulun tersini alır
Operatör örnekleri
4 < 5
: doğru7 >= 7
: doğru7 > 7
: yanlış4 < 5 && 7 > 7
: yanlış4 < 5 || 7 > 7
: doğru!(4 < 5) || 7 > 7
: yanlış
Not: C dilinde true ve false diye ön tanımılı durumlar yoktur C’de 0 değeri false ve 0 dışındaki değerler true olarak kabul edilir. Örneğin 5 && 4
her iki taraftaki koşul da true kabul edileceği için sonuç true olacaktır.
If Else Kullanımı
if(kosullar){
// kosullar doğru ise bu blok çalışacaktır
}
else if (kosullar_2){
// kosullar yanlış ise ve kosullar_2 doğru ise bu blok çalışır
}
else {
// kosullar ve kosullar_2 yanlış ise bu blok çalışır
}
Yukarıda gösterildiği gibi if ile ilk koşul bloğu tanımlanır ardından gelen else if ve else blokları yazılmak zorunda değildir. İhtiyaca göre birden fazla else if bloğu eklenebilir. If else yapısından “else if” blokları “if” den sonra “else” den önce yazılmak zorundadır.
Çıktı: x, y’den kucuktur
x == y
ifadesinin !(x < y || x > y)
şeklinde de ifade edilebilmesi mümkündür.
Switch Case Kullanımı
switch (deger) {
case deger1: break; // deger ve deger1 eşit
case deger2: break; // deger ve deger2 eşit
case deger3: break; // deger ve deger3 eşit
default: // deger tanımlı hiç bir değere eşit değil
}
Switch case yapısında switch içerisinde verilen değer ile case durumlarında belirtilen değerler sırayla karşılaştırılır ve eşleşme sağlanan case çalıştırılır. Switch case de case içerisinde çalışmasını istediğimiz koddan sonra break yazmak gerekmektedir. Break yazılmadığı durumda eşleşme sağlanan case den sonra gelen case’ler ve default çalıştırılacaktır. Default herhangi bir eşleşme olmamsı durumunda çalıştırılmak istenen durumdur.
Çıktı: x’in degeri 2'dir
Bu yazımızda karşılaştırma operatörleri, mantık operatörleri, if else ve switch case konularını öğrenmiş olduk.