Temel C Programlama -15- İlişki Operatörleri

Döngüler ve kararlarda bizim sürekli kullanacağımız ilişki operatörleri denen iki değeri karşılaştırıp 1 veya 0 olarak sonuç veren operatörler vardır. Bu operatörler normal komutların içerisine de yazılabilse de önemli nokta bunların döngü anahtar kelimelerinden sonra gelen parantezlerin içine yazılan operatörler olduklarıdır. Bu operatörler iki değeri karşılaştırır ve operatörün cinsine göre sonuç verir. Bazı kaynaklarda “İlişkisel operatörler” olarak bahsedilse de Türkçe’de -sel veya -sal kelimelerini kullanmak doğru bir yaklaşım değildir. Latince -al ekinden gelen bu nispet eki yerine zamanında Osmanlıca’da Arapça’dan gelen nispet î ‘si olarak kullanılmıştır. İşin aslında baktığımızda ise doğru Türkçe’de belirtisiz ad tamlaması olarak kullanıldığını veya -lık ekinin kullanıldığını görüyoruz. O yüzden biz “İlişkisel Operatör” yerine “İlişki Operatörü” demeyi tercih ettik. Bazı -sAl ekli tabirler dilimize o denli yerleşmiştir ki bunları alışkanlık ve zorunluluk icabı biz de kullanmaktayız.

Şimdi ilişki operatörlerini tablo üzerinde görelim ve bunlar üzerinden örnek yaparak nasıl çalıştıklarını öğrenelim.

Operatör

Açıklama

Örnek

==

“Eşittir” operatörü. İki değeri karşılaştırır ve iki değer eşitse DOĞRU yani 1 sonucunu verir.

(A == B)

!=

“Eşit Değil” operatörü. İki değeri karşılaştırır ve iki değer eşit değilse DOĞRU yani 1 sonucunu verir. Değerler eşitse YANLIŞ yani 0 sonucunu verir.

(A !=B )

>

“Büyüktür” operatörü. A değeri B değerinden büyükse DOĞRU yani 1 değilse YANLIŞ yani 0 değerini verir.

(A > B)

<

“Küçüktür” operatörü. A değeri B değerinden küçükse DOĞRU yani 1 değilse YANLIŞ yani 0 değerini verir.

(A < B)

>=

“Büyük veya Eşit Operatörü” A değeri B değerinden büyük veya B değerine eşitse DOĞRU yani 1 değilse YANLIŞ yani 0 değerini verir.

(A >= B)

<=

“Küçük veya Eşit Operatörü” A değeri B değerinden küçük veya B değerine eşitse 1 değerini değilse 0 değerini verir.

(A <= B)

Bu ilişki operatörlerini kullanarak bir program yazalım. Daha sonra bu operatörleri döngü ve kararlarda kullanacağız. Şimdi tek başına nasıl kullanılıyor ona bakalım.

#include <stdio.h>
#include <stdlib.h>
int main() {

	int a = 5;
    int b = 5;
    int sonuc;

    sonuc = a == b;
    printf("A = 5 ve B = 5, A == B sonucu : %i \n", sonuc);

    a = 2;

    sonuc = a == b;
    printf("A = 2 ve B = 5, A == B sonucu : %i \n", sonuc);

    sonuc = a < b;
    printf("A = 2 ve B = 5, A < B sonucu : %i \n", sonuc);

 system("PAUSE");
 } // Main Sonu

Programda fazla zaman harcamamak adına bütün ilişki operatörlerini kullanmıyorum fakat bu kadarı bile anlamanız için yeterli olacaktır. Eğer kafanızda soru işareti oluşursa kendiniz operatörleri değiştirerek ve ona göre kodu düzenleyerek uygulamada görebilirsiniz. Şimdi nasıl bir çıkış verdiğine bakalım.

Görüldüğü gibi programda hangi işlemi yaptığımızı da açık açık yazdık. Böylelikle hangi işlemin ne sonuç verdiğini daha rahat takip etme şansımız oldu. Öncelikle a ve b adında iki değişken tanımlayıp sonuc değerine bu ilişki operatörlerinin işlem sonucunu atadık ve bunu ekranda yazdırdık. A == B dediğimizde A ve B’nin değerleri 5 olduğu için “Eşittir” durumu sağlandığından 1 sonucunu elde ederiz. a’nın değerini değiştirip yine A == B işlemine tabi tuttuğumuzda bu sefer 0 sonucunu alırız çünkü A ve B birbirine eşit değildir. Fakat A, B’den küçük olduğu için A küçüktür B işleminde 1 sonucunu elde ederiz.

Çok önemli bir nokta ise atama operatörü “=” ile eşittir operatörü’nün “==” birbirine karıştırılmasıdır. Bazen program yazarken bilgisizlikten dolayı olmasa bile dalgınlık veya tuşun basmamasından dolayı “==” yerine “=” yazdığımız olabilir Bu iki operatör de birbirine benzediği için kodları çok dikkatli incelemedikçe hata gözümüzden kaçacaktır. Bu hataya derleyici de uyarı vermemektedir ve program o haliyle çalışmaktadır. Programcılıkta yapılan en kritik hatalardan biri olarak “=” operatörü ile “==” operatörünü birbirine karıştırmayı sayabiliriz ve bu konuda yeteri kadar dikkatli olmanız konusunda sizi uyarıyoruz.

Bu yazıda ilişki operatörlerini anlattık ve artık döngüleri öğrenmemiz konusunda önümüzde bir engel kalmadı. Bir sonraki başlıkta C dilindeki döngüleri sizlere anlatacağız.

Last updated