c++ giriş ders 1 msgsu fizik bölümü ferhat Özok...

25
Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Giriş Ders 1 C++ Giriş Ders 1 MSGSU Fizik Bölümü MSGSU Fizik Bölümü Ferhat ÖZOK Ferhat ÖZOK C++ Nedir ? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama dilini öğrenmek gereklimidir? Hayır, C++ basit ve açık bir dildir. Nesneye yönelik programlama nedir? Her program bileşeninin bir nesneden oluştuğunu göz önüne alan bir dildir.

Upload: others

Post on 16-May-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

Kullanılacak kaynak:http://www.cplusplus.com/doc/tutorial/Published by Juan Soulié

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

➔ C++ Nedir ?Arttırılmış C demektir ve C diliningeliştirilmiş halini yansıtır.

➔ C++ öğrenmeden önce herhangi birprogramlama dilini öğrenmek gereklimidir?Hayır, C++ basit ve açık bir dildir.

➔ Nesneye yönelik programlama nedir?Her program bileşeninin bir nesnedenoluştuğunu göz önüne alan bir dildir.

Page 2: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

➔ NEDEN C++ ? OOP (Object Oriented Programming- Nesneye yönelik programlama) Portatiflik Kısalık ve özlük Modülerlik Uyumluluk Hız

Fizikte birçok araştırma alanında C++ tabanlı programlar kullanılmaktadır

➢ GEANT4http://geant4.web.cern.ch/geant4/➢ ROOThttp://root.cern.ch/

Page 3: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Bir programlama dilini öğrenmenin en iyi yolubir program yazarak öğrenmeye başlamaktır.ilk programımız: Ders01-01.cpp

// C++ ile ilk programım#include <iostream>using namespace std;int main (){ cout << “Selam dünya!"<<endl;return 0;}

Page 4: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Bir programlama dilini öğrenmenin en iyi yolubir program yazarak öğrenmeye başlamaktır.Ilk programımız: Ders01-01.cpp

// C++ ile ilk programım#include <iostream>using namespace std;int main (){ cout << “Selam dünya!"<<endl;return 0;}

Page 5: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

➔ // C++ ile ilk programım(//) işaretlerinin sağındaki hiç birşey derleyicitarafından gözönüne alınmaz

➔ #include <iostream>(#) işareti ile başlayan satırlar ön-işlemci(derleyici) için yönlendirmedir.

➔ using namespace std;➔ C++ kütühanesinin tüm standart elemanlarının bildirimi➔ int main ()

Ana fonksiyonun tanımlandığı satır

Page 6: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

➔ {➔ cout << “Selam dünya!";

C++ söylem satırı. Bu satır (;) işareti ilesonlandırılıyor. “cout <<“ C++ standat çıkış

➔ return 0;return, Ana fonksiyonu sonlandırır.

➔ }

