Menu
Coddy logo textTech

Tip Dönüşümü Bölüm 2

Coddy'nin C Journey'sinin Fundamentals bölümünün bir parçası — ders 14 / 63.

Bölüm 1'de örtük tür dönüşümüne (implicit type casting) baktık. Şimdi C'de açık tür dönüşümünü (explicit type casting) inceleyelim.

Açık tür dönüştürme (manuel dönüştürme), cast operatörünü kullanarak bir veri türünü başka bir veri türüne zorla dönüştürmenizdir.

Açık tür dönüştürme (explicit casting) sözdizimi şöyledir:

(target_type) expression

Bir float değerini bir tam sayıya (integer) dönüştürelim:

float price = 45.95;
int rounded_price = (int) price;

Yukarıdaki kod yürütüldükten sonra, rounded_price şu olacaktır:

45

Ondalık kısmın kesildiğine (yuvarlanmadığına) dikkat edin.

Karakterleri ASCII değerlerini elde etmek için tam sayılara da dönüştürebiliriz:

char letter = 'A';
int ascii_value = (int) letter;

Yukarıdaki kod yürütüldükten sonra, ascii_value şu olacaktır:

65

Unutmayın, tür dönüştürme (type casting), özellikle daha büyük bir veri türünden daha küçük bir veri türüne dönüştürme yaparken veri kaybına yol açabilir.

challenge icon

Görev

Kolay

Şunları yapan bir program yazın:

  1. temperature adında bir double değişkeni tanımlayan ve ona 98.6 değerini atayan.
  2. temperature değişkenini bir tam sayıya dönüştürmek için açık tür dönüştürme (explicit type casting) kullanan ve bunu whole_part adında bir değişkende saklayan.
  3. Orijinal sıcaklığı ve tam sayı kısmını ayrı satırlara yazdıran.

Örnek çıktı:

Original temperature: 98.6
Whole part: 98

Kopya kağıdı

C'de açık tür dönüştürme (explicit type casting), bir veri türünü döküm operatörünü kullanarak manuel olarak başka bir veri türüne dönüştürmenize olanak tanır.

Sözdizimi:

(target_type) expression

Float'ı tam sayıya dönüştürme (ondalık kısmı keser):

float price = 45.95;
int rounded_price = (int) price;  // Result: 45

Karakteri tam sayıya dönüştürme (ASCII değerini alır):

char letter = 'A';
int ascii_value = (int) letter;  // Result: 65

Not: Tür dönüştürme, daha büyük veri türlerinden daha küçük veri türlerine dönüştürme yaparken veri kaybına neden olabilir.

Kendin dene

#include <stdio.h>

int main() {
    // Kodunuzu buraya yazın
    
    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.

Fundamentals bölümündeki tüm dersler