Bir C++ programının iskeletini satır satır tanı; ekrana yazı yazdır, yorum ekle, derleme hatalarını oku.
Önceki derste çalıştırdığın küçük program, her C++ programının iskeletidir. Şimdi onu parça parça açalım ve biraz daha ilginç bir şey yazdıralım.
Bir programın anatomisi
#include <iostream>
int main() {
std::cout << "Byte Akademi\n";
std::cout << "V = 12 V, R = 4 ohm" << '\n';
return 0;
}
Byte Akademi
V = 12 V, R = 4 ohm
Satırları sırayla inceleyelim:
#include <iostream>: Önişlemciye "giriş-çıkış kütüphanesinin başlık dosyasını buraya yapıştır" der.std::coutbu başlıkta tanımlıdır.#ile başlayan satırlar C++ koduna değil önişlemciye komuttur, bu yüzden sonunda noktalı virgül olmaz.int main(): Programın giriş noktası. İşletim sistemi programı çalıştırınca ilk bu fonksiyonu çağırır. Başındakiint, fonksiyonun bir tamsayı döndüreceğini söyler.{ve}arasındaki bölüm fonksiyonun gövdesidir.std::cout: Standart çıkış akışı, yani ekran.std::öneki, bu ismin "standart kütüphane" isim alanından geldiğini belirtir.<<: Akış operatörü. Sağındaki değeri akışa gönderir. Zincirleme kullanılabilir.return 0;: İşletim sistemine "her şey yolunda" der.main'de bu satırı yazmazsan derleyici senin için ekler; yine de alışkanlık olarak yazmak okumayı kolaylaştırır.
Satır sonu: \n mi std::endl mi?
Alt satıra geçmenin iki yolu vardır. '\n' yalnızca satır sonu karakteri gönderir. std::endl ise hem satır sonu gönderir hem de tamponu boşaltır (flush). Tamponu her seferinde boşaltmak yavaştır; ihtiyaç yoksa '\n' kullan. Tek tırnak bir karakteri, çift tırnak bir metni belirtir; ikisi de çalışır.
using namespace std
Her yerde std:: yazmak yorucu görünebilir ve çoğu başlangıç kitabı using namespace std; satırını önerir. Küçük denemelerde zararsızdır ama büyük projelerde farklı kütüphanelerin aynı isimleri çakışabilir. Bu kursta std:: yazmayı tercih edeceğiz; ne zaman standart kütüphaneden bir şey kullandığını hep görürsün.
Yorum satırları
// Tek satırlık yorum: derleyici bu satırı yok sayar.
/* Birden fazla satıra
yayılan yorum */
int main() {
// Ohm yasası: V = I * R
return 0;
}
İyi yorum "ne yaptığını" değil neden yaptığını anlatır. i++; // i'yi artır gibi satırlar gürültüdür; // ADC 10 bit olduğu için 1023'e bölüyoruz ise değerlidir.
Sık yapılan hatalar
| Hata | Derleyici ne der? |
|---|---|
Satır sonunda ; unutmak | expected ';' before ... |
std:: yazmamak | 'cout' was not declared in this scope |
#include unutmak | 'cout' is not a member of 'std' |
<< yerine >> yazmak | no match for 'operator>>' |
Hata mesajlarını yukarıdan aşağıya değil, en üstten okumaya başla. İlk hata çoğu zaman gerçek sorundur; altındaki onlarca satır onun yan etkisidir. Birini düzeltince tekrar derle.
Kendin dene
- Programı değiştirip kendi adını ve bölümünü iki ayrı satıra yazdır.
- Bir mühendislik formülü yazdır: örneğin
P = V * I. '\n'yerinestd::endlkullan ve çıktının değişmediğini gör.- Bir yorum satırı ekle ve derleyicinin onu yok saydığını doğrula.
// Mini sınav
Bir seçeneğe tıkla; doğru mu yanlış mı, anında ve nedeniyle birlikte göreceksin.
Bitirdiğinde işaretle: ilerlemen kaydolur, +20 XP kazanırsın.
İpucu: ← → tuşlarıyla dersler arasında gezinebilirsin.