Menu
Coddy logo textTech

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)
challenge icon

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:

  1. x'in mevcut değerini a'ya atamak ve ardından x'i artırmak için sonek artırma operatörünü kullan.
  2. y'yi azaltmak ve yeni değerini b'ye atamak için önek azaltma operatörünü kullan.
  3. z'nin mevcut değerini c'ye atamak ve ardından z'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;
}
quiz iconKendini test et

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

Kendi başına pratik yap: Online C++ derleyicisi