Tür Dönüştürme 1. Bölüm
Coddy'nin C Journey'sinin Temeller bölümünün bir parçası. Ders 13 / 63.
C dilinde tür dönüştürme, bir değeri bir veri türünden başka bir veri türüne dönüştürmenizi sağlar. Bu, farklı veri türleri arasında işlemler gerçekleştirmeniz gerektiğinde kullanışlıdır.
Tür dönüştürmenin iki ana türü vardır:
- Örtük dönüştürme (otomatik)
- Açık dönüştürme (manuel)
Örtük dönüştürmeyle başlayalım:
Örtük tür dönüşümü, daha küçük bir veri türünden daha büyük bir veri türüne dönüştürme sırasında otomatik olarak gerçekleşir:
int num = 10;
double decimal_num;
// int'ten double'a örtük dönüştürme
decimal_num = num;Yukarıdaki kodu çalıştırdıktan sonra decimal_num değeri 10.0 olacaktır
Bu, bir double değerinin veri kaybı olmadan bir int türünün tüm olası değerlerini depolayabilmesi sayesinde çalışır. Dönüştürme güvenlidir, bu nedenle C bunu otomatik olarak yapar.
Yaygın örtük tür dönüştürme yolları:
- char → int → long → float → double
Şimdi açık tür dönüşümüne bakalım:
Açık tür dönüşümü, dönüştürmek istediğiniz değerin önüne hedef veri türünü parantez içinde yazarak manuel olarak yapılır. Veri kaybının meydana gelebileceği daha büyük bir veri türünden daha küçük bir türe dönüşüm yapılırken bu gereklidir:
double decimal_num = 5.65;
int num;
// double'dan int'e açık tip dönüşümü
num = (int)decimal_num;Yukarıdaki kodu çalıştırdıktan sonra num değeri 5 olacaktır
double türünden int türüne dönüştürme yapılırken ondalık kısmın yuvarlanmadığına, kesildiğine dikkat edin. Açık tür dönüştürme sözdizimi şöyledir:
(target_type) valueBu dönüşüm veri kaybına yol açabileceğinden C, bunu açıkça yapmanızı gerektirir. Bu, derleyiciye olası veri kaybının farkında olduğunuzu bildirir.
Görev
KolayŞunları yapan bir program yazın:
- Bir double değişkeni
resulttanımlar ve değerini 5.65 olarak ayarlar - Bir int değişkeni
gradetanımlar - Açık tür dönüştürme kullanarak
resultdeğerinigradedeğişkenine atar gradedeğerini, printf kullanarak "The grade is: " mesajıyla yazdırır
Kendin dene
#include <stdio.h>
int main() {
double result = 5.65;
int grade;
// result (double) değerini grade (int) değerine dönüştürmek için açık casting kullan
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.
Temeller bölümündeki tüm dersler
2Değişkenler
Veri TürleriTamsayıOndalık - DoubleKarakterlerBoolean'larSabitlerprintf TemelleriDeğişken Adlandırma KurallarıTür Dönüştürme 1. BölümTür Dönüştürme 2. BölümTekrar Mücadelesi3Operatörler
Aritmetik OperatörlerModül OperatörüArtırma/AzaltmaAtama OperatörleriKarşılaştırma OperatörleriMantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Mantıksal Operatörler Bölüm 3Tekrar MücadelesiKendi başına pratik yap: Online C derleyicisi