Sonradan Artırma/Azaltma
Coddy'nin C++ Journey'sinin Temeller bölümünün bir parçası — ders 19 / 74.
Önceki derste, artırma (++) ve azaltma (--) operatörlerini ele aldık. Bu operatörlerin iki formu vardır: prefix ve postfix.
Önek (prefix) formu değişkenden önce yazılır (örneğin, ++x veya --x) ve sonek (postfix) formu değişkenden sonra yazılır (örneğin, x++ veya x--).
Hangi formun kullanılacağını bilmek pratikte önemlidir. Örneğin, bir oyunda her vuruştan sonra bir oyuncunun puanını score++ ile takip edebilir veya oyunun bitip bitmediğini kontrol etmeden önce kaybedilen bir canı anında yansıtmak için --lives kullanabilirsiniz. Döngülerde, önek (prefix) ve sonek (postfix) arasındaki seçim, güncellemeden önce veya sonra bir ifadede hangi değerin kullanılacağını etkileyebilir.
İki form arasındaki fark ince ama önemlidir:
- Ön ek (Prefix) formu: Değişkeni artırır/azaltır ve ardından yeni değeri döndürür.
- Son ek (Postfix) formu: Değişkenin mevcut değerini döndürür ve ardından onu artırır/azaltır.
İşte farkı gösteren bir örnek:
int x = 5;
int y = x++;
// y = 5, x = 6 (sonek: y orijinal değeri alır, ardından x artırılır)
int a = 5;
int b = ++a;
// b = 6, a = 6 (önek: önce a artırılır, ardından b yeni değeri alır)İlk durumda, y'ye x'in orijinal değeri (5) atanır ve ardından x 6'ya artırılır. İkinci durumda, önce a artırılır ve ardından yeni değeri (6) b'ye atanır.
Aynı mantık azaltma operatörü için de geçerlidir:
int x = 5;
int y = x--;
// y = 5, x = 4 (sonek: y orijinal değeri alır, ardından x azaltılır)
int a = 5;
int b = --a;
// b = 4, a = 4 (önek: önce a azaltılır, ardından b yeni değeri alır)Görev
BaşlangıçSize x, y ve z değişkenlerinin başlatıldığı bir kod verilmiştir. (Bu satırları silmeyin!)
Göreviniz, artırma/azaltma operatörlerini kullanarak bu sırayla aşağıdaki işlemleri gerçekleştirmektir:
x'in mevcut değerinia'ya atamak ve ardındanx'i artırmak için sonson ek artırma (postfix increment) operatörünü kullanın.y'yi azaltmak ve yeni değerinib'ye atamak için ön ek azaltma (prefix decrement) operatörünü kullanın.z'nin mevcut değerinic'ya atamak ve ardındanz'yi azaltmak için son ek azaltma (postfix decrement) operatörünü kullanın.
Bu işlemleri gerçekleştirdikten sonra a, b, c, x, y ve z değerlerini konsola aşağıdaki formatta yazdırın:
a: [value of a]
b: [value of b]
c: [value of c]
x: [value of x]
y: [value of y]
z: [value of z]Kendin dene
#include <iostream>
int main() {
int x = 10;
int y = 20;
int z = 30;
int a, b, c;
// Kodunuzu aşağıya yazın
// Aşağıdaki satırları değiştirmeyin
std::cout << "a: " << a << std::endl;
std::cout << "b: " << b << std::endl;
std::cout << "c: " << c << std::endl;
std::cout << "x: " << x << std::endl;
std::cout << "y: " << y << std::endl;
std::cout << "z: " << z << std::endl;
return 0;
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaSonradan Artırma/AzaltmaAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Giriş/Çıkış Temelleri
cout İfadesicin İfadesiString GirdisiÖzet - 120'ye KadarÖzet - Doğru veya Yanlış