C++ proqramlaşdırma dİlİ 19. 12. 2011



Yüklə 0,74 Mb.
səhifə1/11
tarix17.11.2018
ölçüsü0,74 Mb.
#80411
növüNümunə proqram
  1   2   3   4   5   6   7   8   9   10   11

c++ proqramlaşdırma dİlİ

19.12.2011

Hörmətli oxucular, müəllimlər, tələbələr, ümumiyyətlə İT dünyası!,proqramlaşdırma Ilə

maraqlanan hər kəs! C++ proqramlaşdırma dili kitabının 1.1 buraxılışında hamınızı

salamlayıram. Bu buraxılış ilkin buraxılışdan o qədər də çox fərqlənmir, sadəcə bəzi sintaktik səhvlər aradan qaldırılıb, bəzi başlıqlara nümunə proqramlar əlavə olunub.

Kitab sərbəst öyrənmək üçün nəzərdə tutulub. Hər bir başlıqda və bu başlığa uyğun həllər bölməsində kifayət qədər nümunə proqram kodları nəticə ilə birlikdə verilib.

C++ dilini öyrənməkdə hamınıza uğurlar arzulayıram.


Əhməd Sadıxov.

Bu ünvandan ancaq zəruri hallarda istifadə etməniz rica olunur.

ahmed.sadikhov@gmail.com

Mündəricat



1.Giriş…............................................................................... 4

2.Dəyişənlər.................................................................. 9

3.Operatorlar…............................................................. 27

4 .Ünvan dəyişənləri…..................................................... 37

5. Funksiyalar…................................................................ 44

6 .Cərgələr…....................................................................... 53

7.Sətirlər…....................................................................... 62

8.Strukt tiplər…............................................................... 68

9.Siyahılar…...................................................................... 73

10.Siniflər…...................................................................... 101

11.Makroslar və başlıq fayllar .................................. 111

Əlavələr…................................................................................. 115

Bəzi çalışmaların həlləri….............................................................. 117

Qeydlər….................................................................................. 191

$1 Giriş.

Bu mətndə C++ dilind proqram tərtibindən bəhs olunur. Bu mətndən istifadə edə bilmək

üçün ilkin olaraq heç bir proqramlaşdırma dilini bilmək tələb olunmur.

Hər bir paraqrafın sonunda verilmiş çalışmalar mütləq yerinə yetirilməlidir. Bu sizə materialı daha da aydın başa düşməyə kömək etməklə yanaşı, sizdə gələcək inkişaf üçün əvəzedilməz olan proqramlaşdırma təcrübəsi yaradacaq və artıracaq.

Yadda saxlayın ki, proqramlaşdırmanı öyrənmənin yeganə yolu ancaq və ancaq sərbəst

proqram yazmaqdır.

Çətinliyi artırılmış məsələlər * simvolu ilə qeyd edilir.

Gələcəkdə sistem proqramlaşdırmanı öyrənmək istəyənlər $9 – Siyahılar bölməsinə xüsusi ilə diqqət yetirməlidirlər.




1.1 Kompüterin işlək vəziyyətə gətirilməsi.

Mətndə daxil olunan bütün proqramlar Windows sistemlərində test edilib, lakin bütün Unix tipli sistemlərdə , o cümlədən GNU/Linux sistemlərində də g++ və digər kompilyatorlar vastəsilə asanlıqla kodda heç bir dəyişiklik etmədən kompilyasiya və icra oluna bilər.


1.2 Kompilyatorun installyasiyası

Kompilyator olaraq Ms Visual Studio - dan istifadə edilir.



Ms Visual Studio kompilyatorunun quraşdırma faylını http://www.microsoft.com/express/Downloads keçidindən endirə bilərsiniz.
1.3 İlk test proqram

Sistem və kompilyator problemlərini həll etdikdən sonra hər şeyin qaydasında olduğunu

yoxlamaq üçün test proqramı yerinə yetirək.

Ms Visual Studio proqramını yükləyin.

Daha sonra



File -> New -> Project

Seçimini edirik.

New Project pəncərəsi açılacaq.

Project types: panelindən Win32 , Templates: panelindən isə Win32 Console Application seçimini edirik. Daha sonra Name: pəncərəsindən yeni yaradacağımız proqramın adını daxil edirik. Bu pəncərəyə prog1 yazıb Ok düyməsini basırıq. Açılan yeni pəncərədə Finish düyməsini basırıq.

