Aşağıdaki tablo bu operatörler hakkında bilgi vermektedir:
Operatör |
Sembolü |
Kullanılışı |
Işlem Sonucu |
---|---|---|---|
Büyüktür |
> |
a > b |
a b’den büyükse sonuç 1 aksi takdirde 0 |
Küçüktür |
< |
a < b |
a b’den küçükse sonuç 1 aksi takdirde 0 |
Büyük veya eşit |
> = |
a > = b |
a b’den büyük veya b’ye eşitse sonuç 1 aksi takdirde 0 |
Küçük veya eşit |
< = |
a < = b |
a b’den küçük veya b’ye eşitse sonuç 1 aksi takdirde 0 |
Eşittir |
= = |
a = = b |
a, b’ye eşitse sonuç 1 aksi takdirde 0 |
Eşit değildir |
! = |
a ! = b |
a b’ye eşit değilse sonuç 1 aksi takdirde 0 |
Tablodaki operatörlerden >, <, >= ve <= operatörlerinin öncelikleri aynıdır. == ve != operatörleri ise daha düşük önceliğe sahiptir. Hepsi için birleşme özelliği soldan sağa doğrudur. Burada önemli bir nokta, float tipindeki verilerin eşitlik bakımından (==) karşılaştırmasında ortaya çıkan sorunlardır.
Örneğin;
2.0 / 7 + 2.0 / 7 + 3.0 / 7 = = 1.0
karşılaştırması cebirsel olarak doğru olmasına rağmen, float türündeki matematiksel işlemlerde yapılan kesme ve yuvarlamalardan ötürü, her bilgisayarda doğru sonuç vermeyebilir. Eşitlik karşılaştırmasını, programın mantığı olanak sunduğu sürece int değerlerle yapmalıdır.
Aşağıdaki program, ilişkisel operatörleri kullanan ifadeler içerir:
#import <Foundation/Foundation.h>
int main(int argc, char* argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
int a = 4, b = -2, c = 3;
float p =3.7, q = 3.2;
NSLog(@"\na > b + c =%i \n", a > b + c);
NSLog(@"\na += (p >= c - 2) =%i \n", a += (p >= c - 2));
NSLog(@"\na+++b == a != p * 3 - 1=%i \n", a+++b==a != p * 3 - 1);
NSLog(@"\na - b == p > q > b < c = %i\n", a - b == p > q > b <c);
NSLog(@"\np > q > b < c =%i \n", p > q > b < c );
NSLog(@"\np > q > b =%i \n", p > q > b);
return 0;
}
PROGRAMIN ÇIKTISI:
AÇIKLAMA:
İfadelerden bir tanesini açıklayalım. Diğerlerini yukarıda anlatılan kurallara göre siz test edin.
a + = ( p > = c – 2) ifadesini alalım:
Önce parantez içi hesaplanır:
3.7 > 0 3 – 2
3.7 > = 1
Sonuç doğru olduğu için değeri 1 olarak alınır ve
a + = 1 ;
a = a + 1 ; hesaplanır ve sonuç a = 5 olarak bulunur.