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

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:

  1. x'in mevcut değerini a'ya atamak ve ardından x'i artırmak için sonson ek artırma (postfix increment) operatörünü kullanın.
  2. y'yi azaltmak ve yeni değerini b'ye atamak için ön ek azaltma (prefix decrement) operatörünü kullanın.
  3. z'nin mevcut değerini c'ya atamak ve ardından z'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;
}
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