Bu əməliyyatlar bizə ilk proqramımızı tərtib etmək üçün bütün lazımı faylları yaradacaq və proqramın mətn faylı redaktoru pəncərəsi - prog1.cpp aktivləşdirəcək. Bu fayl təqribən

aşağıdakına bənzər formada olur.

// prg_1_1.cpp : Defines the entry point for the console

//application.

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])

{ return 0;

}

Bu mətn kompiyator tərəfindən avtomatik yaradılıb. Proqramın mətn faylında aşağıdakı kimi dəyişikliklər edirik. #include "stdafx.h" sətrindən sonra #include ,



{

mötərəzəsindən sonra isə



std::cout<<"Salam dunya \n"; ,

return 0; sətrindən əvvəl isə

int x;

std::cin>>x;

sətrlərini daxil edirik.

Aşağıdakı kimi:

// prg_1_2.cpp : Defines the entry point for the console

//application.

#include "stdafx.h"

#include

int _tmain(int argc, _TCHAR* argv[])

{ std::cout<<"Salam dunya \

n";


int;

std::cin>>x;



return 0;

}

Etdiyimiz dəyişiklikləri yadda saxlamaq üçün File -> Save all düyməsini basırıq. Artıq



proqramımızın mətn faylı hazırdır və biz onu kompilyasiya edə bilərik. Kompilyasiya

nəticəsində kompilyator bizim mətn faylından prosessor tərəfindən icra olunabilən ikili

proqram alacaq.

Proqramı kompilyasiya etmək üçün Build -> Build Solution əmrini daxil edirik. Proqramımızın kompilyasiyası başlayacaq və nəticə Output pəncərəsinə ötürüləcək. Əgər sonda Build: 1



Succeeded ... sətri çap olunursa deməli proqramımız uğurla kompilyasiya olunmuşdur.

İndi isə proqramımızı yerinə yetirək. Bunun üçün Debug -> Start Debugging düyməsini basırıq.Nəticədə kansol pəncərəsi açılacaq və “Salam dunya” mətni çap olunacaq. Proqramı söndürmək üçün klaviaturadan hər-hansı simvol daxil edib ENTER düyməsinə basmağımız kifayətdir.

Əgər bu nəticəni almısınızsa ,deməli bütün hazırlıq işləri tamamdır.Əgər siz növbəti paraqraflarda verilən bütün proqram nümunələrini də eyni qayda ilə yerinə yetirə bilərsiniz.

Əgər bu nəticəni almamısınızsa onda gözləməyin, düzün desək hətta professional

proqramçılar da hansısa yeni dili öyrənəndə ilk proqramı heç də həmişə uğurla yerinə

yetirmirlər. Ancaq bütün çətinlik elə bu ilk addımdadır.



Proqramın izahı:

Proqram icra olunduqda std::cout<<"Salam dunya \n"; sətrində verilən Salam dunya ifadəsini ekranda çap edir. Əgər Salam dunya əvəzinə istənilən digər ifadə yazsanız onda ekranda həmin ifadə çap olunar.

Proqramın yerdə qalan detalları barədə irəlidə müvafiq bölmələrlə tanış olduqdan sonra

məlumat veriləcək. Hələlik isə onu deyə bilərik ki, #include sətri istifadə edəcəyimiz bütün proqramlarda daxil olunur. Proqrama bu sətri daxil etmək bizə std::cout, std::cin

funksiyalarından istifadə etməyə imkan verir.

Növbəti sətir int _tmain(int argc, _TCHAR* argv[]) sətridir.



Bu proqramın əsas funksiyasıdır. C++ dilində yazılmış proqramlarda müxtəlif işlər görən

standart(std::cout) və proqramçı tərəfindən yaradılan funksiyalardan ($5) istifadə olunur. Main funksiyası (_tmain unikodu dəstəkləmək üçün MS V. studionun əlavəsidir)isə xüsusi funksiyadır. Bütün C++ proqramlarında bu funksiya mütləq olmalıdır və bütün C++ proqramları icraolunmağa main funksiyasından başlayır.

Beləliklə sizə C++ dilində yazılmış istənilən proqramın mətn kodu verilərsə onda siz main funksiyasını tapmaqla proqramın icraolunmağa başladığı yeri asanlıqla müəyyənləşdirə bilərsiniz.

Ən sonda yerləşən } simvolu isə main funksiyasının bitdiyini göstərir.


