Bazı durumlarda, bazı kod satılarının koşullara bağlı olarak çalışması gerekebilir. Bu gibi durumlarda, kodlarımızda karar yapılarını kullanmamız gerekiyor. C programlamada bir çok karar yapısı vardır. Duruma göre hangisini kullanacağımıza bizim karar vermemiz gerekiyor. Bu yazımızda, C programlama if-else yapısı ve türlerini işleyeceğiz.
Koşul Operatörleri
Yukarıda da belirttiğimiz gibi bir işlemin yapılabilmesi için bir veya birden fazla koşulun sağlanması gerekebilir. Bu koşulların kontrolünü koşul operatörleri ile kontrol ederiz. İki çeşit koşul operatörü vardır. Bunlar karşılaştırma operatörleri ve mantıksal operatörler.
Karşılaştırma Operatörleri
Karşılaştırma operatörleri, karar aşamasında hangi ifadenin doğru, hangi ifadenin yanlış olduğunu kontrol etmemize yarar. C programlamada bir çok yerde karşılaştırma operatörlerini kullanacağız. Dolayısıyla mantığını anlamanız önemli.
Operatör | Kullanımı | Anlamı |
---|---|---|
== | x == y | x, y’ye eşitse |
!= | x != y | x, y’ye eşit değilse |
> | x > y | x, y’den büyükse |
< | x < y | x, y’den küçükse |
>= | x >= y | x, y’den büyük veya eşitse |
<= | x <= y | x, y’den küçük veya eşitse |
Mantıksal Operatörler
Mantıksal operatörler birden fazla ifade karşılaştırılıyorsa kullanılır.
Operatör | Kullanımı | Anlamı |
---|---|---|
&& | (ifade1) && (ifade2) | ifade1 ve ifade2 değerlerinin her ikisi de doğruysa |
|| | (ifade1) || (ifade2) | ifade1 ve ifade2 değerlerinin ikisinden biri doğruysa |
! | !(ifade1) | ifade1 doğru değilse |
If-Else Türleri
İki Koşul Varsa If-Else Yapısı
If-else yapısı, koşullara göre kullanılan komutlardır. Koşulların doğru olup olmamasına göre işlemleri yönlendirebilirler. Yani iki tane ihtimal var, hangisi doğru ise o kod bloğu çalışacak.
İki Koşullu If-Else Yapısı
if(koşul)
ifade1;
else
ifade2;
Eğer koşul doğru ise, yani sağlanıyorsa ifade1 kodu çalışacak ve ifade2 komutu hiç çalışmayacaktır. Eğer koşul yanlış ise ifade2 çalışıp, ifade1 çalışmayacaktır.
İki Koşullu If-Else Örnek Soru
Soru : Girilen nota göre öğrenicinin sınıf geçme durumunu ekrana yazdıran programın C kodunu yazınız. (Sınav notu 50 ve üzeri geçer,50 altı sınıfta kalır.)
Cevap :
#include <stdio.h>
int main(){
int sinavNotu;
printf("Sinav notunuzu giriniz : ");
scanf("%d",&sinavNotu);
if(sinavNotu > 49)//49'un üstünde olursa geçer
printf("Tebrikler, gectiniz.");
else
printf("Kaldiniz.");
}
Çıktısı :
İkiden Fazla Koşul Varsa If-Else Yapısı
Bazı durumlarda ikiden fazla koşulumuz olabiliyor. Bu durumda bir if bloğu daha geliyor.
İkiden Fazla Koşullu If-Else Yapısı
if(koşul)
ifade1;
else if(koşul2)
ifade2;
.
.
.
else
ifade(n);
Yapımız bir öncekine çok benziyor. Fakat burada ‘else if’ komutunu kullanarak istediğimiz kadar koşul ekleyebiliyoruz.
İkiden Fazla Koşullu If-Else Örnek Soru
Yine az önceki soru ile gidelim. Sorumuzda iki koşul vardı. Bu koşullar öğrenci kaldı veya geçmişti. Bu sorumuzu biraz daha geliştirelim ve birde hatalı not girişi koşulunu ekleyelim. Yani not 0’dan küçük, 100’den büyük olamaz. Hemen kodumuzu görelim;
#include <stdio.h>
int main(){
int sinavNotu;
printf("Sinav notunuzu giriniz : ");
scanf("%d",&sinavNotu);
if(sinavNotu > 100)
printf("Sinav notunuz 100'den buyuk olamaz");
else if(sinavNotu > 49)
printf("Tebrikler gectiniz.");
else if(sinavNotu >= 0)
printf("Kaldiniz.");
else
printf("Sinav notunuz 0'dan kucuk olamaz.");
}
Çıktı :
If-Else’de Çoklu Koşullar
Bazı durumlarda tek bir if ifadesi içerisinde birden fazla koşulu kontrol edebiliriz. Bu gibi durumlara çoklu koşullar denir. Örneğin sınav notunun 50’den fazla ve 100’den küçük olması gibi. Bunu da mantıksal operatörler ile yaparız.
Çoklu Koşullar If-Else Örnek Soru
#include <stdio.h>
int main(){
int sinavNotu;
printf("Sinav notunuzu giriniz : ");
scanf("%d",&sinavNotu);
if(sinavNotu > 49 && sinavNotu <= 100)//sınav notu 49'dan büyük,100'den küçük veya eşit olmalı.
printf("Tebrikler, gectiniz.");
else if(sinavNotu >= 0 && sinavNotu <= 49)//sınav notu 0'dan büyük veya eşit,49'den küçük veya eşit olmalı.
printf("Kaldiniz.");
else
printf("Yanlis not girdiniz.");
}
Çıktı:
Bu yazımızda C programlama if-else yapısı konusunu işledik. Umarım faydalı olmuştur. Bir diğer karar yapısı konusu olan switch-case konusu okumak isterseniz buradan, diğer C programlama derslerimizi de okumak isterseniz buradan ulaşabilirsiniz.
[…] kodunu yazarken if-else yapısını kullanacağız. Eğer bu konuda eksiklikleriniz varsa, ‘C Programlama If-Else Yapısı’ adlı yazımızı […]
[…] Bu örnek if-else konusunu anlamamıza yardımcı olacak. Eğer bu konuda eksikleriniz varsa C programlama if-else yapısı yazımızı okuyarak eksiklerinizi […]
[…] Armstrong sayısı bulma örneğini çözeceğiz. Bu örneği çözerken while döngüsü ve if-else gibi terimleri […]
[…] dilinde palindrom sayı bulma örneğini çözeceğiz. Bu örneği çözerken while döngüsü ve if-else gibi terimleri […]
[…] dizisini ekrana yazdıran program örneğini göreceğiz. Örneği çözerken for döngüleri ve if-else gibi konulardan yararlanacağız. Eğer eksiklikleriniz olduğunu düşünüyorsanız tamamlayıp […]
[…] olmadığını kontrol eden program örneğini çözeceğiz. Bu soruyu çözerken for döngüsü, if-else ve diziler kavramlarını kullanacağız. Eğer bu konularda eksikleriniz var ise tamamlayıp […]
[…] hesaplama örneğini çözeceğiz. Zorluk derecesi kolay bir örnek. Eğer eksikleriniz varsa if-else konusuna çalışıp tekrar soruyu çözmeniz daha iyi olacaktır. Hemen sorumuza […]
[…] kodunu yazarken if-else yapısını kullanacağız. Eğer bu konuda eksiklikleriniz varsa, ‘C Programlama If-Else Yapısı’ adlı yazımızı okuyabilirsiniz. Artık sorumuza […]
[…] cümlede kaç tane rakam olduğunu bulan program örneğini çözeceğiz. Bu örneği çözerken if-else ve while döngüsü gibi konulardan yararlanacağız. Eğer eksiklikleriniz varsa bu konuları […]
[…] bahsettiğimiz diğer bir koşullu ifade olan if-else yapısı hakkında bilgi almak isterseniz buraya tıklayarak ilgili yazımıza […]
[…] Eğer bu konular hakkında bilginiz yok yada zayıf ise C programlama ile aritmetik işlemler ve C programlama if-else yapısı adlı yazılarımızı okuyabilirsiniz. Artık sorumuza […]
[…] bir cümle içerisinde harf arama örneğini çözeceğiz. Örneği çözerken döngüler ve if-else konularından yararlanacağız. Eğer eksikleriniz varsa, tamamlayıp gelmeniz daha yararlı […]
[…] Başlamadan şunu da belirtelim, konunun daha iyi anlaşılabilmesi için for döngüsü, if-else konularını bilmelisiniz. Hemen örneğimize […]
[…] olarak dairenin alanını ve çevresini fonksiyon kullanarak bulan programı yazalım. Ayrıca if-else kullanarak programımızı daha efektif hale […]
[…] küçük harfleri büyük harfe çevirme örneğini çözeceğiz. Örneği çözerken döngüler, if-else gibi yapıları kullanacağız. Eğer bu konularda eksikleriniz varsa, bunları tamamlayıp geri […]