✏️ C++ Syntax

Bu derste C++ dilinin yazım kurallarını (syntax) göreceğiz.

Her programlama dilinde olduğu gibi C++ da kendine has kod yazım kurallarına sahiptir. Kod yazmaya başlamadan önce bu kuralları öğrenmeniz gerektiğinden bu derste C++ Sytnax konusunu işliyoruz.

1. Temel Kavramlar

C++ programlama dilinde temel kavramların anlamlarını öğrenerek başlayalım.

  • Nesne (Object): Nesneler durumlar ve davranışlara sahip olan varlıklardır. Örn: Personel bir nesne olabilir. Yaşı ve Cinsiyeti vardır. Belirli bir görevi yapar.

  • Sınıf (Class): Nesnelerin durum ve davranışlarını bir şablonda belirtmek için kullanılan nesneden bağımsız soyut yapılardır. Nesneler bu şablonlardan örneklenir.

  • Method: Temel olarak bir davranışı ifade eder. Bir sınıf bir çok methodu içerebilir. Verilerin işlendiği ve tüm eylemlerin yürütüldüğü bölümlerdir.

  • Özellikler (Instance Variables): Her nesne kendine özgü niteliklere sahiptir. Nesnelere ait durumlar tanımlanan bu niteliklerde tutulmaktadır.

2. C++ Program Yapısı

Her programlama dilinde olduğu gibi "Merhaba Dünya" ile dilin yapısını inceleyelim.

#include <iostream>
using namespace std;
// main() main programı çalıştıran ana metotdur.
int main() {
cout << "Merhaba Dünya"; //Ekrana merhaba dunya yazdırılır
return 0;
}

# ifadesi ile başlayan ifadeler C++’da önişlemci olarak bilinir. #include ile C++ için gerekli olan kütüphane bilgileri tanımlanır ve programa dahil edilir. <iostream> kütüphanesi temel işlemler için gerekli bir kütüphanedir.

using namespace std; (std değiştirilebilir) Nesne yönelimli programlama için Namespace tanımlaması yapmak için kullanılır. İsteğe bağlıdır. Yukarıda tanımlanmazsa kullanılan method ile tanımlanır.

main() program çalıştırmanın başladığı yerdir. Her C ++ programının main() olarak bilinen bir yöntemi olması gerekir. Bilgisayarınızdaki programın yürütülmesine başladığınızda uygulamanın giriş noktası olarak anılır. int kısmı yöntemin dönüş türüdür. Fonksiyon adından sonraki boş parantezler (), bunun bir fonksiyon olduğunu ve herhangi bir bağımsız değişken gerektirmediğini, başka bir deyişle, değerleri iletmek için hiçbir parametrenin olmadığını gösterir.

Ayrıca tek satırlık yorumlar // ile başlar ve satırın sonunda durur.

Sonraki satır cout << “Merhaba Dünya”; Ekranda Merhaba Dünya yazısını göstermek için kullanılır. Özetle ekrana cout << ile çıktılarınızı verebilirsiniz.

Son olarak da return 0; programı sonlandırmak için dönüş değeri 0 girilip sonlandırılır.

2. C++ Derleme ve Çalıştırma

C++ editörünüz ile yazdığınız kodları çalıştırabilmek için dosya uzantısını .cpp olarak kaydediniz. (Örn: test.cpp)

Bir komut istemi açın ve dosyayı kaydettiğiniz dizine gidin. Bunun için bulunduğunuz dizindeki pencerenin adres yerine cmd yazarak enterlayabilir veya direkt cmd üzerinden cd komutuyla ilgili dizine gidebilirsiniz. (Örn: cd Desktop)

Artık komut satırına aşağıdaki kodları yazarak programınızı derleyebilir ve aynı dizinde oluşacak olan .exe uzantılı dosyanız ile programınızı çalıştırabilirsiniz.

g++ test.cpp -o test.exe

3. Noktalı Virgüller ve Bloklar

C++ da ifadeler noktalı virgülle sonlandırılır. Yazılan her satırın sonuna noktalı virgül koymak gerekir.

a=10;
b=a;
kareAl(5);

Bloklar, süslü parantezler ile gösterilir ve mantıksal olarak kümelenmiş ifadeleri göstermek için kullanılır.

{
cout << "Merhaba Dunya";
return 0;
}

4. C++ Tanımlayıcılar

Bir C ++ tanımlayıcısı; bir değişken, işlev, sınıf, modül veya herhangi bir kullanıcı tanımlı ögeyi tanımlamak için kullanılan bir addır. Bir tanımlayıcı;

  • A’dan Z’ye veya a’dan z’ye Türkçe karakter olmayan harflerden,

  • Alt çizgi (_)

  • Sayılardan

oluşabilir.

C++, tanımlayıcılarda @, % gibi noktalama karakterlerine ve tanımlayıcı adının sayı ile başlamasına izin vermez. Ayrıca tanımlayıcı büyük küçük harf duyarlıdır. sayi1 ile Sayi1, SAYI1 tanımlamaları aynı değildir.

Örnek değişkenler;

  • Sayi1

  • _ad

  • ornek

  • Toplam

  • say10

5. C++ Anahtar Kelimeler

Aşağıdaki anahtar kelimeler C++ tarafından rezerve edilmiştir. C++’da tanımlayıcı yazarken bu anahtar kelimeler kullanılamaz.

asm

else

new

this

auto

enum

operator

throw

bool

explicit

private

true

break

export

protected

try

case

extern

public

typedef

catch

false

register

typeid

char

float

reinterpret_cast

typename

class

for

return

union

const

friend

short

unsigned

const_cast

goto

signed

using

continue

if

sizeof

virtual

default

inline

static

void

delete

int

static_cast

volatile

do

long

struct

wchar_t

double

mutable

switch

while

dynamic_cast

namespace

template