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) expressionBir 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.
Görev
KolayŞunları yapan bir program yazın:
temperatureadında bir double değişkeni tanımlayan ve ona 98.6 değerini atayan.temperaturedeğ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 bunuwhole_partadında bir değişkende saklayan.- 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) expressionFloat'ı tam sayıya dönüştürme (ondalık kısmı keser):
float price = 45.95;
int rounded_price = (int) price; // Result: 45Karakteri tam sayıya dönüştürme (ASCII değerini alır):
char letter = 'A';
int ascii_value = (int) letter; // Result: 65Not: 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;
}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
2Değişkenler
Veri TipleriTam Sayı (Integer)Float - DoubleKarakterlerBooleanlarSabitlerprintf TemelleriDeğişken İsimlendirme KurallarıTip Dönüşümü Bölüm 1Tip Dönüşümü Bölüm 2Özet Meydan Okuması3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama Operatörleriİlişkisel OperatörlerMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Özet Meydan Okuması