Operatör |
Sembolü |
Kullanılışı |
İşlem sonucu |
---|---|---|---|
Çarpma |
* |
a*b |
a ile b’nin çarpımı |
Bölme |
/ |
a/b |
a’nın b’ye bölümü |
Kalan |
% |
a%b |
a’nın b’ye bölümünden kalan |
Toplama |
+ |
a+b |
a’nın b ile toplanması |
Çıkarma |
– |
a-b |
b’nin a’dan çıkarılması |
*, / ve % operatörleri + ve –‘ye göre önceliklidir. *, /, + ve – operatörlerinin int veya float (double) türde operand kabul etmelerine karşılık kalan operandları sadece int türde operand olarak kabul eder. % operandı bölmede kalanı hesaplar.
ÖRNEK:
17 % 3 işleminin sonucunda 2 değeri (17’nin 3 ile bölümünden kalan) elde edilir.
ANSI standardı, kalan ve bölme operatörleri arasında aşağıdaki bağıntının bulunmasını zorunlu kılar:
a = a % b + (a /b) *b (a ve b tamsayı)
Aşağıdaki programda bu operatörlerin kullanımıyla ilgili ifadeleri görüyoruz. Parantezlerle önceliklerin değiştirilebileceğini tekrar hatırlatalım.
#import <Foundation/Foundation.h>
int main(int argc, char* argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
int a, b, c;
float p, q, r, x, y, z, k;
a=7;
b=4;
c=15;
p=2.7;
q=13.8;
r=12.45;
x= a % b * 15 - c / b * a ;
y= a * 2 % (b + 1) - c / (a +b) ;
z=x / y * a - b ++ * --c ;
k=p -q / (r +z) * (q -r) + b++ * z ;
NSLog(@"\nx= %f \n", x) ;
NSLog(@"\ny= %f \n", y) ;
NSLog(@"\nz= %f \n", z) ;
NSLog(@"\nk= %f \n", k) ;
}
SONUÇ:
x= 24.0000000
y= 3.0000000
z= 0.0000000
k= 1.203614
x değeri
7 % 4 * 15 – 15 / 4 * 7
3 * 15 – 3 * 7
45 – 21
24
y değeri
7 * 2 % (4 + 1 ) – 15 / (7 + 4)
14 % 5 – 15 / 11
4 – 1
3
z değeri
24 / 3 * 7 – 4++ * --15 ,
8 * 7 – 4 * 14
56 – 56
0 olarak hesaplanır.
k’nın değerini de siz kontrol ediniz.