C Programlama Dili Karşılaştırma Deyimleri 1 (if, if-else ve Karşılaştırma Operatörü ‘?’)
C Programlama Dilinde bir koşulun doğru ya da yanlış olması ihtimallerine göre farklı kod veya kodların çalışmasını isteyebiliriz. Bu durumlarda karşılaştırma deyimleri kullanılır. Bu karşılaştırma deyimlerini 3 farklı yapıda kullanılabilir.
- if, if-else, nested if
- ‘?’ Karşılaştırma Operatörü ile
- switch case yapısı ile
NOT: Karşılaştırma deyimlerinden önce ilişkisel operatörlerin bilinmesi gerekir. İlişkisel operatörleri anlatımı için tıklayınız.
C Programlama Dili if, if-else Karşılaştırma Deyimleri
Bu karşılaştırma deyimleri C Programlama Dilinde, 3 tiptir.
- if
- if-else
- nested (iç içe) if. Birden fazla koşul kontrolü yaparken.
Karar Kontrol Deyimleri | Syntax ve Açıklama |
---|---|
if | Syntax:
if(Koşul) {Deyimler;} Açıklama: Koşul doğru ise kod bloğundaki deyimler (kod veya kodlar) çalışır. Koşul yanlış ise Blok ‘{}’ içindeki deyimler atlanır ve çalışmaz. |
if-else | Syntax:
if(Koşul) {Deyim1; Deyim2} else {Deyim3; Deyim4} Açıklama: Koşul doğru ise if bloğu yürütülür ve Deyim1, Deyim2 kodları çalışır (Bir veya daha fazla kod olabilir) ve else bloğu (Deyim3; Deyim4) çalışmaz. Eğer koşul yanlış ise if bloğu atlanır (Deyim1, Deyim2) ve else bloğu kesin yürütülür (Deyim3, Deyim4);
|
nested if | Syntax:
if(Koşul1) {Deyim1;} else if (Koşul2) {Deyim2;} else {Deyim3;} Açıklama: Önce if içindeki koşul1 kontrol edilir. Doğru ise diğer koşullar atlanır ve sadece Deyim1 yürütülür. Eğer if içindeki Koşul1 yanlış ise Koşul1 yürütülmez ve else if içerisindeki Koşul2 kontrol edilir. Koşul2 Doğru ise Deyim2 yürütülür ve else bloğu içindeki Deyim3 çalışmaz. if ve tüm else if yapılarındaki koşullar yanlış ise else bloğu içerisindeki Deyim3 kesin yürütülür ve diğer koşullar yanlış olduğundan diğer deyimler çalışılmaz.
|
1. C Programlama Dili if Kullanımı
if içerisindeki koşul doğru ise if bloğundaki kodlar (deyimler) yürütülür. Eğer koşul yanlış ise if bloğu atlanır ve çalışmaz.
Örnek 1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> int main(){ int x = 50; int y = 50; if (x == y){ printf("x ve y değerleri birbirine esittir\n"); printf("x = %d ve y = %d\n", x, y); } printf("Program Bitti"); return 0; } |
Çıktı:
1 2 3 |
x ve y değerleri birbirine esittir x = 50 ve y = 50 Program Bitti |
Örnek 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> int main(){ int x = 50; int y = 44; if (x == y){ printf("x ve y değerleri birbirine esittir\n"); printf("x = %d ve y = %d\n", x, y); } printf("Program Bitti"); return 0; } |
1 |
Program Bitti |
Örnek 1’de x ve y değişkenlerinin değerleri ‘==’ operatörü ile kontrol edildi. Koşul (x ve y’nin eşit olma koşulu) doğru olduğundan if bloğu yürütülür. Örnek 2’de ise if bloğundaki koşul (x ve y değişkenlerinin değerlerinin eşit olma koşulu) yanlış olduğundan if bloğu yürütülmez ve atlanır.
Örnek 3:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <stdio.h> int main() { int x = 11; int y = 22; if (x != y) printf("x ve y değerleri birbirine esit degildir\n"); printf("Program Bitti"); return 0; } |
Çıktı:
1 2 |
x ve y değerleri birbirine esit degildir Program Bitti |
Örnek 3’de karşılaştırma operatörü olarak eşit değilse ‘!=’ operatörü kullanılmıştır. x ve y değişkenlerinin değerleri eşit olmadığından if bloğu yürütülecektir. Yalnız bu örnekte blok yapısı ‘{}’ kullanılmamıştır. Böyle yazılan kodlarda koşul doğru ise if koşulundan sonraki ilk satır (kod olan) yürütülür ve diğer satırlar bu if koşuluna dahil olmaz.
Örnek 4:
1 2 3 4 5 6 7 8 9 10 11 12 |
#include <stdio.h> int main() { int x = 11; int y = 22; if (x > y) printf("x, y'den buyuktur\n"); printf("Program Bitti"); return 0; } |
Çıktı:
1 |
Program Bitti |
Örnek 4’de de Örnek 3’te olduğu gibi blok kullanılmamıştır. Bu örnekte x büyük mü y sorusunun cevabı yanlış olduğundan if koşulundan sonraki kod çalışmayacaktır. if’ten sonraki ilk satır (kod bulunan) atlayıp diğer satırlar yürütülür.
2. C Programlama Dili if-else Kullanımı
C Programlama dilinde if içerisindeki koşul doğru ise if bloğu çalışır. Eğer koşul yanlış ise if bloğu atlanır ve kesin else bloğu çalışır.
NOT: else kullanımında kesinlikle koşul yazılmaz.
Örnek 5:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> int main() { int x = 11; int y = 22; if (x > y) printf("x, y'den buyuktur\n"); else printf("x, y'den kucuktur\n"); printf("Program Bitti"); return 0; } |
Çıktı:
1 2 |
x, y'den kucuktur Program Bitti |
Örnek 5’te if içerisinde x değişkeninin değeri, y değişkeninin değerinden büyük mü sorusu yanlış olduğundan if bloğu yürütülmez ve atlanır. else yapısı bulunduğundan ve koşullar doğru olmadığından dolayı else bloğu kesin çalışır ve ekrana “x, y’den kucuktur” yazısı yazar. Daha sonra herhangi bir koşul içerisinde bulunmayan “Program Bitti” yazısı ekrana yazdırılır ve program sonlanır (return 0 ile sonlanır).
3. C Programlama Dili nested if Kullanımı
Birden fazla koşul kullanılmak istenildiğinde bu yapı kullanılır. Koşullardan birisi doğru ise sadece o blok yürütülür ve diğerleri atlanır. Eğer tüm koşullar yanlış ise ve else yapısı varsa sadece else bloğu yürütülür.
Örnek 6:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> int main() { int x, y; x = 10; y = 11; if (x > y) printf("x, y'den buyuktur"); else if (x < y) printf("x, y'den kucuktur"); else printf("x ve y degerleri birbirine esittir"); return 0; } |
Çıktı:
1 |
x, y'den kucuktur |
Örnek 6’da x ve y değişenlerinin değerlerini karşılaştırmasını yapıyoruz. 2 sayı için büyüktür ve küçüktür koşulları kontrol edilmiştir (bu koşullar doğru değilse sayılar eşittir). Önce if bloğu kontrol edilmiştir. x, y’den büyük olmadığından if bloğu yürütülmez ve atlanır. Daha sonra else if içeriğindeki koşul kontrol edilir. x, y’den küçük olduğundan else if bloğu yürütülür. Koşullardan birisi doğru olduğundan dolayı else bloğu yürütülmez.
C Programlama Dili ‘?’ Karşılaştırma Operatörü ile
? karşılaştırma operatörü ile if, else yapısı kullanılmadan da karşılaştırma yapılabilir.
Syntax: (koşul) ? deyim1 : deyim2;
Açıklama: Koşul eğer doğru ise deyim1, yanlış ise deyim2 yürütülür.
Örnek 7:
1 2 3 4 5 6 7 8 9 10 11 |
#include <stdio.h> int main() { int x = 5; int y = 11; (x == y) ? printf("x ve y esittir") : printf("x ve y esit degildir"); return 0; } |
Çıktı:
1 |
x ve y esit degildir |
Örnek 7’de x ve y nin eşitliği karşılaştırma operatörü ‘?’ ile kontrol edilmiştir. Eğer koşul doğru ise ilk kod çalışır. Değilse ikinci kod çalışır. (Koşul doğru ise ‘:”nin solundaki kod değilse ‘:”nin sağ tarafındaki kod çalışır).
switch case yapısı ile karşılaştırma konusu ‘C Programlama Dili Karşılaştırma Deyimleri 2‘ makalesi ile anlatılmıştır.
Leave a reply
Lütfen yorum için giriş yap ve yakayıt ol Teşekkürler .