C++ tilidagi programma tuzilishi va uning kompilyatsiyasi:C++ tilida programma yaratish
bir nechta bosqichlardan iborat bo‘ladi. Dastlab, matn tahririda (odatda programmalash muhitining
tahririda) programma matni teriladi, bu faylning kengaytmasi «.cpp» bo‘ladi. Keyingi bosqichda
programma matni yozilgan fayl kompilyatorga uzatiladi, agarda programmada xatoliklar bo‘lmasa,
kompilyator «.obj» kengaytmali obyekt modul faylini hosil qiladi. Oxirgi qadamda komponovka
(yig‘uvchi) yordamida «.exe» kengaytmali bajariluvchi fayl programma hosil bo‘ladi. Bosqichlarda
yuzaga keluvchi fayllarning nomlari boshlang‘ich matn faylining nomi bilan bir xil bo‘ladi.
Kompilyatsiya jarayonining o‘zi ham ikkita bosqichdan tashkil topadi. Boshida preprotsessor
ishlaydi, u matndagi kompilyatsiya direktivalarini bajaradi, xususan #include direktivasi bo‘yicha
ko‘rsatilgan kutubxonalardan C++ tilida yozilgan modullarni programma tarkibiga kiritadi. Shundan
so‘ng kengaytirilgan programma matni kompilyatorga uzatiladi. Kompilyator o‘zi ham programma
bo‘lib, uning uchun kiruvchi ma’lumot bo‘lib, C++ tilida yozilgan programma matni hisoblanadi.
Kompilyator programma matnini leksema (atomar) elementlarga ajratadi va uni leksik, keyinchalik
sintaktik tahlil qiladi. Leksik tahlil jarayonida u matnni leksemalarga ajratish uchun «probel
ajratuvchisini» ishlatadi. Probel ajratuvchisiga - probel belgisi ('─'), '\t' - tabulyatsiya belgisi, '\n'- keyingi
qatorga o‘tish belgisi, boshqa ajratuvchilar va izohlar (kommentariylar) kiradi.
Programma matni tushunarli bo‘lishi uchun izohlar ishlatiladi. Izohlar kompilyator tomonidan
«o‘tkazib» yuboriladi va ular programma amal qilishiga hech qanday ta’sir qilmaydi.
C++ tilida izohlar ikki ko‘rinishda yozilishi mumkin.
Birinchisida "/*" dan boshlanib, "*/" belgalari bilan tugagan barcha belgilar ketma-ketligi izoh
hisoblanadi, ikkinchisi «satriy izoh» deb nomlanadi va u "//" belgilardan boshlangan va satr oxirigacha
32
yozilgan belgilar ketma-ketligi bo‘ladi. Izohning birinchi ko‘rinishida yozilgan izohlar bir necha satr
bo‘lishi va ulardan keyin C++ operatorlari davom etishi mumkin.
Programmaning 1-satrida #inc1ude.. preprotsessor direktivasi bo‘lib, programma kodiga oqimli
o‘qish/yozish funksiyalari va uning o‘zgaruvchilari e’loni joylashgan «iostream.h » sarlavha faylini
qo‘shadi. Keyingi qatorlarda programmaning yagona, asosiy funksiyasi -main() funksiyasi tavsifi
keltirilgan. Shuni qayd etish kerakki, C++ programmasida albatta main() funksiyasi bo‘lishi shart va
programma shu funksiyani bajarish bilan o‘z ishini boshlaydi.
Programma tanasida konsol rejimida belgilar ketma-ketligini oqimga chiqarish amali
qo‘llanilgan. Ma’lumotlarni standart oqimga (ekranga) chiqarish uchun quyidagi format ishlatilgan:
cout « ;
Bu yerda sifatida o‘zgaruvchi yoki sintaksisi to‘g‘ri yozilgan va qandaydir qiymat qabul
qiluvchi til ifodasi kelishi mumkin (keyinchalik, burchak qavs ichiga olingan o‘zbekcha satr ostini til
tarkibiga kirmaydigan tushuncha deb qabul qilish kerak).
Masalan:
Int uzg=324;
Cout<Berilganlarni standart oqimdan (odatda klaviaturadan) o‘qish quyidagi formatda amalga
oshiriladi:
cin>> ;
Bu yerda qiymat qabul qiluvchi o‘zgaruvchining nomi.
Misol:
int Yosh;
cout <<”Yoshingizni kiriting_”;
cin>>Yosh;
Butun turdagi Yosh o‘zgaruvchisi kiritilgan qiymatni o‘zlashtiradi. Kiritilgan qiymatni
o‘zgaruvchi turiga mos kelishini tekshirish mas’uliyati programma tuzuvchisining zimmasiga
yuklanadi.
33
Bir paytning o‘zida probel () vositasida bir nechta va har xil turdagi qiymatlarni oqimdan kiritish
mumkin. Qiymat kiritish tugmasini bosish bilan tugaydi. Agar kiritilgan qiymatlar soni
o‘zgaruvchilar sonidan ko‘p bo‘lsa, «ortiqcha» qiymatlar bufer xotirada saqlanib qoladi.
Shuni qayd etish kerakki, oqimga qiymat kiritishda probel ajratuvchi hisoblanadi. Haqiqiy sonning
butun va kasr qismlari ' . ' belgisi bilan ajratiladi.
misol:
#include
Int main()
{
int m,y,x;
cout<<”x=”;cin>>x;
cout<<”y=”;cin>>y;
if (x==y)
cout<<("Bu sonlar teng");
if (x>y) m=x; cout <<"m=" <if (xcout <<"x1=" <system("PAUSE");
return 0;
}
|