C/C++ Temel Aritmetik İşlemler ve Öncelikleri her çeşit hesaplama işleminde kullanacağınız temel aritmetik işlemleri ve bunların önceliklerini anlamanız için hazırlanmıştır.
int main()
{
int sayi1 = 3;
int sayi2 = 5;
int sayi3 = 7;
int sonuc = 0;
sonuc = sayi1 + sayi2;
printf("%d\n",sonuc);
sonuc = 2 * (sayi1 + sayi2);
printf("%d\n",sonuc);
sonuc = sayi2 - sayi1 + 5 - 10 + 7;
printf("%d\n",sonuc);
sonuc = (sayi2 - sayi1) + (5 - 10 + 7);
printf("%d\n",sonuc);
sonuc = (sayi2 - sayi1 + 5 ) + ( - 10 + 7);
printf("%d\n",sonuc);
sonuc = sayi1 * sayi2 * sayi3;
printf("%d\n",sonuc);
sonuc = ((sayi1 * sayi2 )* sayi3);
printf("%d\n",sonuc);
sonuc = sayi1 * sayi2 * sayi3 * 4 * 6 * 8;
printf("%d\n",sonuc);
sonuc = sayi1 * sayi2 * sayi3 * 4 / 2 * 6 / 2 * 8 / 2 ;
printf("%d\n",sonuc);
sonuc = sayi1 * sayi2 * sayi3 * 4 * 6 * 8 / 2 / 2 / 2 ;
printf("%d\n",sonuc);
sonuc = ((((sayi1 * sayi2)+1)/2) * (sayi3 * 4 * 6 * 8 / 2)) / (2 / 2) ;
printf("%d\n",sonuc);
sonuc = (sayi1 * sayi2 * sayi3)%11;
printf("%d\n",sonuc);
sonuc = sayi1 * sayi2 * sayi3 % 11;
printf("%d\n",sonuc);
sonuc = ((((sayi1 * sayi2)+1)/2) * (sayi3 * 4 * 6 * 8 / 2)) / (2 / 2) % 11;
printf("%d\n",sonuc);
sonuc = (((((sayi1 * sayi2)+1)/2) * ((sayi3 * 4 * 6 * 8 / 2)) / (2 / 2))) % 11;
printf("%d\n",sonuc);
}
Yukarıdaki kodun sonucu 8 16 4 4 4 105 105 20160 2520 2520 5376 6 6 8 8 olarak gelmektedir, öncelik ve parantez mantığını anlayabilmeniz için matematikte bu işlem nasıl sonuç verir diye düşünerek hep doğru sonucu bulabilirsiniz. Fakat matematiksel ifadelerin koda dönüştürülmesinde daima formülü bölümleyip parantezleri kullanınız.
C/C++ Dilinde aritmetik ifadeler aşağıda listelenmektedir. hemen yanında da örnek bir kısa kod yazılmaktadır.
- Toplama ( + ) toplam = degisken 1 + degisken2;
- Çarpma ( * ) carpim = degisken1 * degisken2;
- Çıkarma ( – ) fark = degisken1 – degisken2;
- Bölme ( / ) bolme = degisken1 / degisken2;
- Mod Kalan ( % ) kalan = degisken1 % degisken2:
Mod Kalan işlemi ingilizce modulus yani bölmeden kalan olarak düşünülmelidir yani 11 % 3 sonuç olarak 2 verir 11 in 3 e bölümünden kalan değeri vermektedir.
Yukarıdaki örnek kodu çalıştırdığınızda sonuçlar ekrana aşağıdaki listelenen sıra ile gelecektir. Aritmetik önceliği ve işlem sıralaması matematik ile tam aynı olan programcılıkta dikkat edilmesi gereken en önemli konu aritmetik öncelikleri aynı olan işlemlerin soldan sağa işlendiği ve atama işleminin sağdan sola işlendiğidir.
Yani sonuc = sayi2 – sayi1 + 5 – 10 + 7; işleminde toplama ve çıkartma işlemi eşit öncelik seviyesinde oldukları için soldan sağa düz bir işlem olarak matematiksel hesaplama yapıldıktan sonra oluşan sayılsal değer sonuc değerine sağdan sola atanmaktadır. Yani eşittir işareti atama işaretidir ve solundaki değişkene sağındaki değeri atamamaktadır. Yapılan işlemlerde bir öncelik mantığı olursa yani 5 farklı aritmetik işlem karmaşık olarak kullanılıyorsa örnekte sağladığımız gibi doğru hesaplamanın sağlanması için parantezlerin kullanılması sorunludur, her parantez kapalı bir işlem grubu üretir ve bu parantezler içten dışa doğru matematikte olduğu mantıkta hesaplandığı için hesaplama hatalarının önüne geçilmiş olur. Her zaman için tüm işlemlerinizi parantezlere bölerek hesaplamanın güvenliğini sağlayacak formülü oluşturarak kullanmanızın faydasını unutmayınız.