Çalışmalar:

  1. prog1.cpp proqramında std::cout<<"Salam dunya \n"; sətrindən sonra std::cout<<"Hey bu yeni proqramdir \n"; sətrini yerləşdirin, faylı yadda saxlayın, kompilyasiya və icra edin.

Helli:

Int P;


std::cin>>p;

std::cout<<"Salam dunya, hey bu yeni proqramdir \n";




  1. C++ dilində “Mən C++ dilini öyrənirəm” sətrini çap edən proqram tərtib edin.

include

int main () {

int E;

std::cout<<"E-ni daxil et”<< “ \n”;



std::cin>>E;

std::cout<<" Mən C++ dilini öyrənirəm”<<” \n";

std::cin>>E;

}

3. (*) C++ dilində Səməd Vurğunun Azərbaycan şerinin ilk bəndini ekranda çap edən

proqram tərtib edin.

include

int main () {

int R;


std::cout<<"R-i daxil et”<< “ \n”;

std::cin>>R;

std::cout<<"El bilir ki, sən mənimsən,

Yurdum,yuvam, məskənimsən.

Anam doğma vətənimsən,

Ayrılarmı könül candan,

AZƏRBAYCAN, AZƏRBAYCAN!”<<” \n”;

std::cin>>R;

}

$2 Dəyişənlər.

2.1 Dəyişənlərin tipləri.

Əvvəlki paraqrafda biz C++ dilində necə proqram yerinə yetirməyi öyrəndik. Bu paraqrafda biz C++ dilində yazılmış proqramın ən vacib elementlərindən biri – dəyişənlərlə tanış olacağıq. Hər bir proqram yerinə yetirilərkən müxtəlif məlumatları yadda saxlamalı (yaddaşa yerləşdirməli) olur. Tutaq ki, iki ədədin cəmini hesablayan proqram yazmaq istəyirik. Bu zaman biz yaddaşda 3 məlumat üçün yer ayırmalıyıq: iki toplanan və cəm.

Proqramlaşdırmada hər hansı məlumatı qəbul etmək, yadda saxlamaq və bu məlumatın

qiymətinə müraciət etmək üçün dəyişənlərdən istifadə olunur. Konkret olaraq dəyişən adı olan müəyyən bir yaddaş sahəsidir. Bu yaddaşın sahəsinin həcmini və adını dəyişəni elan edərkən biz özümüz (proqramçılar) müəyyən edirik.

Proqramda dəyişən elan etmək üçün aşağıdakı sintaksisdən istifadə olunur:

tip ad;

Burada tip dəyişənin tipi, ad isə dəyişənə verdiyimiz addır.

Misal üçün aşağıdakı kimi:

int dey1;

Yuxarıdakı kod hissəsində biz int tipindən olan dey1 adlı dəyişən elan etdik. Fiziki yaddaşda (RAM) 4 bayt yer ayırılır və həmin yerə dey1 adı ilə müraciət olunur. Artıq bundan sonra proqramda dey1 üzərində apardığımız bütün əməliyyatlar birbaşa dey1 - ə aid yaddaş sahəsi üzərində aparılacaq(şəkil1).



int dey1;

Yadda saxladığı məlumatın növünə və yaddaşda tutduğu yerin həcminə görə dəyişənlər

tiplərə ayrılır. Misal üçün tam ədədlər tipi – int (4 bayt), kəsr ədədlər tipi – double (8 bayt), simvol tipi – char (1 bayt), sətir tipi – char [], char * v.s.

Bu tiplərə standart tiplər deyilir.

Bundan əlavə C++ dilində ünvan dəyişənləri tipi, struktur tiplər, siyahılar və siniflərdən də çox geniş istifadə olunur ki, bunlarla da uyğun olaraq 4, 8, 9, 10-cu paraqraflarda məşğul olacayıq.

Dəyişənlərə istədiyimiz kimi ad verə bilərik yalnız və yalnız hərflərdən(ingilis əlifbasının) , '_' simvolundan və rəqəmlərdən istifadə etməklə. Dəyişənin adı mütləq hərflə başlamalıdır və operator, tip və s. adlarından da dəyişən adı kimi istifadə etmək olmaz. Operatorlarla gələn mövzularda tanış olacayıq.

Beləliklə cəm proqrmında hər iki toplananı və onların cəmini yerləşdirmək üçün biz tam tipli 3 dəyişən təyin etməliyik. Gəlin bu dəyişənləri uyğun olaraq top1, top2 cem kimi adlandıraq.

Bu dəyişənələri təyin etmək üçün proqram kodu aşağıdakı kimi olacaq.



