Hafta: 2
Konu: Veri Tipleri
Hedef: Programlamadillerinde o an kullanılan veriler bellekte tutulur. Bu verileri programlama dillerinde kullanabilmek için veri tipleri ile tanımlamak gereklidir, değişkenler en çok kullanılan temel veri tipidir.
Programlar genellikle kullanıcı ile etkileşim halindedir, bu amaçla programlama dillerinde kullanıcıdan bilgi almak veya kullanıcıya bilgi vermek için giriş-çıkış komutları kullanılır.
Veri Tipleri
Programlama Dillerinin Genel Yapıları
Günümüzde kullanılan tüm programlama dillerinin yapıları genellikle aynıdır.
Temel Veri Tipleri
Bilgisayarlarda, programlama dillerinde işlemlerde kullanılacak bilgiler verilerden elde edilir. Programlamanın asıl kullanım amaçlarından biri de verileri işlemektir. Veriler programlama dillerinde değişkenlerde veya sabitlerde tutulurlar.
Bir programda kullanılacak olan verilerin geçici olarak temsil edilmesi ve kendilerine atanmış verilerin saklanması değişkenler ile gerçekleştirilir. Değişkenler bilginin bellekte saklandığı yerin adresidir.
Aşağıdaki örnekte 0020 adresindeki verinin değeri için tel_no, 0028 adresindeki verinin değeri için okul_no adlı değişkenler kullanılır.
Değişkenin Adı
|
Bellek
|
Bellek Adresi
|
|
|
0000
|
|
|
008
|
|
|
0010
|
|
|
0018
|
Tel_no
|
110101010
|
0020
|
Okul_no
|
010110101
|
0028
|
|
|
0030
|
|
|
0038
|
|
|
“
|
|
|
“
|
Bellekte veriler bitler (1 veya 0) şeklinde tutulur. Bellek verilen tutulduğu birimlerden oluşan bir yapıdır. Her birimin bir adresi vardır. (F3444 gibi) Program yazarken bu adresler yerine, bu adresleri temsil eden değişkenler kullanılır. Bu adresleme değişkenlerin tutulduğu verinin içeriğine göre farklılık gösterir.
Programlama dillerinde değişkenleri kullanmadan önce kullanılacak değişkenleri programa tanıtmak gerekmektedir. Bu tanıtma işlemi bazı programlama dillerinde program kodları yazılmaya başlanmadan önce yapılır. Bazı dillerde ise değişkenin tanımlanması değişken kullanımı esnasında yapılabilir.
Temel Veri Bildirileri
Veri tipleri değişkenler ve sabitler olarak iki ana başlığa ayrılır;
Değişkenler:
Değişkenler bir programda değişik işlemlerde kullanılacak veya işlemlerden sonra ortaya çıkacak olan değerlerin saklanması amacıyla kullanılır.
a) Mantıksal Veri Tipi
Mantıksal veri tipi, içerisinde mantıksal değer olan True ya da False değerini saklar. Bu değeri saklamak için bellekte sadece 1 bit kullanılır, doğru veya yanlış değerini bellekte 1 veya 0 değeri karşılar. C deki kullanım şekli
bool gecti;
…
gecti = true; // Geçti
gecti = false; // Kaldı
b) Tamsayı Veri Tipleri
Bir tamsayı veri tipinin değerinin büyüklüğü bilgisayardan bilgisayara, programlama diline veya bellekte ayrılan yere göre değişebilir. Tamsayının büyüklüğü ayrıca sayının işaretli olmamasına göre de değişir. C dilinde tanımlanması aşağıdaki gibidir;
Bildiri / Özellik
|
Uzunluk
|
Minimum Değer
|
Maksimum Değer
|
Char
|
1 Byte
|
-128
|
+127
|
Unsigned char
|
1 Byte
|
0
|
255
|
İnt
|
2 Byte
|
-32767
|
+32767
|
Unsigned int
|
2 Byte
|
0
|
65535
|
Long
|
4 Byte
|
-2147483648
|
+2147483674
|
Unsigned long
|
4 Byte
|
0
|
4294967295
|
C dilindeki kullanımı;
char c;
…
C=65;
Reel Sayı Tipleri
Programlama dillerinde daha çok reel (ondalık, kesirli) sayıları göstermek için kullanılan bir veri tipidir. Bu veri tipi bellekte kayan noktalı (float point) şeklinde saklanır. Kayan noktalı gösterimde E harfinden sonra gelen sayı 10’un kuvveti şeklinde hesaplanmıştır.
Gerçek Sayı
|
Kayan Noktalı Gösterimi
|
10’un Kuvveti Şek. Gösterimi
|
0,126
|
0,126E+0
|
0,126×10^0
|
24,45821
|
0,2445821E+2
|
0,2445821×10^2
|
5244
|
0,5244E+4
|
0,5244×10^4
|
0,0023
|
0,23E-2
|
0,23×10^-2
|
Kayan noktalı gösterimde virgülden sonra kaç basamak olacağına o sayının duyarlılığı denir. Genelde bilgisayarlarda bu duyarlılık 6 hane olarak belirlenmiştir. Bu, sayının virgülden sonraki 6 hanesi değil de kayan noktalı gösteriminde virgülden sonraki 6 hanesidir.
Gerçek Sayı
|
Kayan Noktalı Gösterimi
|
Bellekte Saklanmış Hali
|
24,458214
|
0,24458214E+2
|
0,244582E+2
|
Yukarıdaki örnekte görüldüğü gibi sayının son iki hanesindeki 14 sayısı duyarlılık6 olduğu için bellekte saklanmamıştır.
Reel sayı veri tiplerinin C progralama dilinde tanımlanması;
Bildiri / Özellik
|
Uzunluk
|
Minimum Değer
|
Maksimum Değer
|
Float
|
4 Byte
|
-3,4E+4
|
+3,4E+38
|
Double
|
8 Byte
|
-1,7E+308
|
+1,7E+308
|
Long double
|
10 Byte
|
-3,4E+4932
|
+3,4E+4932
|
C dilindeki kullanımları;
float f;
…
f = 10,246;
f = 20;
f = 5/2; // Sonuç 2.5 değil 2 çıkar
f = 5,0/2; // Sonuç 2,5 çıkar
f = 5/2,0; // Sonuç 2,5 çıkar
f = (float) 5/2; // Sonuç 2,5 çıkar
double d;
…
d = 30,135;
Not: C dilinde reel sayılarla işlem yaparken sonucun reel sayı olabilmesi için işleme giren değişkenler veya sayılardan en az birinin reel sayı olması gerekir.
Karakter ve String Veri Tipleri
Genelde programlama dillerinde sayısal olmayan veriler bellidir ve bunlar değişik karakter kümelerinde utulur. Bu karakter kümelerinde her bir sembole karşılık bir sayısal değer gelir. Programlama dilleri değişik karakter kümeleri kullanabilir. Günümüzde en çok kullanılanı ASCII (American Standard Code for Information Interchange) kümesidir.
Sabitler
Sabitler bir programda değişmeyen değerler içerirler. Değerleri tanımlama sırasında verilir ve tanımlamadan sonra değerleri değiştirilemez.
Pi sayısı 3,14159265358979 değeri sabit olarak tanımlanabilir.
Const float pi = 3,14159265358979;