Daha önceki derslerimizde, aritmetik işlemlerden bahsetmiştik. Bunların dışında yapabileceğimiz başka şeylerde bulunmaktadır. Bunlardan biri de, arttırma ve azaltma işlemleridir.
EÄŸer i adında bir deÄŸiÅŸkenin deÄŸerini 1 arttırmak isterseniz, i = i + 1 olarak yazarsınız. Veya 1 azaltmak isterseniz, benzer ÅŸekilde i = i – 1 de yazabilirsiniz. Arttırma ve azaltma iÅŸlemleri bu olayı daha basit bir forma sokmaktadır. i = i + 1 yazmak yerine i++ veya i = i – 1 yazmak yerine i– yazabilirsiniz.
Arttırma ve azaltma işlemleri temelde iki çeşittir. Birinci yöntemde yukarda yazdığımız gibi, arttırma/azaltma sonradan yapılır. İkinci yöntemdeyse arttırma/azaltma ilk başta yapılır. Aşağıdaki örneklere bakalım.
/*
Bu programda, arttırma ve azaltma
işlemleri önce yapılacaktır.
*/
#include<stdio.h>
int main( void )
{
int i = 10, j = 60;
printf("i = %d ve j = %d\n", ++i, --j);
return 0;
}
Yukardaki programı yazar ve çalıştırısanız elde edeceğiniz çıktı şu şekilde görünecektir:
i = 11 ve j = 59
Çünkü arttırma ve azaltma iÅŸlemleri ekrana bastırmadan önce yapılmış ve i ile j’nin deÄŸerleri deÄŸiÅŸtirilmiÅŸtir. Åžimdi programı deÄŸiÅŸtirip şöyle yazalım:
/*
Bu programda, arttırma ve azaltma
işlemleri sonra yapılacaktır.
*/
#include<stdio.h>
int main( void )
{
int i = 10, j = 60;
printf("i = %d ve j = %d\n", i++, j--);
return 0;
}
Bu sefer program çıktısı şöyle olacaktır:
i = 10 ve j = 60
FarkettiÄŸiniz üzere hiçbir deÄŸiÅŸiklik yapılmamış gibi duruyor. Aslında deÄŸiÅŸiklik yapıldı ve program sonlanmadan önce i 10 olurken, j’de 59 oldu. Ama arttırma ve azaltma iÅŸlemleri printf komutu çalıştırıldıktan sonra yapıldığı için, biz bir deÄŸiÅŸiklik göremedik.
Kısacası önce arttırma (pre-increment) veya önce azaltma (pre-decrement) kullandığınızda, ilgili komut satırında çalışacak ilk şey bu komutlar olur. Ancak sonra arttırma (post increment) veya sonra azaltma kullanırsanız, o zaman bu işlemlerin etkileri ilgili komut satırından sonra geçerli olacaktır. Aşağıdaki özel tabloya bakabilirsiniz:
| Form |
Tip |
İsim |
Açıklama |
| i++ |
postfix |
post-increment |
İşlem sonrası arttırma |
| ++i |
prefix |
pre-increment |
İşlem öncesi arttırma |
| i– |
postfix |
post-decrement |
İşlem sonrası azaltma |
| –i |
prefix |
pre-decrement |
İşlem öncesi azaltma |
Yorumlar
Yorum Yok
Yorumunuzu Ekleyin
Yorum eklemek için giris yapmalısınız.