Dasturning tuzilishi
Dasturlash tilini o'rganishning eng yaxshi usuli bu dasturlarni yozishdir. Odatda, yangi boshlanuvchilar yozadigan birinchi dastur "Salom Dunyo" deb nomlanadi, bu shunchaki kompyuter ekraniga "Salom Dunyo" ni bosib chiqaradi. Bu juda sodda bo'lsa ham, C ++ dasturlarining barcha asosiy tarkibiy qismlarini o'z ichiga oladi:
1
2
3
4
5
6
7
|
// my first program in C++
#include
int main()
{
std::cout << "Hello World!";
}
|
Salom Dunyo!
|
Tahrirlash va ishga tushirish
|
Yuqoridagi chap panelda ushbu dastur uchun C ++ kodi ko'rsatilgan. Dastur kompyuter tomonidan bajarilganda o'ng panel natijani ko'rsatadi. Panelning chap qismidagi kulrang raqamlar dasturlarni muhokama qilish va xatolarni o'rganishni osonlashtirish uchun chiziq raqamlari. Ular dasturning bir qismi emas.
Keling, ushbu dasturni satrma-bosqich ko'rib chiqamiz:
1-qator: // my first program in C++
Ikki chiziq belgisi shundan dalolat beradiki, satrning qolgan qismi dasturchi tomonidan qo'shilgan, ammo dasturning ishiga ta'sir qilmaydi. Dasturchilar ulardan kod yoki dasturga oid qisqa tushuntirishlar yoki kuzatuvlarni kiritish uchun foydalanadilar. Bunday holda, bu dasturning qisqacha kirish tavsifi.
2-qator: #include
( #) Xash belgisi bilan boshlangan chiziqlar preprocessor deb nomlanadigan o'qilgan va talqin qilingan direktivalardir . Ular dasturning o'zi kompilyatsiya boshlanishidan oldin talqin qilingan maxsus satrlardir. Bunday holda, direktiv #include protsessorga standart C ++ kodining header iostream nomi bilan ma'lum bo'lgan qismini kiritishni buyuradi , bu standart kirish va chiqish operatsiyalarini bajarishga imkon beradi, masalan, ushbu dasturning natijasini yozish (Salom Dunyo) ekranga.
3-qator: bo'sh satr.
Bo'sh satrlar dasturga ta'sir qilmaydi. Ular shunchaki kodning o'qilishini yaxshilaydi.
4-qator: int main ()
Ushbu qator funktsiyani e'lon qilishni boshlaydi. Aslida, funktsiya - bu nom berilgan kodli mulohazalar guruhi: bu holda, bu keyingi kodli bayonotlar guruhiga "asosiy" nomini beradi. Funksiyalar keyingi bobda batafsil muhokama qilinadi, lekin aslida ularning ta'rifi parametr ( int), nomi ( main) va juft qavs ( ()) ketma-ketligi bilan kiritiladi , ixtiyoriy ravishda parametrlarni o'z ichiga oladi.
Nomlangan mainfunktsiya barcha C ++ dasturlarida maxsus funktsiya hisoblanadi; bu dastur ishlaganda chaqiriladigan funktsiya. Barcha C ++ dasturlarining bajarilishi mainfunktsiya kod ichida aslida joylashgan joyidan qat'i nazar funktsiyadan boshlanadi .
5 va 7-qatorlar: {va}
{5-satrda ochiq qavs ( ) mainfunktsiya ta'rifi boshlanishini va }7-satrda yopilish qavs ( ) uning oxirini bildiradi. Ushbu qavslar orasidagi hamma narsa funktsiya tanasi bo'lib, mainu chaqirilganda nima bo'lishini belgilaydi . Barcha funktsiyalar o'zlarining ta'riflarining boshi va oxirini ko'rsatadigan qavslardan foydalanadilar.
6-qator: std::cout << "Hello World!";
Ushbu satr C ++ iborasi. Bayonot - bu aslida qandaydir samara beradigan iboradir. Bu dasturning go'shti, uning haqiqiy xatti-harakatini belgilaydi. Bayonotlar funktsiya tanasida paydo bo'ladigan tartibda bajariladi.
Bu bayonot uch qismdan iborat: birinchi, std::coutbelgilaydi, ST ajanlık d c haracter amalga vekselni qurilma (odatda, bu kompyuter ekrani). Ikkinchidan, qo'shilish operatori ( <<), bu quyidagilar kiritilganligini bildiradi std::cout. Va nihoyat, tirnoq ichidagi jumla ("Salom dunyo!") - bu standart chiqishga kiritilgan tarkib.
E'tibor bering, bayonot nuqta-vergul bilan tugaydi (;). Ushbu belgi so'zning oxirini belgilaydi, xuddi shu nuqta ingliz tilidagi jumlani tugatadi. Barcha C ++ operatorlari nuqta-vergul belgisi bilan tugashi kerak. C ++ da eng keng tarqalgan sintaksis xatolaridan biri bu nuqta-vergul bilan bayonotni tugatishni unutishdir.
Siz ushbu dasturning barcha satrlari kod bajarilayotganda amallarni bajarmasligini sezgan bo'lishingiz mumkin. Izohni o'z ichiga olgan satr mavjud (boshlanishi bilan //). Dastlabki protsessor uchun ko'rsatma bo'lgan satr mavjud (boshlanishi bilan #). Funktsiyani belgilaydigan chiziq mavjud (bu holda mainfunktsiya). Va nihoyat, funktsiya coutqavslari ( { }) bilan ajratilgan blok ichida joylashgan nuqta-vergul (qo'shib qo'yish ) bilan tugaydigan bayonotlar qatori main.
Dastur uni o'qiyotgan odamlarga tushunishini osonlashtirish uchun turli yo'nalishlarda tuzilgan va to'g'ri chiziqlangan. Ammo C ++ tilida indentatsiya va ko'rsatmalarni turli satrlarda qanday ajratish bo'yicha qat'iy qoidalar mavjud emas. Masalan, o'rniga
1
2
3
4
|
int main ()
{
std::cout << " Hello World!";
}
|
Tahrirlash va ishga tushirish
|
Biz yozishimiz mumkin edi:
|
int main () { std::cout << "Hello World!"; }
|
Tahrirlash va ishga tushirish
|
barchasi bitta satrda va bu avvalgi kod bilan bir xil ma'noga ega bo'lar edi.
C ++ da gaplar orasidagi ajratish tugaydigan nuqta-vergul ( ;) bilan belgilanadi, shu bilan turli satrlarga ajratish bu uchun umuman ahamiyatsiz. Ko'pgina bayonotlar bitta satrda yozilishi mumkin yoki har bir bayonot o'z qatorida bo'lishi mumkin. Kodning turli satrlarda bo'linishi, uni o'qishi mumkin bo'lgan odamlar uchun tushunarli va sxematik bo'lishiga xizmat qiladi, ammo dasturning amaldagi xatti-harakatlariga ta'sir qilmaydi.
Keling, birinchi dasturimizga qo'shimcha bayonot qo'shaylik:
1
2
3
4
5
6
7
8
|
// my second program in C++
#include
int main ()
{
std::cout << "Hello World! ";
std::cout << "I'm a C++ program";
}
|
Salom Dunyo! Men C ++ dasturiman
|
Tahrirlash va ishga tushirish
|
Bunday holda, dastur std::coutikki xil bayonotga ikkita qo'shimchani amalga oshirdi . Yana bir bor ta'kidlash kerakki, kodning turli satrlarida ajratish shunchaki dasturga ko'proq o'qish imkoniyatini beradi, chunki mainbu tarzda to'liq aniq bo'lishi mumkin edi:
|
int main () { std::cout << " Hello World! "; std::cout << " I'm a C++ program "; }
|
Tahrirlash va ishga tushirish
|
Manba kodi o'rniga ko'proq kod satrlariga bo'linishi mumkin edi:
1
2
3
4
5
6
7
|
int main ()
{
std::cout <<
"Hello World!";
std::cout
<< "I'm a C++ program";
}
|
Tahrirlash va ishga tushirish
|
Va natija yana oldingi misollarda bo'lgani kabi bir xil bo'lar edi.
Preprocessor ko'rsatmalari (ular boshlanadigan #) ushbu umumiy qoidalardan tashqarida, chunki ular bayonotlar emas. Ular to'g'ri kompilyatsiya boshlanishidan oldin preprocessor tomonidan o'qilgan va qayta ishlangan satrlardir. Preprocessor ko'rsatmalari o'z satrida ko'rsatilishi kerak va ular bayonotlar emasligi uchun nuqta-vergul ( ;) bilan tugashi shart emas .
Izohlar
Yuqorida ta'kidlab o'tilganidek, sharhlar dasturning ishlashiga ta'sir qilmaydi; ammo, ular dasturning nima qilishini va qanday ishlashini to'g'ridan-to'g'ri manba kodida hujjatlashtirish uchun muhim vositani taqdim etadi.
C ++ kodni sharhlashning ikki usulini qo'llab-quvvatlaydi:
1
2
|
// line comment
/* block comment */
|
|
Ularning birinchisi, chiziq izohi sifatida tanilgan //, shu chiziqning oxirigacha ( ) chiziq chiziqlari topilgan joydan boshlab hamma narsani bekor qiladi . Blok-sharh sifatida tanilgan ikkinchisi, bir nechta satrlarni kiritish imkoniyati bilan /*belgilar va belgilarning birinchi ko'rinishi o'rtasidagi hamma narsani bekor qiladi */.
Keling, ikkinchi dasturimizga sharhlar qo'shamiz:
1
2
3
4
5
6
7
8
9
10
|
/* my second program in C++
with more comments */
#include
int main ()
{
std::cout << "Hello World! "; // prints Hello World!
std::cout << "I'm a C++ program"; // prints I'm a C++ program
}
|
Salom Dunyo! Men C ++ dasturiman
|
Tahrirlash va ishga tushirish
|
Izoh fikr belgilar birikmasi yordamida holda dasturning kodida kiritilgan bo'lsa //, /*yoki */ular C ++ ifodalari go'yo, kompilyator eng ehtimol biri yoki bir necha, xato xabarlar bilan amalga kompilyatsiya sabab, ularni oladi.
Do'stlaringiz bilan baham: |