Skip to content

C++ Ders 2: Değişkenler ve Veri Türleri

Merhaba arkadaşlar,

Önceki dersimizde “Merhaba Dünya” uygulamasını yazdık beraber. Fakat bununla beraber aklınızda bir soru oluştur. Sadece ekrana “Merhaba Dünya” yazdırmak için satırlarca kod yazdık, bunu derledik ve sonra çalıştırdık. Halbuki bunu elinizle 5 saniyede yazabilirdiniz. Fakat programlama sadece bununla sınırlı değil. İyi bir program yazdığınızda bir çok işinizi daha rahat, güvenilir ve hızlı bir şekilde gerçekleştirebilirsiniz. Fakat iyi bir program yazmadan önce değişkenler hakkında bilgi sahibi olmalısınız.

Şimdi aklınızda 5 sayısını tutun, daha sonra 2 sayısını da tutun. Şu anda hafızanızda iki farklı sayı var Şimdi sizden ilk tuttuğunuz sayıya 1 eklemenizi istiyorum. Daha sonra aklınızdaki sayılar 6(5+1) ve 2 olacaktır. Şimdi ise bu değerleri birbirinden çıkarın ve sonuç olarak 4’ü elde edin.

Siz bu işlemleri tamamen aklınızdan yaptınız. Aynı işlemler C++ ile aşağıdaki gibi yapılabilirdi:

a = 5;
b = 2;
a = a + 1;
sonuc = a - b;

Açıkca gördüğünüz gibi çok basit bir işlemdi, çünkü çok basit iki sayı kullandık. Fakat düşünün ki bilgisayarınız milyonlarca sayıyı aklında tutuyor ve bunların hepsiyle birden matematiksel işlemler yapabiliyor.

Kesin elde edilmiş bir değer bir değişkene atayarak bunu hafızanın bir kısmında saklayabiliriz.

Her değişken bir tanımlayıcıya ihtiyaç duyar, diğer değişkenlerden ayırt edilmek için. Örneğin, önceki kodda değişken tanımlayıcılarımız a,b ve sonuc’du. Bu değişkenleri istediğimiz şekilde daha uzun biçimlerde tanımlayabilirdik. Fakat değişken tanımlayıcılarınında bir kuralları var. Şimdi onlara biraz göz atalım.

Tanımlayıcılar
Doğru bir tanımlayıcı bir veya daha fazla harf, rakam veya alttan tire(_) karakterini içerir. Boşluk veya diğer noktalama işaretleri tanımlayıcının bir parçası olamaz. Sadece harfler, rakamlar ve alttan tire geçerli karakterlerdendir. Ayrıca değişken tanımlayıcıları her zaman harf ile başlamak zorundadırlar. Ayrıca alttan tire(_) ile de başlayabilirler fakat bu tanımlamalarda değişken derleyici programın bir değişkeni ile çakışabilir bu nedenle alttan tire ile başlayarak değişken tanımlamak pek önerilmemektedir. Hiç bir şekilde rakamla başlayamaz.

Ayrıca dikkat etmeniz gereken bir kural daha var ki hep dikkatlerden kaçar. Derleyicinin veya C++’ın kendi tanımlayıcılarını kullanmamaya dikkat edin. Bunlar zaten kullanılmış tanımlayıcılardır. Bu tanımlayıcılar:
asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq

Çok Önemli: C++ harf duyarlı bir dildir. Bu küçük harflerle yazılmış bir değişken tanımlayıcınız büyük harflerle yazılmış olandan farklıdır. Önceki örnekte sonuc ile bize 4 sonucunu verecekken Sesult ile bize herhangi bir sonuç vermez çünkü böyle bir değişken tanımlı değil.

Temel veri türlü
Programla yaparken bazı değişkenleri bilgisayarın hafızasında saklamamız gerekebilir ve bilgisayar bizim ne tür bir veriyi saklamak istediğimizi öğrenmelidir ki hafızasında ona göre bir yer açsın. Çünkü, basit bir rakamın veya bir harfin veya büyük bir sayının hafızada tutacağı yerler çok farklıdır.

Aşağıdaki tabloda C++’da yer alan temel veri türleri ve bunların aralıklarını göreceksiniz:

Ad Açıklama Boyut Aralık
char Karakter veya küçük tamsayı 1byte işaretli: -128 de 127 ye
işaretsiz: 0 dan 255 e
short int (short) Kısa tamsayı 2bytes işaretli: -32768 de 32767 ye
işaretsiz: 0 dan 65535 e
int Tamsayı 4bytes işaretli: -2147483648 den 2147483647 ye
işaretsiz: 0 dan 4294967295 e
long int (long) Uzun tamsayı 4bytes işaretli: -2147483648 den 2147483647 ye
işaretsiz: 0 dan 4294967295 e
bool Boolean – Bu sadece TRUE veya FALSE olabilir 1byte true veya false
float Ondalıklı sayılar 4bytes +/- 3.4e +/- 38 (~7 basamak)
double Hassas ondalıklı sayılar 8bytes +/- 1.7e +/- 308 (~15 basamak)
long double Uzun hassas ondalıklı sayılar 8bytes +/- 1.7e +/- 308 (~15 karakter)
wchar_t Geniş karakter 2 veya 4 bytes 1 geniş karakter

Değişlerin tanımlanması
C++’da değişken kullanmak istiyorsak öncelikle bu değişkenin türünü tanımlamamız gerekmektedir. Örnek:

int a;
float ondaliklisayi;

Bunlar iki tane geçerli değişken tanımlamasıdır. İlk a tanımlayıcısı ile bir tamsayı değişkeni tanımlamaktadır. İkincisi ise ondaliklisayi tanımlayıcısı ile bir rasyonel tamsayı değişkeni tanımlamaktadır.

Aynı türde birden fazla değişken tanımlamak isterseniz değişken türünü yazdıktan sonra diğer değişken adlarını virgülle ayırarak aynı satırda tanımlamayı yapabilirsiniz.

int a, b, c;

Bu şekilde a, b ve c değişkenlerinin birer tamsayı olduğunu tanımladınız. Aşağıdaki çalışma şekliyle aynı şekilde çalışır:

int a;
int b;
int c;

Tamsayı değişkenlerde işaretli ve işaretsizin anlamını merak edenler vardır. Yukarıdaki tabloda anlaşılmamış olabilir. İşaretli dediğimiz türlerde tanımlanan değişkenler negatif(eksi) değerler alabilir. Eğer veri türünü belirlerken işaretli veya işaretsiz olduğunuz belirlemezsek bir çok derleyici program varsayılan olarak işaretli olarak kabul eder ve o şekilde işleme sokar belirlediğini veri türünü.

shot int ve long int veri türleri yerine daha kısa olması amacıyla sadece short ve long kullanabilirsiniz:

short Yil;
short int Yil;

Şimdi değişken tanımlama bir program yazılırken nasıl görünüyormuş bir bakalım:

// değişkenlerle işlemler
#include <iostream>
using namespace std;

int main ()
{
 // değişkenleri tanımlama
 int a, b;
 int sonuc;

// islemler:
 a = 5;
 b = 2;
 a = a + 1;
 sonuc= a - b;

// sonuc'u ekrana basalım:
 cout << sonuc;

// programı sonlandıralım;
 return 0;
}

Değişkenlerin tanımlanması
Değişkenleri biraz daha farklı biçimlerde tanımlayabiliriz. Bir değişkeni tanımladığımız onun herhangi bir değerli olmaz. Fakat değişkeni tanımladığınız anda ona bir de değer vermek isteyebilirsiniz. C++’da bunu yapabilmeniz için iki yöntem var:

tur tanimlayici = deger; buna örnek olarak int a = 0; veya
tur tanimlayici(deger); buna örnek olaraksa int a(0); verilebilir. Şimdi bunlarla ilgili bir örnek verelim hemen:

#include <iostream>
using namespace std;

int main ()
{
 int a=5; // değer = 5
 int b(2); // değer = 2
 int sonuc; // değer tanımlanmamış

a = a + 3;
 sonuc= a - b;
 cout << sonuc;

return 0;
}

6

Katarlara giriş
Değişkenler nümerik olmayan verileri de saklayabilirler ki bunlar katar olarak tanımlanan bir birden fazla alfanümerik karakterin yanyana gelmesiyle oluşmuş dizelerdir. Hemen basit bir örnek yapalım:

#include <iostream>
#include <string>
using namespace std;

int main ()
{
 string katar = "ilk cümlem";
 cout << katar;
 return 0;
}

ilk cümlem

Değişkenler ve veri türleri ile benim anlatacaklarım bu kadar. Saat sabah 6:10. Bu nedenle hatalarım olabilir. Lütfen kusuruma bakmayın.
Umarım faydalı olur, kolay gelsin

TR Kodlama GitHub'da!

TR Kodlama'da yer alan makaleleri GitHub üzerinden düzenleyebileceğinizi biliyor muyudunuz? Harika değil mi? Bu makale ile ilgili düzenleme yapmak isterseniz aşağıdaki butona tıklayınız!

GitHub'da Görüntüle ve Düzenle!