Buradasınız

12-C#-7 ++ ve -- Operatörleri

c# dersleri

++ VE -- OPERATÖRLERİ

Bu operaröler bir artırma ve azaltma işlemi yapar. Değişkenin sağında veya solunda kullanılmasına göre işlem değişir.

a++; --> a=a+1; ifade etmektedir.
++a; --> a=a+1; ifade etmektedir.

Atama  esnasında

a++;  --- şeklinde kullanılırsa önce işlem sonra arttırma
++a;  --- şeklinde kullanılırsa önce arttırma sonra işlem

Örnek: Aşağıdaki örneği inceleyelim.

int a=5;
a++;
Console.WriteLine(a);
Console.WriteLine(a++);
Console.WriteLine(++a);
int b=0;
b=a++; // önce a değerini b’ye ata sonra a’yı arttır
Console.WriteLine(b);
b = ++a; // önce a değerini a’yı arttır sonra b’ye ata
Console.WriteLine(b);
int c;
c=--b*2;
Console.WriteLine(c);
Console.ReadKey();

Örnek: Aşağıdaki örneği inceleyelim.

int a = 5, b = 3, c = 1;
c++;
Console.WriteLine("{0} {1} {2}", a, b, c);
a = b++;
Console.WriteLine("{0} {1} {2}", a, b, c);
b = 2 + c++;
Console.WriteLine("{0} {1} {2}", a, b, c);
a = 2 * ++b;
Console.WriteLine("{0} {1} {2}", a, b, c);
c = (--b) * 2 - a++;
Console.WriteLine("{0} {1} {2}", a, b, c);

Console.ReadKey();

Örnek: Aşağıdaki işlemlere göre a, b ve c değerleri her işlemden sonra değerleri nedir?

int a = 0, b = 0, c = 0;
--a;
c = 3+ b++;
a = (--a) * 3;
a = b++;   
b = -5 + c++;          
a = 2 * ++b;

İşlem Öncelikleri

İşlem önceliğini yenileyecek olursak aşağıdaki gibi olacaktır.

işlem önceliği

Örnek: Aşağıdaki uygulamayı inceleyelim.

int a = 2, b = 5, s;
s = (a + b) + b++;
Console.WriteLine("a: {0},b: {1},s: {2}", a, b, s);

a = 2; b = 5; s = 0;
s =++a * b++;
Console.WriteLine("a: {0},b: {1},s: {2}", a, b, s);

a = 2; b = 5; s=0;
s = ++a * b++*(b - a);
Console.WriteLine("a: {0},b: {1},s: {2}", a, b, s);

a = 2; b = 5; s = 0;
s = --a+(b - a) * --b;
Console.WriteLine("a: {0},b: {1},s: {2}",a,b,s);

Console.ReadKey();

Ödev: Aşağıdaki uygulamayın her ekrana gösterme satırını önce zihinden yapın sonra çalıştırıp karşılaştırın.

int a = 5, b = 2,c=4, sonuc=0;        
//sonuçları tek tek deneyin.

sonuc = a++ + b; //önce a + b. sonra a'yı bir arttırdı. ?
Console.WriteLine("a:{0},b:{1},c:{2}, sonuc:{3} ", a, b, c, sonuc);

a = 5; b = 2;c=4;
sonuc = ++a - c; //önce a bir arttı, sonra a - c yapıldı. ?
Console.WriteLine("a:{0},b:{1},c:{2}, sonuc:{3} ", a, b, c, sonuc);

a = 5; b = 2;c=4;
sonuc = a++ + b-- - ++a; // işlemler soldan sağ doğru ,önce a++ + b-- işlemi yapılır a ile b toplanıp a bir artar, b bir eksilir.
//, çıkan sonuc(X) ile  x - ++a yapılır. önce a bir artar sonra sonra çıkan sonuc(X)  ?
Console.WriteLine("a:{0},b:{1},c:{2}, sonuc:{3} ", a, b, c, sonuc);

a = 5; b = 2;c=4;
sonuc = a++ * b - a - 5 * --a;
//önce a*b yapılır , a bir artar, çıkan sonuc ile a çıkarılır,sonra (5* --a) ifadesi yapılır a bir eksilir ve 5 ile çarpılır.
//bir önceki çıkan sonuç ile çıkarılır ?
Console.WriteLine("a:{0},b:{1},c:{2}, sonuc:{3} ", a, b, c, sonuc);
           
Console.ReadKey();

 

Yorum ekle

Konuyla İlgili Yazılar

c# dersleri

37-C# Sıralama Algoritmaları

Sıralama Algoritması   Sıralama algoritması, karmaşık olarak girilmiş bir gurup değerin belirli bir düzende sıraya sokulma algoritmasıdır. Örneğin... devamı...