int top1;

int top2;

int cem;

Qeyd edək ki, eyni tipdən olan dəyişənləri vergüllə ayırmaqla bir sətirdə də elan edə bilərik.

Aşağıdakı kimi :

int top1, top2, cem;

Burada ; simvoluna diqqət yetirməyinizi istəyirəm. Bu işarə kompilyatora hər hansısa bir

əməliyyatın (indiki halda dəyişənlərin elanının) bitməsini göstərir.

Gəlin proqramımızı tərtib edək. Hələlik 3 dəyişən elan etmişik(dəyişən elan etmək və ya

təyin etmək eyni məna bildirir).

Proqramımız belə olacaq:

// prg_2_1.cpp

#include "stdafx.h"

#include

int _tmain(int argc, _TCHAR* argv[])

{ int top1, top2, cem;

top1 = 4;

top2 = 6;

cem = top1 + top2;

std::cout<<" 4 ile 6 -nin cemi ="<

int x;


std::cin>>x;

return 0;

}

Proqramı yadda saxlayaq , kompilyasiya edək və yerinə yetirək.



Proqramın izahı:

Program icra olunmağa int _tmain(int argc, _TCHAR* argv[]) sətrindən başlayır. Daha sonra

proqramda int top1, top2, cem; sətri gəlir. Burada biz int tipli top1, top2 cem dəyişənlərini elan edirik. Yaddaşın vəziyyəti bu zaman aşağıdakı kimi olar(şəkil 2):

şəkil 2


Növbəti sətir aşağıdakı kimidir:

top1 = 4;

Burada biz mənimsətmə operatorundan ('=') istifadə edirik. Mənimsətmə operatoru - '='

riyaziyyatdan yaxşı bildiyimiz bərabərlik simvolu kimi işarə olunur, amma proqramlaşdırmada, daha doğrusu C++ dilində o ayrı funksiya daşıyır. Mənimsətmə operatoru ilə biz operatorun sol tərəfində göstərilən yaddaş sahəsinə sağ tərəfdə verilən məlumatı yerləşdiririk.

Yuxarıdakı kod sətrində mənimsətmə operatorundan solda top1 dəyişəni, sağda isə 4

qiyməti durur. Beləliklə bu kod icra olunduqda yaddaşın top1 - ə aid hissəsinə 4 qiyməti

yazılır. Diqqət yetirilməli mühüm məqamlardan biri də odur ki, bu zaman top1 -də əvvəl nə məlumat vardısa o silinir. Uyğun olaraq top2 = 6; proqram sətri də yaddaşın top2 - yə aid olan hissəsinə 6 qiymətini yazır.

Bu zaman yaddaşın vəziyyəti aşağıdakı kimi olar:

(şəkil 3)

Proqramın növbəti sətrinə keçək:

cem = top1 + top2;

Burada biz yenə də = mənimsətmə opratorundan istifadə edərik. Bu zaman əvvəl operatorun sağ tərəfində dayanan riyazi ifadənin qiyməti hesablanır top1 + top2. CPU top1 və top2 –nin yaddaş sahəsinə yazılmış qiymətləri (4,6) oxuyur və onların cəmini hesablayır (10) və yekun nəticəni cem dəyişəninə aid yaddaş sahəsinə yazır:

şəkil 4

Proqramın növbəti sətri belədir:



std::cout<<" 4 ile 6 -nin cemi ="<

Bu proqram kodu icra olunduqda ekranda 4 ile 6 -nin cemi = 10 ifadəsi çap olunur. Burada



std::cout çap funksiyasından istifadə olunur. Funksiyalar barədə daha ətraflı $5 -də

danışacayıq. std::cout funksiyasının geniş izahı Əlavə A -da verilib.



Proqram nümunələri:

1. 3 ədədin cəmin hesablayan proqram tərtib edin.

Həlli:

Bu proqramda bizə 3 ədədi və onların cəmini yadda saxlamaq üçün int tipli 4 dəyişən lazım olacaq. Bu dəyişənlərin elanı aşağıdakı kimi olacaq:



int x,y,z,h;

Daha sonar x,y,z - müxtəlif qiymətlər mənimsədək: x=8; y=45; z=3;

Indi isə bu 3 dəyişənin cəmini h dəyişəninə mənimsədək. h = x + y + z;

Nəticəni çapa verək: std::cout<Yüklə 0,74 Mb.
Dostları ilə paylaş:

  1   2   3   4   5   6   7   8   9   10   11




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə