C programlama #Bölüm 12# Mantıksal Operatörler

Mantıksal karşılaştırma operatörlerini bir önceki bölümümümzde görmüştük. Şimdi ise birden fazla koşulu nasıl karşılaştırabileceğimize bir göz atalım. Örneğin iki karşılaştırma sonucunda bir çıkarıma varmamız gerekebilir. Bu gibi durumlarda nasıl operatörler kullanmalıyız.

İşlemlerOperatör
ve karşılaştırması&&
veya karşılaştırması||
değil karşılaştırması!

Mantıksal operatörlerin c programlama dilindeki kullanımları tabloda verilmiştir. Peki ya karşılaştırma nasıl yapılır?


Şimdi bu karşılaştırma çıkış durumlarımızı nasıl etkilediğine bakalım.

  • ve karşılaştırması birden fazla durumun aynı anda doğru olması durumunda çıkışı doğru kabul eder. En az bir yanlış varsa çıkış yanlış olur.
  • veya karşılaştırması birden fazla durumun en az biri doğru ise çıkışı doğru kabul eder. Çıkışın yanlış olması için tüm durumların yanlış olması gerekir.
  • Değil karşılaştırması giren herkesi terslemesi ile meşhurdur. Doğru giren yanlış çıkar, yanlış giren doğru çıkar.

Karşılaştırmaları daha detaylı anlaşılabilmesi için sitemizden dijital elektronik serisini takip edebilirsiniz.


Şimdi tüm bu anlattıklarımızı bir örnek üzerinde görelim.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include<stdio.h>

int main(){
    int a = 5, b = 3;
    int state;

    state = (a < b) && (b++); //en az biri doğru ise state '1'
    printf("%d", state);

    return 0;
}

Örnek kodu derleyip çalıştırdığımızda terminal ekranında 0 yazdığını görüyoruz. Şuana kadar bahsettiğimiz doğru ve yanlış ifadelerinin c programlama dilindeki int olarak karşılıkları '0' ve '1' dir. Eğer durum yanlış ise '0', eğer durum doğru ise '1' ifadesi taşır. Karşılaştırma yaparken de c programlama dili için '0' yanlıştır, geriye kalan bütün sayılar doğru olarak kabul edilir.

Şimdi örnek koda dönecek olursak && yani mantıksal ve operatörü kullanılmış. Çıkışın doğru olabilmesi için iki koşulunda sağlanması gerekir. a < b koşulu sağlanmıyor. En az biri yanlış olduğunda mantıksal ve karşılaştırma çıkışı yanlış '0' olur.