C++ PROQRAMLAŞDIRMA DİLİNƏ GİRİŞ
Bu dərs C++ proqramlaşdırma dili haqqında ilk dərs olduğundan ancaq tanışlıq xarakteri daşıyır. Birinci olaraq onu qeyd edək ki,C++ dilində kodlaşdırma aparmaq üçün bizə C++ dilini dəstəkləyən bir redaktor lazımdır. Hal-hazırda bir çox redaktorlar mövcuddur. Mən ən çox istifadə edilən redaktorlar arasında Bloodshed Dev-C++ redaktorunu məsləhət görürəm. Bu proqramın 5-ci versiyasını http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe ünvanından yükləyə bilərsiniz. Proqram sadə qrafik interfeysli olmaqla bərabər özündə redaktoru,kompilyatoru və debuggeri birləşdirir. Bu proqram yazdığımız kodları .cpp,.c və s. kimi genişlənməi olaraq yadda saxlamağa imkan verir.
Bu dərsdə biz standart mətn olaraq “SALAM” sözündən istifadə edəcəyik. Beləliklə,bir məlumat sətri çap edən ilk proqramımızı yazaq:
#include
main()
{
cout << ''SALAM\n''
}
Burada #include sətri kompilyatora xəbər verir ki,o,stream.h faylında olan standart imkanları işə salsın. Bu sətir olmadan cout <<''SALAM/n'' sətrinin heç bir mənası yoxdur. << əməliyyatı öz birinci arqumentini kinciyə yazır. Sətir-ikiqat mötərizə arasına olan simvollar ardıcıllığıdır. Sətirdə olan \ işarəsi bie xüsusi simvolu xarakterizə edir. \n əməliyyatı isə yeni sətir simvoludur. Proqramın digər hissəsi olan main() {......} main adlanan funksiyanı təyin edir. Hər bir proqram main adlı funksiyadan ibarət olmalıdır,ona görə ki,proqramın işi bu funksiyanın yerinə yetirilməsi ilə başlayır.
KOMPİLYASİYA
C++ dilində yazılmış hər hansı bir proqramın işə başlaması üçün o mütləq kompilyasiya edilməlidir. Kompilyasiya zamanı yazılmış kod kompilyator tərəfindən oxunur və analiz edilir. Əgər proqramın mətnində səhv aşkar edilməzsə,onda kod generasiya edilir. Sonra proqram adların və operatorların mövcudluğunu yoxlayır. Yuxarıda yazdığımız proqramı salam.h kimi yaddaşda saxlasaq onu redaktə etmək üçün yenidən açdığımızda belə görünəcəkdir:
$ CC salam.c
$ a.out
salam
$
Burada, $-sistem dəvəti, a.out isə yerinə yetirilmiş kompilyasiya nəticəsinə verilmiş standart addır. Əgər siz öz proqramınızı özünüz adlandırmaq istəyirsinizsə -o seçimindən istifadə edin:
$ CC salam.c –o salam
$ salam
salam
$
Aşağıda yazılmış olan çox sözlü proqram dyümlə verilmiş ölçüləri santimetrə çevirir:
#include
main()
{
int inch = 0 //inch-dyum
cout << ''inches;''
cin >> inch;
cout << inch;
cout << ''in='';
cout << inch*2.54;
cout << ''cm\n'';
}
main() funksiyasının birinci sətri tam inch dəyişənini təsvir edir. Onun qiyməti >> əməliyyatının köməkliyi və cin standartı ilə hesablanır. Proqramın işə salınmasından sonra o təxminən belə görünəcəkdir:
$ a.out
inches=12
12 in = 30.48 cm
$
Yuxarıdakı nümunədə hər əmr üçün bir operator istifadə edilmişdir. Buna görə də sətirlər çox olur. Bütün bunları << nəticə operatorunun köməkliyi ilə bir sətirdə yazmaq olar:
cout << inch << '' in '' << inch*2.54 << '' cm\n'';
KOMMENTARİYALAR (QEYDLƏR), TİPLƏR VƏ TƏSVİRLƏR
Yazdığımız proqramın mətnində tez-tez qeydlər etmək lazım gəlir. C++-da bunu iki üsulla etmək olar.
Birinci üsulda qeyd /* simvolu ilə başlayır və */ simvolu ilə qurtarır.
İkinci üsulda qeyd // simvolu ilə başlayır. Bu üsulla proqramın mətnində qeyd vermək qısa qeydlər üçün daha əlverişlidir.
Hər bir adın və ifadənin onlar üzərindəki əməliyyatları təyin edən öz tipi vardır. Məsələn,
int inch;
təsviri bildirir ki,inch-in int tipi vardır. Daha doğrusu,inch tam dəyişəndir.
Təsvir-proqrama adı daxil edən operatordur. Təsvir verilən adın tipini təyin edir. Tip adın və ya ifadənin düzgün istifadə edilməsini bildirir. Bununla belə,stream.h faylı işə salınmışsa int tipinin obyekti birinci operand ostream olduqda həmçinin ikinci operand << ola bilər. Obyektin tipi aparılan əməliyyatın mənasını da təyin edir. Məsələn,
cout << inch << “ in = “ << inch *2.54 << “ cm\n”;
operatoru 4 daxili qiyməti müxtəlif şəkillərdə emal edir. Sətirlər hərfilə çap olunur. C++-da bir neçə əsas tiplər və yeni tiplər yaratmaq üçün bir neçə üsullar var.
ƏSAS TİPLƏR
Ən çox bilavasitə aparat təchizatına üstünlük verən əsas tiplər aşağıdakılardır:
char short int long float double
Yuxarıda göstərilənlərdən ilk dördü tamların təqdimatı üçün,axırıncı ikisi isə rəqəmlərin təqdim olunması üçün istifadə olunur. Char dəyişənin hazırki komputerdə simvolun saxlanılması üçün xüsusi ölçüsü və int dəyişənin isə tam arifmetikaya uyğun gələn xüsusi ölçüsü vardır. C++-da ölçülər char tipinin ölçü vahidi ilə ölçülür. Əsas tiplər arasındakı münasibəti aşağıdakı şəkildə yazmaq olar:
1 = sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
sizeof(float) <= sizeof(double)
Ümumiyyətlə,əsas tiplərdən başqa bir tip haqqında fikirləşmək o qədər də məntiqli deyil. Əsas tiplərə const sözünü də əlavə etmək olar. Bu,verilən tipə ayrı bir xüsusiyyət verir. İnisializasiyadan sonra const tipinin dəyişəninin qiyməti dəyişdirilə bilməz.
const float pi = 3.14;
const char plus = '+';
Tək dırnaq işarəsi arasında olan simvol simvol sabiti adlanır. Fikir verin ki,sabit yaddaş zəbt etmir. Sadəcə olaraq,onun qiyməti bilavasitə harada lazımdırsa orada da istifadə olunur. Sabit təsvir zamanı inisializasiya olmalıdır. Dəyişənlərin inisializasiyası məcburi deyil,ancaq inisializasiyası məsləhət görülür. Lokal dəyişənin inisializasiya olunmadan daxil edilməsi üçün simvollardan istifadə olunur. Bu tiplərin hər hansı bir kombinasiyası üçün aşağıdakı arifmetik əməliyyatlardan istifadə olunur:
+ plyus
- minus
* vurma
/ bölmə
== bərabərdir
!= bərabər deyil
< kiçikdir
> böyükdür
<= kiçikdir və ya bərabərdir
>= böyükdür və ya bərabərdir
7 rəqəmini 2-yə böldükdə 3 alırıq. Əməliyyatdan sonar qalığın bilinməsi üçün % simvolundan istifadə olunur ki,bu halda da operatorumuz 7%2 olar. Belə olduqda,qalıq 1 alınır.
double d = 1;
int i = 1;
d = d + i;
i = d + i;
TÖRƏMƏ TİPLƏR
Əsas tiplərdən yeni tip yaradan əməliyyatlar aşağıdakı kimidir:
* göstərici
*const sabit göstərici
& link
[] vektor
() qayıdan funksiya
Aşağıda verilmiş simvolların köməkliyi ilə yaradılmış bir neçə yeni tip verilmişdir:
char* p // simvol göstəricisi
char *const q // sabit simvol göstəricisi
char v[10] // 10 simvoldan ibarət vektor
Qeyd: & simvolu adres götürmə əməliyyatı adlanır.
No comments:
Post a Comment