Karşılaştırma Operatörleri ve Mantıksal Operatörler
Tablo 6.1'de listelenen Karşılaştırma Operatörleri, sayısal değerleri veya karakterleri mukayese etmek için kullanılır.
Tablo 6.1: Karşılaştırma Operatörleri
Operatör
Açıklama
Örnek
Anlamı
>
büyüktür
x > y
x, y den büyük mü?
<
küçüktür
x < y
x, y den küçük mü?
==
eşittir
x == y
x, y ye eşit mi?
>=
büyük-eşittir
x >= y
x, y den büyük yada eşit mi?
<=
küçük-eşittir
x <= y
x, y den küçük yada eşit mi?
!=
eşit değil
x != y
x, y den farklı mı?
Birden çok karşılaştırma işlemi, Tablo 6.2'deki Mantıksal Operatörler'le birleştirilebilir.
Tablo 6.2: Mantıksal Operatörler
Operatör
Açıklama
Örnek
Anlamı
&&
mantıksal VE
x>2 && x<y
x, 2 den büyük VE y den küçük mü?
||
mantıksal VEYA
x>2 || x<y
x, 2 den büyük VEYA y den küçük mü?
!
mantıksal DEGIL
!(x>2)
x, 2 den büyük değilse
C dilinde, bir mantıksal işlemin sonucu tamsayı 0 (sıfır) veya başka bir değer olur. 0 olumsuz 0'dan farklı değerler olumlu olarak yorumlanır. Buna göre, aşağıdaki program parçasının
...
int x = 1, y = 2, s, u, z;
s = 2 > 1;
u = x > 3;
z = x <= y && y >0;
printf("%d\t%d\t%d", s, u, z);
...
çıktısı:
1 0 1
şeklinde olur. Bunun nedeni:
Tablo 6.1'de listelenen Karşılaştırma Operatörleri, sayısal değerleri veya karakterleri mukayese etmek için kullanılır.
Tablo 6.1: Karşılaştırma Operatörleri
Operatör
Açıklama
Örnek
Anlamı
>
büyüktür
x > y
x, y den büyük mü?
<
küçüktür
x < y
x, y den küçük mü?
==
eşittir
x == y
x, y ye eşit mi?
>=
büyük-eşittir
x >= y
x, y den büyük yada eşit mi?
<=
küçük-eşittir
x <= y
x, y den küçük yada eşit mi?
!=
eşit değil
x != y
x, y den farklı mı?
Birden çok karşılaştırma işlemi, Tablo 6.2'deki Mantıksal Operatörler'le birleştirilebilir.
Tablo 6.2: Mantıksal Operatörler
Operatör
Açıklama
Örnek
Anlamı
&&
mantıksal VE
x>2 && x<y
x, 2 den büyük VE y den küçük mü?
||
mantıksal VEYA
x>2 || x<y
x, 2 den büyük VEYA y den küçük mü?
!
mantıksal DEGIL
!(x>2)
x, 2 den büyük değilse
C dilinde, bir mantıksal işlemin sonucu tamsayı 0 (sıfır) veya başka bir değer olur. 0 olumsuz 0'dan farklı değerler olumlu olarak yorumlanır. Buna göre, aşağıdaki program parçasının
...
int x = 1, y = 2, s, u, z;
s = 2 > 1;
u = x > 3;
z = x <= y && y >0;
printf("%d\t%d\t%d", s, u, z);
...
çıktısı:
1 0 1
şeklinde olur. Bunun nedeni:
- 2 her zaman 1 den büyük olduğu için s değişkenine 1,
- x = 1 < 3 olduğu için x değişkenine 0,
- z = x <= y && y >0; eşitliğin sağtarafının sonucu olumlu olduğu için z değişkenine 1 atanır.
💬 SpyHackerz Telegram — Anlık tartışmalar ve duyurular için katıl