Bilgisayar Ve Programlamaya Giriş Dersi 5. Ünite Sorularla Öğrenelim
C'de Veri Tipleri Ve Tanımlamalar
- Özet
- Sorularla Öğrenelim
Veri nedir?
Bilgisayara girilen islenmemiş (ham) bilgilere veri denir. Bilgisayarın alabildiği, isleyebildiği, sonuç üretebildiği ve saklayabildiği her şey veridir.
Programlama ya da diğer adıyla yazılım nedir?
Programlama ya da diğer adıyla yazılım, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanım verecek olursak programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir. Programlama, bir programlama dilinde yapılır. Bu programlama dili, Java gibi yüksek seviyede bir dil olabileceği gibi C, assembly ve bazı durumlarda makine dili de olabilir. Yazılan kaynak kodu, genellikle bir derleyici (compiler) yardımıyla belirli bir donanımda çalıştırılabilir hâle getirilir. Ayrıca kaynak kodu, bir yorumlayıcı (interpreter) yardımıyla derlemeye gerek duyulmadan satırdan satıra da çalıştırılabilir.
Derleyici nedir?
Derleyici, yazılan programları okuyup içerisinde mantıksal veya yazımsal (syntax) hatalar olup olmadığını bulan, bulduğu hataları kullanıcıya göstererek programın düzeltilmesine yardım eden, hata yoksa programı çalıştırıp sonucunu gösteren birer platformdur. Bu platformda, daha önceden tanımlanmış veri tipleri kullanılmak zorundadır.
Verileri önceden tiplerine göre ayıran dillerin avantajları nelerdir?
- Her veri tipine yetecek ve ancak o kadar bellek alanı ayrılır.
- Programcı, bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini tanımlar. Her değişkene, bellekte bir yer ayrılır. Değişken etkin olduğu sürece, o adrese bir başka veri yazılamaz. Programcı her istediğinde değişkenin değerini değiştirebilir, yeni değer atayabilir. Bu işlem değişkenin adresini değiştirmez.
- Her veri tipi üzerinde yapılacak işlemler farklıdır. Bu fark gözetilerek veri tipleri üzerinde işlem tanımlanır.
Verileri önceden tiplerine göre ayırmayan dillerin avantajları nelerdir?
- Programcı veri tipleriyle uğraşmaz, gerekli verileri girer ve sadece kullanır.
- Aynı adlı değişkene her istediğinde aynı ya da başka tipten veri atanabilir.
- Bir veri belleğe bir kez konulur. O değeri kullanan değişkenler, o değeri ortak kullanır. Böylece belleğe bir veri ancak bir kez girer.
Ortaya çıkan bu durum, belleğin çok ekonomik kullanılmasını sağlar.
C programlama dilindeki temel veri tipleri nelerdir?
C programlama dilinde toplam üç tane temel veri tipi vardır:
- Sayı
- Karakter
- Dizgi (String)
Char veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü karakterler, Bellekte kapladığı alan 1 Byte, Alabileceği değer aralığı -128’den 127’ye kadar.
Signed char veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü karakterler, Bellekte kapladığı alan 1 Byte, Alabileceği değer aralığı -128’den 127’ye kadar.
Short int veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Küçük tam sayılar, Bellekte kapladığı alan 2 Byte, Alabileceği değer aralığı -32768’den 32767’ye kadar.
Long int veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Küçük tam sayılar, Bellekte kapladığı alan 4 Byte, Alabileceği değer aralığı -2147483648’den 2147483647’ye kadar.
Short veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Küçük tam sayılar, Bellekte kapladığı alan 2 Byte, Alabileceği değer aralığı -32768’den 32767’ye kadar.
Long veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Küçük tam sayılar, Bellekte kapladığı alan 4 Byte, Alabileceği değer aralığı -2147483648’den 2147483647’ye kadar.
Unsigned char veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü İşaretsiz karakterler, Bellekte kapladığı alan 1 Byte, Alabileceği değer aralığı 0’dan 255’e kadar.
Unsigned int veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü İşaretsiz tam sayılar, Bellekte kapladığı alan 2 Byte, Alabileceği değer aralığı 0’dan 65535’e kadar.
Unsigned short veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü İşaretsiz küçük tam sayılar, Bellekte kapladığı alan 2 Byte, Alabileceği değer aralığı 0’dan 65535’e kadar.
Unsigned long veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü İşaretsiz büyük tam sayılar, Bellekte kapladığı alan 4 Byte, Alabileceği değer aralığı 0’dan 4294967295’e kadar.
Enum veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Numaralandırılmış sayılar, Bellekte kapladığı alan 2 Byte, Alabileceği değer aralığı 0’dan 65535’e kadar.
C programlama dilindeki kesirli sayı veri tipleri nelerdir?
- Float
- Double
- Long double
Float veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Az sayıda ondalık basamaklı kesirli sayılar, Bellekte kapladığı alan 4 Byte, Alabileceği değer aralığı 3.4E+/-38 (7 haneli).
Double veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Orta miktarda ondalık basamaklı kesirli sayılar, Bellekte kapladığı alan 8 Byte, Alabileceği değer aralığı 3.4E+/-308 (15 haneli).
Long double veri tipinin türü, bellekte kapladığı alan ve alabileceği değer aralığı nedir?
Veri türü Çok sayıda ondalık basamaklı kesirli sayılar, Bellekte kapladığı alan 10 Byte, Alabileceği değer aralığı 1.7E+/-4932 (19 haneli).
‘\n’ nin görevi nedir?
Return ya da satır sonunu gösteren karakter. Klavyeden return ya da enter tuşuna basıldığında gönderilen karakterdir. Bu karakteri ekrana yazdırmaya kalktığımızda bir sonraki satıra geçilecektir.
‘\t’ nin görevi nedir?
Klavyeden tab tuşuna basıldığında gönderilen karakterdir. Eğer bu karakteri ekrana yazmaya kalkarsak belirli miktarda boşluk bırakacaktır.
‘//’ nin görevi nedir?
Yorum eklemek için kullanılmaktadır.
C programlama dilinde bütün karakterler hangi sayı aralığında kodlanmıştır?
C programlama dilinde bütün karakterlerin 0 ile 255 değeri arasında değişen bir kodu vardır. Diğer bir deyişle C programlama dilinde 256 değişik karakter olabilir.
C programlama dilinde kullanılan kodlama sistemine ne ad verilir?
C programlama dilinde kullanılan bu kodlama sistemi, ASCII kodlama sistemidir. ASCII kodlama sisteminde kullanılan ilk 128 karakter, İngilizce harfler, rakamlar ve çok kullanılan diğer bazı karakterlerden oluşur. Bu kodlama sistemi ile aynı zamanda bütün karakterler bir sıraya konmuş olurlar. Bir karakterin ASCII kodunu bulabilmek için o karakteri “int” veri türüne çeviririz.
Diziler(strings) nedir?
Dizgiler karakterlerden oluşan dizilerdir. Karakter dizilerinin her bir elemanı da bir karakterdir. Diğer dizilerde olduğu gibi, bir dizginin de her bir elemanına ayrı ayrı erişebiliriz. Bir dizginin parçalarına erişebiliriz, bir karakterin bir dizgi içindeki yerini bulabiliriz ve buna benzer birçok işlemi dizgiler üzerinde yapabiliriz.
Değişken isimlendirilmesi nedir?
Programcı nasıl bir program yazıyor olursa olsun, programın tasarlanması aşamasında en çok dikkat etmesi gereken faktörlerden biri degisken tanımlamalarıdır. Değişkenin tipinin ve isminin yanlış seçilmesi o an için bir problem teşkil etmeyebilir ancak aradan belli bir zaman geçtikten sonra çok büyük sorunlara neden olabilir.
Değişken nedir?
Değişkenler, bilgisayarın belleğinde bilginin saklandığı gözlere verilen sembolik adlardır.
Değişken isimlendirilmesinin kuralları nedir?
- C programlama dili komutları değişken adı olarak verilemez.
- Değişken ismi birden çok kelimeden oluşacaksa aralarına boşluk verilmez.
- Değişken adları en fazla 32 karakterden oluşabilir. 32 karakterden uzun değişken adları ilk 32 karakter değerlendirilir. Geriye kalan karakterler isleme tabi tutulmaz. ? Değişken adları İngiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) ya da rakamlar (0-9) ile yazılmalıdır. Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz.
- Değişken adları herhangi bir rakam ile başlayamaz. İlk karakter bir harf olmamalıdır. Sonrakiler ise rakamlardan oluşabilir.
- ANSI C’nin anahtar kelimeleri (key words) kullanılamaz
Değişken ismi olarak kullanılamayacak ANSI C’nin anahtar kelimeleri nelerdir?
- auto
- double
- int
- struct
- break
- else
- long
- switch
- case
- enum
- register
- typedef
- char
- extern
- return
- union
- const
- float
- short
- unsigned
- continue
- for
- signed
- void
- default
- goto
- sizeof
- volatile
- do
- if
- static
- while
Studio.h başlık dosyası (header file)’in amacı nedir?
Temel giriş/ çıkış fonksiyonları, bütün programlama dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına ve bilgisayara klavyeden veri girişi yapmasına izin verir. Temel giriş/ çıkış fonksiyonları kullanılırken stdio.h baslık dosyası (header file) programın basına eklenmelidir.
printf() fonksiyonun görevi nedir?
Standart C programlama dili kütüphanesinde bulunan printf() fonksiyonu, değişkenler in tuttuğu değerleri, onların adreslerini veya bir mesajı ekrana belli bir düzenle (format) yazdırmak için kullanılan fonksiyondur.
Printf()’in kontrol karakterlerinden \a ın amacı nedir?
Ses üretir (alert)
Printf()’in kontrol karakterlerinden \b ın amacı nedir?
İmleci bir sola kaydırır.
Printf()’in kontrol karakterlerinden \f ın amacı nedir?
Sayfayı atla ve bir sonraki sayfanın başına geçirir (formfeed)
Printf()’in kontrol karakterlerinden \r ın amacı nedir?
Satır başı yaptırır (carriage return)
Printf()’in kontrol karakterlerinden \v ın amacı nedir?
Dikey TAP (vertical TAB)
Printf()’in kontrol karakterlerinden \” ın amacı nedir?
Çift tırnak karakterini ekrana yazdırır.
Printf()’in kontrol karakterlerinden \’ ın amacı nedir?
Tek tırnak karakterini ekrana yazdırır.
Printf()’in kontrol karakterlerinden \\ ın amacı nedir?
\ karakterini ekrana yazdırır.
Printf()’in kontrol karakterlerinden %% ın amacı nedir?
% karakterini ekrana yazdırır.
Printf()’in tip belirleyicilerinden %c in anlamı ve yazdıracağı veri tipi nedir?
Anlamı tek bir karakter yazdırılacak veri tipi char.
Printf()’in tip belirleyicilerinden %s in anlamı ve yazdıracağı veri tipi nedir?
Anlamı karakter dizisi (strings) yazdırılacak veri tipi char
Printf()’in tip belirleyicilerinden %d in anlamı ve yazdıracağı veri tipi nedir?
Anlamı işaretli tam sayı yazdırılacak veri tipi int, short
Printf()’in tip belirleyicilerinden %ld in anlamı ve yazdıracağı veri tipi nedir?
Anlamı uzun işaretli tam sayı yazdırılacak veri tipi long
Printf()’in tip belirleyicilerinden %u in anlamı ve yazdıracağı veri tipi nedir?
Anlamı işaretsiz tam sayı yazdırılacak veri tipi unsigned int, unsigned short
Printf()’in tip belirleyicilerinden %lu in anlamı ve yazdıracağı veri tipi nedir?
Anlamı işaretsiz büyük tam sayı yazdırılacak veri tipi unsigned long
Printf()’in tip belirleyicilerinden %f in anlamı ve yazdıracağı veri tipi nedir?
Anlamı az haneli ondalık sayı yazdırılacak veri tipi float
Printf()’in tip belirleyicilerinden %lf in anlamı ve yazdıracağı veri tipi nedir?
Anlamı çok haneli ondalık sayı yazdırılacak veri tipi double
scanf() fonksiyonunun görevi nedir?
Birçok programda ekrana verilerin bastırılmasının yanı sıra klavyeden veri okunması gerekebilir. scanf() fonksiyonu klavyeden veri okumak için kullanılan fonksiyondur. printf() gibi scanf() fonksiyonu da üstte verilen kontrol karakterlerini ve tip belirleyicileri kullanır.
enum anahtar sözcüğünün görevi nedir?
enum anahtar sözcüğü İngilizcedeki enumerate sözcüğünün kısaltmasıdır. Bir grup sabiti sıralayıp sıra numarası verme eylemini yapar.
Mantıksal değişken tipleri nedir?
Mantıksal değerler, ikili mantık sisteminde yanlış (false) ve doğru (true) değerleridir. Bu değerlere, mantık konusunu matematiksel yapı olarak tanımlayan Ingiliz matematikçi George Boole’ün anısına boolean değerler denilir. Bilgisayarın mantıksal deyimleri isleyip, karar verebilmesi için boolean değerler her dilde önem taşır. C#, Java, C++ gibi üst düzey diller, hatta C99 ile belirlenen standartlarda mantıksal işlemler için bool (Boolean) tipinde bir veri tipi tanımlanmıştır. Bu veri tipi, sadece true ve false değerlerini alabilir. İlişkisel operatörler, bu mantıksal sonuçlardan birini döndürür. Ancak C dilinde özel bir mantıksal veri tipi yoktur.
Yaşam sürelerine göre C programlama dilindeki değişkenler nelerdir?
- Geçici depolama(Volatile Storage)
- Kalıcı depolama (Non-Volatile Storage)
Geçici depolama nedir?
“auto” (automatic) ve register depo sınıflarına konulan değişkenler, ait oldukları program blokunun (program kod parçası) isi bitince bellekten silinirler. “auto” depo sınıfına konulacak değişkenlerin tanımlanmasıdır. Geçici depolama, belleğin ekonomik kullanımı açısından önemlidir. Büyük programlarda çok sayıda değişken ve program bloku bulunur. Bazı değişkenler çok kısa süre için kullanılır, bazı değişkenler ise program boyunca kullanılır. İşi biten değişkenlerin bellekten silinmeleri, belleğin o alanlarının başka işler için kullanılmasına olanak sağlar. O sebeple, iyi bir program, isi biten değişkenleri bellekten yok edecek biçimde yazılmak zorundadır.
Kalıcı depolama nedir?
extern” ve “static” depo sınıflarına konulan değişkenler, program süresince silinmeden bellekte kalırlar. Global değişkenler ön tanımlı (default) olarak “extern” değişken sayılırlar. Onlar program boyunca bellekte saklanırlar. O nedenle, global değişkenleri “extern” diye tanımlamaya gerek olmaz. Ancak bazı durumlarda bir blok içindeki değişkenin program boyunca bellekte kalması istenebilir. O zaman bu tür bir değişken “static” diye tanımlanmak zorundadır.
Programlama ya da diğer adıyla yazılım, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlere ne denir?
Veri
Tam Sayılar hangi veri türüdür?
int
Karakterler hangi veri türüdür?
char
Kesirli Sayılar hangi veri türüdür?
float, double
Yapısal Tipler hangi veri türüdür?
array, string, functions, struct, files, pointers
C programlama dilinde kesirli sayılar (fractional numbers) kaç gruba ayrılır?
3
• Float
• double
• long double
Karakterler, C programlama dilinde hangi veri türü ile tanımlanır?
“char”
Karakterlerden oluşan dizilere ne denir?
Dizgiler
/a karakterinin anlamı nedir?
Ses üretir (alert).
/b karakterinin anlamı nedir?
İmleci bir sola kaydırır
/f karakterinin anlamı nedir?
Sayfayı atla ve bir sonraki sayfanın başına geçirir (formfeed).
/n karakterinin anlamı nedir?
Bir alt satıra geçirir (newline).
/r karakterinin anlamı nedir?
Satır başı yaptırır (carriage return).
/t karakterinin anlamı nedir?
Yatay TAB (horizontal TAB).
/v karakterinin anlamı nedir?
Dikey TAB (vertical TAB).
// karakterinin anlamı nedir?
\ karakterini ekrana yazdırır.
Bir grup sabiti sıralayıp sıra numarası verme eylemini ne yapar.
enum Anahtar Sözcüğü
Mantıksal Değişken Tipleri nelerdir?
• Sıfır ise 'ALSE (Yanlış),
• Sıfırdan farklı ise TRUE (Doğru)
Programlama dilinde değişkenler, yaşam sürelerine göre iki sınıfa ayrılır. Bunlar nelerdir?
• Geçici Depolama (Volatile Storage)
• Kalıcı Depolama (Non-Volatile Storage)