14 MART 2017
SALI
19.09
C++ Giriş

Bilgisayarlar yalnızca bir dili algılamakta ve bu dilde 0 ve 1'lerden oluşmaktadır. Bilgisayara göre bir şey ya vardır ya yoktur, ya evettir ya hayırdır. Bu sebeple bir yazılımcının tasarladığı programlarda 0 ve 1'lerden oluşmaktadır. Fakat günümüzde birçok yazılım dili geliştirilmiştir. Bu diller sayesinde yazım kolaylaşmış ve hata riskleri de ortadan kaldırılmıştır. Elbette geliştirilen bu dillerin arkaplanlarında yine sıfır ve birler bulunur. Bizim dilin standartlarına göre yazdığımız komutlar derleyiciler sayesinde sıfır ve birlere dönüştürülür ve akabinde makine dili olarak adlandırdığımız dili bilgisayarlarımızın algılaması sağlanır.

 

Lakin az önce de belirttiğimiz gibi makine dili ile programlamak oldukça zordur. Zor ve zahmetli bir iş olmasının yanı sıra yapılabilecek hatalarda gözler önüne alındığında ne yazık ki verimli de değildir. Bu sebeple geliştirilen yazılım dilleri kodlamayı kolaylaştırmak ve hata payını düşürmek istemektedir.

Netice de tasarlanan yazılım dilleri sayesinde programlama her ne kadar kolaşlaşsa da bu yazılım dillerini de öğrenmek için belli bir zaman ayırmak ve ilgi göstermek gerekir. Ayrıca yazılım dillerini bilgisayarın algılayabileceği tarza derleyebilmek için ekstra olarak derleyiciler kullanılır. Tam da bu sebeple yazılım dilleri kendine has programlar içermektedir. Bizler C++ eğitimi boyunca tüm bu kodlama ve derleme işlemleri için Dev C++ programını kullanacağız. (Arama motorlarından erişebilirsiniz. Kurulum ve ilk döküman açılışlarını atlıyorum.)

Bir Programın Yapısı

C++, her dilde olduğu gibi bir iskelete sahiptir. Bu iskeleti aşağıdaki gibi özetleyebiliriz;

#include <iostream>
using namespace std;

int main() {
	cout << "Merhaba Dunya!";
}

Yukarıdaki kod yapısını inceleyelim. Kodlarımıza giriş yaparken #include komutu altında kütüphanemizi çağırmış olduk. Bu kütüphanemiz sayesinde programın standart girdi ve çıktı bilgilerini içerebilmesini sağlar ki yapıya genel olarak baktığımızda alt alanda yer alan Merhaba Dunya çıktısını bu kütüphaneyi çağırmadan ne yazık ki ekrana yazdıramayız. Akabinde kullandığımız using namespace std komutu yani standard character output device (standart karakter çıktı cihazı) ile programımıza cout ve cin fonksiyonlarını dahil etmiş oluyoruz. Tüm bunlar dışında genel yapımızı kapsayan bir main adındaki fonksiyonun varlığından da söz edebiliriz. Bu fonksiyon içerisindeki değerler başlangıçta bizi karşılayacak değerlerimizdir. İlerleyen zamanlarda fonksiyonlar yazılı anlatımında bu konuya ekstra olarak değineceğiz.

cin ve cout

Yazılım esnasında en çok kullandığımız ikili bunlar olacaktır. cout sayesinde ekrana bir çıktı verdirebilir ve cin sayesinde kullanıcıdan bir girdi alabiliriz. Bütün yazılımlarımızda bu ikisine muhakkak yer vereceğiz. Burada temel olarak dikkat edilmesi gereken şey << ve >> işaretleridir. cout ile <<, cin ile >> işaretlerinin kullanıldığını kesinlikle unutmamalısınız. Kullanımları hakkında örnekleri aşağıda inceleyebilirsiniz.

int main() {
	int x; // Sonraki konumuzda inceleyeceğiz.
	cout << "Bu yazi ekranda gozukur!"; // Buradaki metin ekranda çıktı olarak gözükecektir.
	cin >> x; // İfade içeriğinden çok cin ve >> kullanımına dikkat edelim.
}

\n ve \t

Programımızda bolca yer vereceğimiz diğer ifadeler ise \n ve \t'dir. Bir satır ardından bir başka satır geldiğinde programa herhangi bir bildiri vermezsek otomatik olarak tüm çıktıları aynı satırda verecektir. Şöyle ki;

int main() {
	cout << "Merhaba Dunya!";
	cout << "C++ Giris Yapiyoruz";
}

olarak belirlediğimiz kod yapımızda ekrana çıktımız şöyle olacaktır;

Merhaba Dunya!C++ Giris Yapiyoruz

Bunun önüne geçmek için \n ifadesini veya endl ifadesini kullanabiliriz. Şimdi bu ikisinin kullanımlarına göz atalım;

int main() {
	cout << "Merhaba Dunya!\n";
	cout << "C++ Giris Yapiyoruz";
}

veya

int main() {
	cout << "Merhaba Dunya!";
	cout << "\nC++ Giris Yapiyoruz";
}

veya

int main() {
	cout << "Merhaba Dunya!";
	cout << endl;
	cout << "C++ Giris Yapiyoruz";
}

