Bu yazımızda bir visual studio üzerinde bir proje oluşturup ilk programımızı yazacağız.
Proje oluşturma
- IDE’mizi açıyoruz. Sağ tarafta çeşitli aksiyonlar, sol tarafta daha önce açılmış projeler bulunmakta. Sağ taraftan “Create a new project” tuşuna tıklıyoruz.
- Daha sonra çıkan ekranda “Console App” seçip devam ediyoruz.
- Projemizi bir isim verip oluşturuyoruz.



Hello World
Projemiz oluştuğunda karşımıza aşağıdaki gibi bir ekran gelecek.

- Sağ tarafta proje dosyalarımızın bulunduğu “solution explorer”.
- Sol tarafta metin editörümüz.
- Üstte, menü ve toolbarımız bulunmakta.

toolbarda
- Debug/Release : Hangi modda derleme yapılacağnı belirler. Hata ayıklama için debug; en optimize edilmiş final çıktısı için release ‘i seçiyoruz.
- Diğer iki yeşil üçgen de programımızı çalıştırmamızı sağlar.
Yeşil üçgene tıklayıp programımızı çalıştırdığımızda karşımıza siyah bir konsol ekranı çıkacaktır. Bu ekranda “Hello World!” yazısını göreceğiz. Şimdi kodumuzu incelemeye başlayalım.
Yorum satırları
Yeşil olan tüm satırlar yorum satırıdır.
- Yorum satırları derleyici tarafından dikkate alınmaz. Yani varlığıyla yokluğu bir. Yorum satırlarının temel amacı bizlerin, o noktaya not alabilmemiz. Böylece daha sonra biz ya da bir başkası oraya baktığında notu okuyup durum hakkında bilgi sahibi olabilir.
- // çift slash işaret ile başlayan yorumlar tek satırlık yorumlardır. // işaretinin sol tarafından satırın sonuna kadar yorum kabul edilir.
#include
Yorum satırlarını çıkarılsak elimizde şöyle bir şey kalacaktır.
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}İlk satırdaki #include deyimi ile iostream adındaki bir dosyayı şuanda içinde bulunduğumuz MerhabaDunya.cpp dosyasına tabiri caizse copy-paste yapıyoruz.
iostream üzerine tıklayıp Fn+F12 yaparsak karşımıza bu şekilde bir dosya gelecektir.

