Tip Dönüşümü Bölüm 1
Coddy'nin C Journey'sinin Fundamentals bölümünün bir parçası — ders 13 / 63.
C'de tür dönüşümü, bir değeri bir veri türünden diğerine dönüştürmenize olanak tanır. Bu, farklı veri türleri arasında işlemler gerçekleştirmeniz gerektiğinde yararlıdır.
İki ana tip dönüştürme türü vardır:
- Örtük dönüştürme (otomatik)
- Açık dönüştürme (manuel)
Örtük tür dönüşümü ile başlayalım:
Küçük bir veri tipinden daha büyük bir veri tipine dönüştürme yaparken örtük tür dönüşümü otomatik olarak gerçekleşir:
int num = 10;
double decimal_num;
// int'ten double'a örtük tür dönüşümü
decimal_num = num;Yukarıdaki kod yürütüldükten sonra, decimal_num 10.0 değerine sahip olacaktır
Bu çalışır çünkü bir double, herhangi bir veri kaybetmeden bir int'in tüm olası değerlerini saklayabilir. Dönüşüm güvenlidir, bu nedenle C bunu otomatik olarak yapar.
Yaygın örtük tür dönüşüm yolları:
- char → int → long → float → double
Şimdi açık tür dönüştürmeye bakalım:
Açık tür dönüştürme (explicit casting), dönüştürmek istediğiniz değerin önüne hedef veri tipini parantez içinde yerleştirerek manuel olarak yapılır. Bu, veri kaybının meydana gelebileceği daha büyük bir veri tipinden daha küçük bir veri tipine dönüştürme yaparken gereklidir:
double decimal_num = 5.65;
int num;
// double'dan int'e açık tür dönüştürme
num = (int)decimal_num;Yukarıdaki kod yürütüldükten sonra, num 5 değerine sahip olacaktır
double'dan int'e tür dönüşümü yaparken ondalık kısmın (yuvarlanmadan) kesildiğine dikkat edin. Açık tür dönüşümü için sözdizimi şöyledir:
(target_type) valueBu dönüştürme veri kaybına neden olabileceği için C, bunu açıkça yapmanızı gerektirir — bu, derleyiciye potansiyel veri kaybının farkında olduğunuzu bildirir.
Görev
KolayAşağıdakileri yapan bir program yazın:
- Bir double değişkeni
resultbildiren ve değerini 5.65 olarak ayarlayan - Bir int değişkeni
gradebildiren - Açık tür dönüştürme (explicit casting) kullanarak
resultdeğerinigradedeğişkenine atayan - printf kullanarak
gradedeğerini "The grade is: " mesajıyla birlikte yazdıran
Kopya kağıdı
Örtük tür dönüşümü (Implicit casting) — küçük tipten büyük tipe otomatik dönüşüm:
int num = 10;
double decimal_num = num; // 10.0 olurYaygın örtük tür dönüşümü yolu: char → int → long → float → double
Açık tür dönüşümü (Explicit casting) — (target_type) value kullanarak manuel dönüşüm:
double decimal_num = 5.65;
int num = (int)decimal_num; // 5 olur (yuvarlanmaz, kesilir)Veri kaybının meydana gelebileceği, büyük bir tipten küçük bir tipe dönüşüm yaparken açık tür dönüşümü kullanın.
Kendin dene
#include <stdio.h>
int main() {
double result = 5.65;
int grade;
// result (double) değişkenini grade (int) türüne dönüştürmek için açık tür dönüşümü kullanın
printf("The grade is: %d\n", grade);
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ı