int main() {
// bu qator izoh hisoblanadi int a=0; // int d;
int c;
/* int b=15 */
/* - izoh boshlanishi
a=c;
izoh tugashi */ return 0;
}
Programmada d, b о‘zgaruvchilar e’lonlari inobatga olinmaydi va a=c amali bajarilmaydi.
Quyida C++ tilidagi sodda programma matni keltirilgan.
# include // sarlavha faylni qо‘shish
int main () // bosh funksiya tavsifi
{ // blok boshlanishi
cout << ”Salom Olam!\n”;// satrni chop etish
return 0; // funksiya qaytaradigan qiymat
} // blok tugashi
Programma bajarilishi natijasida ekranga “Salom Olam!” satri chop etiladi.
Dastur tuzilishi.
Sodda dastur tuzilishi. Dastur preprocessor komandalari va bir necha funktsiyalardan iborat bo’lishi mumkin. Bu funktsiyalar orasida main nomli asosiy funktsiya bo’lishi shart. Agar asosiy funktsiyadan boshqa funktsiyalar ishlatilmasa dastur quyidagi ko’rinishda tuziladi:
Preprocessor_komandalari
Void main()
{
Dastur tanasi.
}
Preprocessor direktivalari kompilyatsiya jarayonidan oldin preprocessor tomonidan bajariladi. Natijada dastur matni preprocessor direktivalari asosida o’zgartiriladi.
Preprocessor komandalaridan ikkitasini ko’rib chiqamiz.
# include Bu direktiva standart bibliotekalardagi funktsiyalarni dasturga joyjlash uchun foydalaniladi.
#define
Bu direktiva bajarilganda dastur matnidagi almashtiruvchi ifodalar almashinuvchi ifodalarga almashtiriladi.
Misol tariqasida C ++ tilida tuzilgan birinchi dasturni keltiramiz:
#include
void main()
{F
cout << “\n Salom, Dunyo! \n”;
}
Bu dastur ehkranga Salom, Dunyo! Jumlasini chiqaradi.
Define direktivasi yordamida bu dasturni quyidagicha yozish mumkin:
#include
#define pr Cout << “\n Salom, Dunyo! \n”
#define begin {
#define end }
void main()
begin
pr;
end
Define direktivasidan nomlangan konstantalar kiritish uchun foydalanish mumkindir.
Misol uchun:
#define EULER 2.718282
Agar dasturda quyidagi matn mavjud bo’lsin:
Double mix=EULER
D=alfa*EULER
Preprocessor bu matnda har bir EULER konstantani uning qiymati bilan almashtiradi, va natijada quyidagi matn hosil bo’ladi.
Double mix=2.718282
D=alfa*2.718282
Dastur matni va preprocessor. C ++ tilida matnli fayl shaklida tayyorlangan dastur uchta qayta ishlash bosqichlaridan o’tadi.
Matnni preprocessor direktivalari asosida o’zgartilishi. Bu jarayon natijasi Yana matnli fayl bo’lib preprocessor tomonidan bajariladi.
Kompilyatsiya. Bu jarayon natijasi mashina kodiga o’tkazilgan obektli fayl bo’lib, kompilyator tomonidan bajariladi.
Bog’lash. Bu jarayon natijasi to’la mashina kodiga o’tkazilgan bajariluvchi fayl bo’lib, boglagich( komponovthik) tomonidan bajariladi.
Preprocessor vazifasi dastur matnini preprocessor direktivalari asosida o’zgartirishdir. Define direktivasi dasturda bir jumlani ikkinchi jumla bilan almashtirish uchun ishlatiladi. Bu direktivadan foydalanishning sodda misollarini biz yuqorida ko’rib chiqdik. Include direktivasi ikki ko’rinishda ishlatilishi mumkin.
#include fayl nomi direktivasi dasturning shu direktiva urniga qaysi matnli fayllarni qo’shish kerakligini ko’rsatadi.
#include direktivasi dasturga kompilyator standart bibliotekalariga mos keluvchi sarlavhali fayllar matnlarini qushish uchun muljhallangandir. Bu fayllarda funktsiya prototipi, tiplar, o’zgaruvchilar, konstantalar ta’riflari yozilgan buladi. Funktsiya prototipi funktsiya qaytaruvchi tip, funktsiya nomi va funktsiyaga uzatiluvchi tiplardan iborat bo’ladi. Misol uchun cos funkciyasi prototipi quyidagicha yozilishi mumkin: double cos(double ). Agar funkciya nomidan oldin void tipi ko’rsatilgan bo’lsa bu funktsiya hech qanday qiymat qaytarmasligini ko’rsatadi.Shuni ta’kidlash lozimki bu direktiva dasturga standart biblioteka qo’shilishiga olib kelmayjdi. Standart funktsiyalarning kodlari bog’lash ya’ni aloqalarni tahrirlash bosqichida, kompilyatsiya bosqichidan so’ng amalga oshiriladi.
Kompilyatsiya bosqichida sintaksis hatolar tekshiriladi va dasturda bunday hatolar mavjud bo’lmasa, standart funktsiyalar kodlarisiz mashina kodiga utkaziladi.
Sarlavhali fayllarni dasturning ihtiyoriy joyida ulash mumkin bo’lsa ham, bu fayllar odatda dastur boshida qo’shish lozimdir. Shuning uchun bu fayllarga sarlavhali fayl ( header file) nomi berilgandir.
Dasturda kiritish va chiqarish funktsiyalaridan masalan cout<< funktsiyasidan foydalanish uchun #include direktivasidan foydalanish lozimdir Bu direktivada iostream.h sarlavhali fayl nomi quyidagilarni bildiradi: st- standart( standartnij), i- input(vvod), o- output(vihvod), h – head(sarlavha).
|