- iostream, C++ standard kütüphanesinin bir parçasıdır.
- Konsol ekranından girdi-çıktı almak için kullanılır.
C++ Standard Kütüphanesi, C++ programlama dilinde ve C++ ISO Standard’ıyla yazılmış sınıfların ve fonksiyonların koleksiyonudur.
https://tr.wikipedia.org/wiki/C%2B%2B_Standard_K%C3%BCt%C3%BCphanesi#:~:text=C%2B%2B%20Standard%20K%C3%BCt%C3%BCphanesi%20pek%20%C3%A7ok,s%C4%B1k%20kullan%C4%B1lan%20baz%C4%B1%20fonksiyonlar%20sa%C4%9Flar.
std::cout
cout, iostream kütüphanesinin bir nesnesidir (şuan hiçbir anlam ifade etmediğinin farkındayım ama ilerde bazı konuları işledikten sonra anlaşılacak). Başındaki std ifadesi namespace (isim alanı/uzayı) olup standard kütüphaneye ait olduğunu belirtir.
Namespace’leri marka olarak düşünebilirsiniz. “Bana bir çikolata alır mısın?” desem. “Hangi çikolata?” diye sorarsınız. Compiler da aynısını yapıyor. “Sen burada cout diyorsun da kardeşim. Bu kimin cout’u, ne ifade ediyor? “
Eğer çikolata yerine
ülker::cikolata veya eti::cikolata ya da pelit::cikolata … deseydim neyi istediğimi tam olarak anlatmış olurdum. (Evet, aynı markaya ait onlarca çeşit var fakat üç markanın da “cikolata” isminde bir ürün çıkardığını düşünün)
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
}int main()
- Programımızın ana fonksiyonudur.
- Programımız kodları çalıştırmaya buradan başlar.
Bir~Fonksiyonun~Anatomisi
\\~~\\
\underbrace{int}_{(1)} ~~ \underbrace{main}_{(2)}\underbrace{()}_{(3)}
\underbrace{\{~~~~\}}_{(4)}
\\~~\\
\begin{align*}
&(1)Dönüş~tipi\\
&(2)Adı\\
&(3)Aldığı~parametreler\\
&(4)Gövdesi
\end{align*}
Fonksiyonları makina olarak düşünebilirsiniz. Ufak parçaların bir kutu içinde birleştirilmiş hali gibidir. Makinamızın çeşitli girdi-çıktıları olabilir.
- Dönüş tipi: Fonksiyonun çıktısının hangi türde olacağını belirler. Main fonksiyon için int tipinde bir çıktı verir. int, integer(tamsayı)’nın kısaltmasıdır. Yani bizim main fonksiyonumuz bir tamsayı değerini döndürmesi gerekli.
- Adı: Fonksiyonun adını belirtir.
- Aldığı parametreler: Fonksiyonun girdilerini tanımlıyoruz.
- Gövdesi: Fonksiyona ait kodları kıvrık parantezlerin içine yazıyoruz.
Çıktı almak
\underbrace{std::cout}_{(1)}~\underbrace{<<}_{(2)}~\underbrace{`` Hello ~World!\backslash n "}_{(3)}~\underbrace{;}_{(4)}
\\~~\\
\begin{align*}
&(1) cout~nesnesi \\
&(2) left~shift~operator \\
&(3) string~literal \\
&(4) semicolon
\end{align*}- cout nesnesi: iostream içerisinde bir nesne. Bu nesne sayesinde çıktı alabiliyoruz.
- left shift operator: << şeklinde görünen bir fonksiyon. sol taraftaki cout nesnesine, sağ taraftaki değeri atıyor. Geriye aynı cout nesnesini döndürüyor. Bu sayede zincirleme bir şekilde metinleri, sayıları, … yazdırabiliyoruz.
- string literal: Tırnak içinde gösterdiğimiz metin ifadeleri.
- semicolon: Bildiğimiz noktalı virgül. Her ifadeden sonra noktalı virgül kullanmalıyız. Bu aslında her cümleden sonra nokta kullanmak gibi bir şey. Compiler bu sayede kodumuzu parçalara bölebiliyor.
Özet
Çok fazla detaydan bahsettik. Şuanda bu kadar fazla detayı bilmenize gerek yok. Zamanla yeni konular öğrendikçe geri dönüp aydınlanma yaşabilirsiniz. Şuanlık bilmemiz gereken 3 şey:
- #include ile kütüphane ekleyebiliyoruz.
- main() fonksiyonu programımızın başlangıç noktası
- konsola çıktı almak için cout kullanıyoruz.
#include <iostream> // kutuphaneyi kodumuza ekledik
int main() // ana fonksiyonumuz
{
std::cout << "Merhaba dunya \n"; // konsola cikti aldik
}
Alıştırmalar
1
Konsola aşağıdaki ifadeyi bastıran kodu yazınız:
Merhaba
Dunya2
Konsola aşağıdaki ifadeyi bastıran kodu yazınız:
123 + 321 = 444Çözümler
1
Konsola aşağıdaki ifadeyi bastıran kodu yazınız:
Merhaba
DunyaÇözüm:
#include <iostream>
int main(){
std::cout << "Merhaba\n";
std::cout << "dunya \n";
}2. yol:
#include <iostream>
int main(){
std::cout << "Merhaba\ndunya\n";
}2
Konsola aşağıdaki ifadeyi bastıran kodu yazınız:
123 + 321 = 444Çözüm:
#include <iostream>
int main(){
std::cout << "123 + 321 = 444\n";
}2. yol:
#include <iostream>
int main(){
std::cout << 123 << " + " << 321 << " = " << 444 << "\n";
}Bu yol daha karmaşık olarak gözükse bile genelde bu yolu tercih ederiz. Çünkü burada sayılar yerine sayıları tutan bir değişken koyabiliriz:
#include <iostream>
int main(){
int a = 123;
int b = 321;
int c = a + b;
std::cout << a << " + " << b << " = " << c << "\n";
}gibi.
Deneme Zamanı
- \n nedir?
- \n yerine ne kullanabiliriz?


Leave a Reply