kullanabiliriz. Bu ifadeler eklendikleri yerden sonra gelen tüm komutları alt satıra indirmektedir.

Bunun dışında başlıkta belirttiğimiz \t ifadesi ile klavyelerimizde yer alan TAB ifadesi sayesinde bıraktığımız 8 karakterlik boşluğu programın bırakmasını sağlayabiliriz. Örneğe ve çıktısına şöyle bakalım;

int main() {
	cout << "Merhaba Dunya!\t";
	cout << "C++ Giris Yapiyoruz";
}

ve bu örneğe ait çıktı ise şöyle olacaktır;

Merhaba Dunya!        C++ Giris Yapiyoruz

Yorum Satırları

Her dilde, yazılımcının kodları daha iyi tanıtabilmek veya geri dönüş yaptığında hatırlamak amacıyla bıraktığı ufak notlar vardır. Bu notları yorum satırları içerisinde kullanır ki programlar bu satırları pas geçerler. Aşağıda yorum satırına örnek veriyoruz;

/* Bir satırdan daha fazla yazı yazarak
bunları bir yorum satırı içerisine almak
istiyorsanız bu işaretler arasında yazabilirsiniz */

#include <iostream>
using namespace std;

int main() {
	cout << "Merhaba Dunya!\n";
	cout << "C++ Giris Yapiyoruz"; // Bu bir yorum satırıdır.
}

Ayrıca bir programa başlamadan önce programın işlevleri ve yaptığına dair ufak bir açıklama satırı bırakmak amacıyla ilk satırı yukarıdaki örnekte olduğu gibi değerlendirebilirsiniz.

YORUMLAR 3
1
ömer faruk koca
18 MART 2020 - 18.52
hocam bu anlatımlar için çok teşekkür ederim. tam olarak ihtiyacım olan bi rehber olmuş
CEVAPLA
3
Selim Küçükateş
30 HAZİRAN 2019 - 14.52
Merhaba Mert Bey; C++ programlama dilini yeni öğrenmeye başladım. Daha öncelerde farklı bir programlama dili kullanmış olmama rağmen benim için neredeyse tamamen yeni olan C++ program tarzına alışmak zaman alacaktır diye tahmin ediyorum. İnternet üzerinde yapmış olduğum kısa bir aramadan sonra her yönü ile "ben bu işi severek yapıyorum" dedirten bir siteye rastlamak beni çok sevindirdi. Özel vaktinizden ayırıp bu değerli çalışmayı yapmış olmanızdan dolayı size cani gönülden teşekkürü bir borç biliyorum. Yapmış olduğunuz çalışmaya kısa bir göz gezdirdiğimde başlangıç yerinin 7. bölümde olduğunu fark ettim. Bunun özel bir sebebi var mıdır? Dersleri takibetmek isteyen biri bu şekliyle geriye doğru devam etse herhangi bir sıkıntı olurmu? Selametle kalasınız.
CEVAPLA
2
Mert Topuz
02 TEMMUZ 2019 - 21.19
Merhabalar Selim Bey, Öncelikle bu güzel ve değerli yorumu yaptığınız için çok teşekkür ederim. Böyle düşünmenize vesile olabildiysem, ufakta olsa bir katkı sağlayabildiysem ne mutlu bana. Soruya gelecek olursak sitenin genel yapısı blog tarzında olduğu için dersler eklenme tarihine göre son eklenen ilk görüntülenecek şekilde sıralanıyor. Bu sebeple ilerleyiş aslında tam olarak söylediğiniz gibi sondan başa doğru gidiyor. Bu konuda derslerin sıralı bir listesini size mail adresiniz üzerinden ulaştırayım. Kısa bir süre sonra yapacağım güncellemelerle de bu sorunu aşmış olacağım. Tekrar teşekkür ediyorum, çalışmalarınızda başarılar diliyorum.
1
Haktan
12 OCAK 2019 - 23.09
Merhaba Web sitenizi bugün keşfettim. Siteniz oldukça şık ve güzel anlatımlarla da süslemişsiniz. Bir sorum olacak: c++ form application ve linux dersleri de vermeyi düşünüyor musunuz? Bol şans!
CEVAPLA
1
Mert Topuz
12 OCAK 2019 - 23.31
Merhabalar Haktan, Güzel yorumun için teşekkür ederim öncelikle. Form Application anlatımlarına yer verme gibi planlarım var. Fakat bu konuda henüz net bir adım atmış değilim ne yazık ki. Linux ise çok kısa bir süre kullandım. Bu sebeple verebileceğim bilgilerin ne yazık ki çok iyi olacağını düşünmediğim için öyle bir niyetim yok diyebilirim :) Eğer istersen Form Application derslerini hazırlamaya başladığım zaman mail ile seni bilgilendirebilirim.
1
Haktan
13 OCAK 2019 - 10.43
Bu çok güzel olur, teşekkürler. Ayrıca sormak istediğim birkaç soru daha var. Bunları sormak istiyorum. Size nasıl ulaşabilirim (discord,mail vs.)?
0
Mert Topuz
13 OCAK 2019 - 20.10
mmerttpz@gmail.com veya info@merttopuz.com'a mail atarsanız mutlaka dönüş yaparım :)
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et