Temel C++ 1. Gün: Veri Tipleri, Kontrol Yapıları, Diziler
Daha önce, programlama dünyasına iki bölümlük bir teorik giriş yapmıştık. Şimdi ise C++’ın ilk yazısıyla temel dil serilerine başlayacağız.
IDE Seçimi
Yeni bir dil veya teknolojiyle çalışacağınız zaman genellikle ilk önce geliştirme ortamını oluşturursunuz. Biz de öğrenmeye C++ dili için kullanabileceğimiz bir IDE seçmekle başlayalım.
C++ dili için IDE örnekleri:
- Kdevelop
- Microsoft Visual Studio
- Anjuta
- Code::Blocks
- Eclipse CDT
- CodeLite
- NetBeans C++
- JetBrains CLion
Yukarıdaki örneklerin yanı sıra, öğrenme amaçlı olan web tabanlı derleyiciler de mevcut fakat bir IDE ile çalışmaya bir an önce alışmak için yukarıdaki örneklerden birini seçmek daha doğru olur.
Açık kaynaklı ve ücretsiz olmasının yanı sıra şu anlık sadece C++ diliyle uğraşacağımız için CodeLite‘ı kullanmayı tercih edebilirsiniz. Diğer bir ücretsiz seçenek ise Code::Blocks.
CodeLite’ı aşağıdaki adresten indirebilirsiniz:
download.codelite.org
Code::Blocks’u aşağıdaki adresten indirebilirsiniz:
codeblocks.org/downloads/26
CodeLite’ı kurduktan sonra çeşitli ayarlar yapmanız istenecek. Bunlardan en önemlisi derleyici seçimi. scan seçeneği ile bilgisayarınızda hali hazırda uygun bir derleyici olup olmadığını tarar. Eğer bilgisayarınızda bir derleyici yoksa install seçeneğini seçip derleyiciyi kurabilirsiniz. Eğer bu tip ayarlarla uğraşmak istemiyorsanız Code::Blocks’u tercih edin. Kendisi tüm gerekli kurulumları yapıyor. Daha detaylı bilgileri/anlatımları google veya youtube üzerinden bulabilirsiniz.
IDE seçimi de yapıldığına göre C++’a giriş yapabiliriz. Bundan sonraki tüm anlatımlarım tamamen kod tabanlı olacak. Eğer daha önceden başka bir programlama dili ile uğraştıysanız daha şanslısınız, yabancılık çekmeyeceksiniz.
Giriş
İlk teori yazımızdaki örneğimize geri dönelim:
1 |
|
Örneğimizin ilk satırında #include
komutunu kullanarak standart kütüphanelerden iostream
‘i programımıza dahil ediyoruz. Bu kütüphane bizim cout
komutunu kullanmamızı sağlıyor.
İkinci satırdaysa using namespace
komutuyla kodlarımızda, ekrana yazmak, kullanıcı girişi almak gibi durumlarda kullanacağımız cin
ve cout
gibi komutlarda sürekli std::
ön ekini kullanmaktan kurtuluyoruz. Eğer bunu yazmasaydık main
fonksiyonu içindeki ilk satırımız şöyle olmalıydı:
std::cout << "Merhaba!" << std::endl;
Örneğimizin ilk iki satırı standart olarak programımızda olacağı için ne işe yaradıklarını bilmemiz gerek. Bundan sonraki ek örnekler haricindeki tüm anlatımımız tek bir kaynak kod üzerinden gidecek.
Değişken Tanımlama
Değişkenler global ve lokal olmak üzere genellikle iki şekilde tanımlanabilir. Global değişkenler fonksiyonların dışında tanımlanır ve programın her yerinde kullanılabilir. Lokal değişkenler ise fonksiyonların içinde tanımlanır ve sadece tanımlandığı fonksiyonun içinde kullanılabilir.
1 |
|
Yukarıdaki örnekte //
ile başlayan satırlar açıklama/yorum satırlarıdır ve iki tip kullanımı vardır.
Yorum kullanımı:
1 | // Tek satır yorum |
Önceki örnekte gözüktüğü gibi değişkenler VeriTipi DeğişkenAdı
olacak şekilde tanımlanır ve bunun çeşitli kuralları vardır. Bu kurallar hemen hemen tüm dillerde geçerlidir. Bunlar:
- Değişken isimlerinde boşluk kullanılamaz.
- Değişken isimleri sayı veya özel karakter ile başlayamaz.
- Programlama dili tarafından kullanılan anahtar kelimeler değişken ismi olarak kullanılamaz.
- Değişken isimleri !, ?, {, ] gibi karakterler içeremezler.
- C++ harf duyarlıdır. Yani abc ve ABC farklı olarak algılanır.
- Türkçe karakter kullanılamaz.
Belli başlı değişken tanımlama kuralları bunlardır. Derleyicilere göre ufak değişiklikler gösterebilirler.
Veri Tipleri
Değişkenler ve sonraki bölümde göreceğimiz fonksiyonlar veri tipleriyle tanımlanırlar. Bu veri tipleri değişken tanımlama için kullanılıyorsa değişkenin saklayacağı verinin tipini, fonksiyon tanımlama için kullanılıyorsa fonksiyonun çağrıldığı yere döndüreceği verinin tipini belirtir.
Belli başlı veri tipleri şunlardır ve çoğu dilde ortaktır;
Veri Tipi | Hafıza Boyutu | Açıklaması |
---|---|---|
char | 1 | karakter |
short | 2 | 16 bit uzunluğunda tamsayı |
long | 4 | 32 bit uzunluğunda tamsayı |
int | 4 | tamsayı |
float | 4 | ondalıklı sayı |
double | 8 | duyarlıklı ondalıklı sayı |
bool | 1 | doğru veya yanlış |
Örnek Tanımlamalar:
1 | float pi = 3.14; |
Aritmetik Operatörler
Aritmetik işlemleri yapmakta kullanılan basit operatörlerdir. *(çarpma) ve /(bölme) işlemleri +(toplama) ve -(çıkarma) işlemlerine göre daha önceliklidirler. Uzun işlemlerde işlem sırasını kontrol edebilmek için ( ve ) kullanılır. Bu parantezler içinde yazılan işlemler daha önceliklidir.
Operatör kullanım örnekleri:
1 | // aritmetik operatorler: +, -, *, /, %, ++, --, +=, -= |
çift + ve çift - kullanımı:
1 | int sayi = 5; |
+= kullanımı: a = a + b
yerine a += b
-= kullanımı: a = a - b
yerine a -= b
Kontrol Yapıları
If-else ve Switch-case olarak adlandırılan iki yaygın türü vardır.
If-else örnek:
1 | int yas = 21; |
Bu yapıda dikkat edilecek yer yas < 18
kontrolü. Kullanılabilecek çeşitli mantıksal operatörler:
Operatör | Görevi |
---|---|
< | küçükse |
<= | küçük veya eşitse |
> | büyükse |
>= | büyük veya eşitse |
!= | eşit değilse |
== | eşitse |
&& | ve |
çift çizgi | veya |
Switch-case örnek:
1 | switch(yas) // yas degiskenine gore |
Diziler
Dizileri birden fazla değer taşıyan değişkenler gibi düşünebilirsiniz. Tek boyutlu ve çok boyutlu olmak üzere ikiye ayrılırlar. Şöyle tanımlanırlar:veriTipi diziAdi[1. Boyut Eleman Sayısı][2. Boyut Eleman Sayısı][n. Boyut Eleman Sayısı]
Genel olarak tek ve çift boyutlu diziler ihtiyaçları karşılar.
Çok boyutlu dizi gösterimi:
Tek boyutlu dizileri yukarıdaki tablonun ilk sütunu olarak düşünebilirsiniz.
Tanımlama örneği:
1 | // DIZILER |
Yukarıdaki örneğe göre eleman değerleri:
1 | // DIZILER |
İlk bölümden bu kadar. Anlamadığınız yerler hakkında detaylı bilgiyi google ve youtube üzerinden bulabilirsiniz.
İkinci bölümde döngülerle, metin veri tipi ve vektörler ile ilgileneceğiz.
Sonraki Bölüm: Döngüler, Metinler, Vektörler:
Temel C++ - 2. Gün: Döngüler, Metinler, Vektörler