int main (){ cout << “Selam dünya!";return 0;}int main (){ cout << “Selam dünya!“ ; return 0 ; }

Page 7: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Derleme işlemi:g++ program.cpp -o calistirilabilir_dosya_adıg++ program.cpp -o calistirilabilir_dosya_adı

Windows içinWindows içinhttp://www.bloodshed.net/dev/devcpp.html

Page 8: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK/* C++ ile ilk programim */// C++ ile ilk programim#include <iostream>using namespace std;int main (){cout << "Hello World!";getchar();return 0;}

Ders01-01.cpp:Ders01-01.cpp:// Ikinci C++ programim#include <iostream>using namespace std;int main (){cout << “Selam Dünya! ";cout << “Ben bir C++ programiyim";return 0;}

Eğer using namespace std; std::cout kullanılmalı

cout bildirimi iostreamdosyasında yapılır

Page 9: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK/* C++ ile ilk programim */// C++ ile ilk programim#include <iostream>using namespace std;int main (){cout << "Hello World!";getchar();return 0;}

Ders01-01.cpp:Ders01-01.cpp:// Ikinci C++ programim#include <iostream>using namespace std;int main (){cout << “Selam Dünya! ";cout << “Ben bir C++ programiyim";return 0;}

Eğer using namespace std; std::cout kullanılmalı

cout bildirimi iostreamdosyasında yapılır

Page 10: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

/* Ikinci C++ programimbiraz daha açiklamali */#include <iostream>using namespace std;int main () {cout << "Selam Dunya! “;// Selam Dunya!// yazimi yapiliyorcout << "Ben bir C++ programiyim”;// Ben bir C++//programiyim yazimi//getchar(); windows icn kullanılan bir fonksiyonreturn 0;}

Page 11: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Değişkenler ve Data Türleri:Değişkenler ve Data Türleri:

➔ Aklınızın bir köşesinde (belleğinizde) “5” sayısını tutun a = 5;➔ Aynı anda “2” sayısınıda tutun b = 2;➔ İlk tutuğunuz sayının üzerine “1” ekleyin a = a + 1;➔ 1.bellek adresindeki değerden 2.bellek adresindeki değeri çıkartın ve sonucu

aklınızda tutun sonuc = a – b;

Bu süreç C++ ile nasıl yazılabilir ?

Page 12: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Tanımlayıcılar (Identifiers )Tanımlayıcılar (Identifiers )

➔ Bir veya birden fazla karaktere sahip olabilirler ve tanımlayıcının boyu üzerine kısıtlama yoktur.

➔ Sadece alfabetik harfler, rakamlar ve ( _ ) geçerlidir. (ASCI karakter seti)➔ Tanımlayıcının ilk karakteri alfabetik olmakzorundadır. Bir tanımlayıcı hiç bir zaman “rakam”

ile başlayamaz !➔ Tanımlayıcılar küçük/büyük harf farklarına duyarlıdır C/C++’da küçük ve BÜYÜK harfler farklı

yorumlanır.

➔ C/C++ anahtar sözcükleri tanımlayıcı olarak kullanılamaz

asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double,dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long,mutable, namespace, new, operator, private, protected, public, register,reinterpret_cast, return, short,signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid,typename, union, unsigned, using, virtual, void, volatile, wchar_t, whil

Page 13: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Temel Data TürleriTemel Data Türleri

Page 14: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

DEĞİŞKENLERİN BİLDİRİMİDeğişkenleri C++ da kullanabilmemiz için onların hangi data türünde olduğunun bildirilmesi gerekir.

Page 15: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Tam sayı (Tam sayı (integerinteger) data türleri, temsil edilecek sayının büyüklüğüne göre, ) data türleri, temsil edilecek sayının büyüklüğüne göre, char, char, short, long short, long ve işaretli (ve işaretli (signedsigned) veya işaretsiz () veya işaretsiz (unsignedunsigned) olabilir.) olabilir.

unsigned short int KayitliOgrenciSayisi;signed int BenimBankaHesabim ;

unsigned bildirimi yapılmazsa değişkenin signed olduğu varsayılırInt BenimBankaHesabim ;

Bir değişken genel (global) veya yerel (local) görünümlü olabilir.Bir değişken genel (global) veya yerel (local) görünümlü olabilir.

Page 16: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 17: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Değişkenlerin ilklendirilmesi /Değişkenlerin ilklendirilmesi /Başlangıç değerleri atanmasıBaşlangıç değerleri atanması

Bildirimi yapılan bir yerel değişkenin ilk değeri belirsizdir. Bir değişken bildirimi yapıldığında değişkene bir başlangıç değeri verilmesi istenebilir.

Page 18: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

SAYI SİSTEMLERİSAYI SİSTEMLERİ

Bit : biBit : binarynary digidigit Byte : 8 bitt Byte : 8 bit

Page 19: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 20: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 21: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 22: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 23: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 24: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK

Page 25: C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK ...fiziklab.msgsu.edu.tr/sorular/calisma_2_sf_0.pdf · C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Tanımlayıcılar

C++ Giriş Ders 1C++ Giriş Ders 1MSGSU Fizik BölümüMSGSU Fizik Bölümü

Ferhat ÖZOKFerhat ÖZOK