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 biçimi vardır: ön ek ve son ek.
Ön ek biçimi değişkenden önce yazılır (ör. ++x veya --x), son ek biçimi ise değişkenden sonra yazılır (ör. x++ veya x--).
Hangi biçimin kullanılacağını bilmek pratikte önemlidir. Örneğin bir oyunda, her isabetten sonra oyuncunun skorunu score++ ile takip edebilir veya oyunun bitip bitmediğini kontrol etmeden önce kaybedilen canı hemen yansıtmak için --lives kullanabilirsin. Döngülerde, ön ek ve son ek arasındaki seçim, güncellemeden önce veya sonra bir ifadede hangi değerin kullanılacağını etkileyebilir.
İki biçim arasındaki fark incelikli ancak önemlidir:
- Önek biçimi: Değişkeni artırır/azaltır ve ardından yeni değeri döndürür.
- Sonek biçimi: Değişkenin mevcut değerini döndürür ve ardından onu artırır/azaltır.
Aradaki farkı göstermek için bir örnek:
int x = 5;
int y = x++;
// y = 5, x = 6 (postfix: y orijinal değeri alır, sonra x artırılır)
int a = 5;
int b = ++a;
// b = 6, a = 6 (prefix: a önce artırılır, sonra b yeni değeri alır)İlk durumda y'ye x'in özgün değeri (5) atanır ve ardından x 6'ya artırılır. İkinci durumda a önce artırılır ve ardından yeni değeri (6) b'ye atanır.
Aynı mantık azaltma işleci için de geçerlidir:
int x = 5;
int y = x--;
// y = 5, x = 4 (postfix: y orijinal değeri alır, sonra x azaltılır)
int a = 5;
int b = --a;
// b = 4, a = 4 (prefix: a önce azaltılır, sonra b yeni değeri alır)Görev
Başlangıçx, y ve z değişkenlerinin başlangıç değerlerini içeren bir kod veriliyor. (Bu satırları silme!)
Görevin, aşağıdaki işlemleri bu sırayla gerçekleştirmek için artırma/azaltma operatörlerini kullanmaktır:
x'in mevcut değerinia'ya atamak ve ardındanx'i artırmak için sonek artırma operatörünü kullan.y'yi azaltmak ve yeni değerinib'ye atamak için önek azaltma operatörünü kullan.z'nin mevcut değerinic'ye atamak ve ardındanz'yi azaltmak için sonek azaltma operatörünü kullan.
Bu işlemleri gerçekleştirdikten sonra a, b, c, x, y ve z değerlerini aşağıdaki biçimde konsola yazdır:
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ışKendi başına pratik yap: Online C++ derleyicisi