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örKullanımıAnlamı
==x == yx, y’ye eşitse
!=x != yx, y’ye eşit değilse
>x > yx, y’den büyükse
<x < yx, y’den küçükse
>=x >= yx, y’den büyük veya eşitse
<=x <= yx, y’den küçük veya eşitse
Karşılaştırma Operatörleri

Mantıksal Operatörler

Mantıksal operatörler birden fazla ifade karşılaştırılıyorsa kullanılır.

OperatörKullanı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
Mantıksal Operatörler

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.

Bu yazı dikkatini çekebilir.   C Programlama ile Aritmetik İşlemler ve İşlem Önceliği

İ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ı :

C Programlama if-else Yapısı - C programlama if else - C programala if else örnek soru

İ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ı :

İki Koşullu If-Else Örnek Soru - C Programlama If-Else -C Programlama Örnek Soru

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ı:

C Programlama if-else Yapısı - C programlama if else - C programala if else örnek soru

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.