cplusplusdersi_2_temelleri
DESCRIPTION
C++TRANSCRIPT
-
Blm 2: C++ Dilinin Temelleri
C++ Dersi:Programlamaya Giri
Ramazan YAAR
-
erik
Giri
kt Yazdrma cout
Girdi Alma cin
Deiken Tanm
Veri Tipleri
sim Sabitleri
Atama Komutu
2
-
Giri
C++ ile yazlm bir program, bir veya birden fazla fonksiyondan oluur.
Fonksiyonlar bir grevi yapan komutlar grubudur.
Her C++ program mutlaka main() fonksiyonu iermelidir nk programn altrlmas bu fonksiyon ile balar.
Yazdmz her komut, noktal virgl (;) ile sonlandrlmaldr.
3
-
lk Programmz
#include using namespace std;// lk programmzint main(){
cout
-
5#include
Girdi/kt komutlarn ieren hazr ktphanelere eriimi salar.
Bu ktphanede bulunan fonksiyonlar kullanlarak, kullancdan veri okunabilir ve sonular ekrana yazdrlabilir.
-
6using namespace std;
Bu komut, programa dahil edilen ktphaneleri ayrt etmek iin kullanlmaktadr.
// lk programmz
Aklama satr (comment)
Aklama satrlar programn akn etkilemez ve sadece program hakknda bilgi vermek iin kullanlr.
Aklama satr yazmak iin /* */ iaretleri de
kullanlabilir. rn. /* lk programmz */
-
int main(){ ...}
7
main() bir fonksiyondur
int tamsay (integer) tipinde bir deer dndrr.
Her fonksiyonun ba ve sonu { } ayralar ile belirtilir.
- cout
-
return 0;
main() fonksiyonunu bitirir.
Programn baarl bir ekilde bittiini gsteren 0 deerini iletim sistemine dndrr.
ANSI/ISO C++ standardna gre bu komutu yazmamz art deildir.
9
-
kt Yazdrma - cout Standart kt nesnesi olan cout,
ktphanesinde bir veri yolu nesnesi (stream object) olarak tanmlanmtr.
Buradaki veri yolunu, kt ekran ile program arasnda bir yol olarak dnebiliriz. Bu yola aktarlan her veri kt ekranna yanstlacaktr.
cout nesnesini takip eden
-
#include
using namespace std;
int main()
{
cout
-
#include
using namespace std;
int main()
{
cout
-
#include
using namespace std;
int main()
{
cout
-
Girdi Alma - cin
14
Standart girdi nesnesi olan cin, cout gibi ktphanesinde bir veri yolu nesnesi olarak tanmlanmtr.
cinden sonra yazdmz >> operatr ise veri yolu elde etme (stream extraction) operatr olarak adlandrlr.
Bu operatrn sa tarafna yazlan deiken veya deikenlerin iine, kullanc tarafndan girilen veriler okunur.
-
15
#include
using namespace std;
int main()
{
int yil;
cout >yil;
cout
-
16
Bir programda verileri bellekte tutmak, saklanan verileri ilemlerde kullanmak iin bellek hcreleri kullanlr.
Bu bellek hcrelerinde saklanan veriler deiebilecei iin bellek hcrelerine verilen isimlere deiken(variable) ad verilir.
rnek: int yil;
Bu komutla yil adl deikeni int (tamsay) tipinde tanmlam oluyoruz.
-
cin >> yil;
17
Bu komut yil deikenine kullanc tarafndan klavye kullanarak girilen tamsay deerini atar.
cin>>isim>>yil;
Bu komut ile hem isim hem de yil deikenlerine kullancdan veri okunacaktr.
-
Deiken Tanm
18
Deiken isimleri anlaml ve C++ dilinde kullanlan anahtar szcklerden farkl olmal ve aadaki kurallara uygun bir ekilde seilmelidir: lk harf alfabetik (a-z, A-Z) veya alt izgi ( _ ) karakteri olmaldr. Dier harfler a-z, A-Z, 0-9 veya _ karakterleri olabilir. Byk harf/kk harf ayrm vardr (numara, Numara, NUMARA birbirlerinden farkl deikenlerdir).
-
19
Deiken ismi Geerli/Geersiz
Aklama
hangiGun Geerli
2sayi Geersiz rakam ile balanmaz.
Mart2001 Geerli
_sinif_mevcudu Geerli
sinif# Geersiz # gibi zel karakterler kullanlamaz.
-
VeriTipi deiskensmi;
20
rnek: int x;
Bu durumda bellekte x iin int (tamsay) boyutunda bir yer alr.
rnek: int x=10;
x deikenini tanmladktan sonraxin bellek hcresine 10 deeriatanr.
Deer
x
Adres
999997
999998
999999
1000000
0
0
0
00
0
0
............
............
1000001
1000002
BELLEK
10
Bellek Hcresi
-
C++ dilinde deikenler, programn
farkl blmlerinde tanmlanabilir.
#include using namespace std;int main(){
int x=2;cout
-
Veri Tipleri
22
Veri Tipi Aklama Bayt Aralk
short Ksa tamsay 2 bayt -32768 32768
int Tamsay 4 bayt -2,147,483,648 +2,147,483,647
long Uzun tamsay 4 bayt -2,147,483,648 +2,147,483,647
unsigned int
aretsiz tamsay 4 bayt 0 4,294,967,295
float Reel say 4 bayt -3.4x10-38 3.4x1038
double ift duyarl reel say 8 bayt -1.7x10-308 1.7x10308
long double Uzun ift duyarl reel say
10 bayt -3.4x10-4932 1.1x104832
char Karakter 1 bayt
bool Mantksal 1 bayt true false
-
Tamsay (int) : 2 -32 0
Reel say (float, double): 2.35 -0.4567 0.0
Karakter (char): 'A' '!' '9'
Mantksal (bool): true false
rnek:bool b;b = 3 > 1;
23
3 1den byk olduu iin bye true atanr.
-
24
int ay; // tamsayi tipinde ayunsigned yil; // pozitif tamsayi tipinde yilshort gun; // ksa tamsayi tipinde gundouble ucret; // ift duyarl reel say tipinde ucretchar cinsiyet; // karakter tipinde cinsiyetbool cevap; // mantksal veri tipinde cevap
DeerAdres
999997
999998
999999
1000000
1000003
1000004
1000001
1000002
BELLEK
ay
yil
gun
ucret
cinsiyet
cevap
1000005
1000006
1000007
1000008
1000009
10000101000011
10000121000013
Her bir bellek
hcresinin 2 bayt
deer tadn
varsayalm
-
string tipinde tanmlanm deikenler
birden fazla karakteri tutabilirler.
#include
#include
using namespace std;
int main()
{
string kelime="Merhaba";
cout
-
sim Sabitleri
isim sabiti (constant) olarak tanmlanan budeikenin deeri, program aknda bir dahadeitirilemez.
const veriTipi sabitsmi = ifade;
rnek:const int sinif = 50;const float pi = 3.14;
-
#include using namespace std;// Dairenin yarapn okuyup evresini hesaplar.int main(){
//Kullancdan girdiyi isteyelim.cout > yaricap;// pi saysn isim sabiti olarak tanmlayalm.const float pi = 3.14;// Daire evresini hesaplayp ekrana yazdralm.cout
-
Atama Komutu
Deikenlerin sakladklar verileri deitirmek iin atama komutu (assignment statement) kullanlr.
Deikensmi = ifade;
rnek:
a = 10;
-
Temel Aritmetik Operatrleri
Operatr Anlam rnek
+ Toplama toplam = toplam + 20;
- kartma ucret = maas vergi;
* arpma toplamMaas = maas * 12;
/ Blme yarim = tam / 2;
% Kalan birlik = sayi % 10;
- Tekli eksi x = -5;
-
x= 7 / 2; // cevap: 3 (tamsay blme)
y= 7.0 / 2.0 // cevap: 3.5 (reel say blme)
x = 14 % 3; // cevap: 2 (kalan bulur)
Aritmetik Operatrlerin ncelik Sras
Yksek
Dk
Operatr ncelik Birleme zellii
Parantez ( ) ten da
Tekli eksi (-) Sadan sola
* / % Soldan saa
+ - Soldan saa
-
x = 3 + 5 * 4 / 2 (1 + 2); // ncelik srasna gre nce ( ) uygulanr
x = 3 + 5 * 4 / 2 3; // ncelik srasna gre * ilemi yaplr
x = 3 + 20 / 2 3; // ncelik srasna gre / ilemi yaplr
x = 3 + 10 - 3; // birleme zellii ile nce + ilemi yaplr
x = 13 - 3;
x = 10;
-
Sralanm Veri Tipi enum
Programc tarafndan tanmlanabilen, sral birekilde verilmi sabit deerlerden oluan veritiplerine sralanm veri tipi (enumerated datatype) ismi verilir.
enum tipAd { deerler };
rnek:enum Mevsim {ILKBAHAR,YAZ,SONBAHAR, KIS };
Mevsim birMevsim;
-
Yukardaki tanmda verilen sabit deerler ILKBAHAR, YAZ, SONBAHAR, KIS, otomatikolarak bir tamsay ile eletirilir. ILKBAHAR : 0 YAZ : 1 SONBAHAR : 2 KIS : 3
cout
-
Sabit deerlere kendimiz de eletirme yapabiliriz.
enum Mevsim { ILKBAHAR=25, YAZ=36, SONBAHAR=18,KIS=-3 };
Mevsim birMevsim = ILKBAHAR;
cout
-
Bloklar
{ } ayralar arasnda yer alan komut dizisine blok(block) ad verilir.
{ int x;cin>>x;cout
-
Her deikenin bir kapsam (scope) vardr. Deikenlerin nerede tanmland, bu deikenlerin program ierisinde nerede
kullanlabileceini deikenin kapsam belirler.
{
int i;
{
char i;
{
float i;
i=3.5;
}
i = A;
}
i = 5;
}
Blok1
Blok2
i5
i'A'
i3.5
Blok3
-
sim Alanlar sim alanlar (namespaces), snflar, nesneler ve fonksiyonlar gibi tanmlamalar tek bir isim altnda gruplamay salayan alanlardr. namespace alansmi{
// tanmlamalar}
rnek:namespace sayilar {int a, b;
}sayilar::asayilar::b
-
#include using namespace std;namespace alan1{
int x = 9;float y = 3.1;
}namespace alan2{
double x = 29;char y = 'a';
}int main () {
using namespace alan1;cout