logo

Dev C++ dasturi,uning interfeysi,imkoniyatlari hamda foydalanilishi

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

2973.8212890625 KB
“Dev  C++ dasturi,uning interfeysi,imkoniyatlari hamda foydalanilishi ”
Reja:
Kirish………………………………………………………………………………………
I BOB Dev C++ dasturlash tili  
1.1. Dev C++ uning interfeysi           
1.2. Dev C++ alfabeti 
II BOB Dev C++ tili imkoniyatlari
2.1.Dev C++ dasturlash tili imkoniyatlari
2.2.Dev C++ foydalanish afzalligi 
III BOB
3.1.Dev C++ dastur tuzish
 XULOSA 
………………………………………………………………………………………………
FOYDALANILGAN ADABIYOTLAR
RO’YHATI ……………………………………………………………................................ Kirish
Bugungi kunda ko’plab dasturlash tillari mavjud (Java,JS,Python,Swift va hokazo).
Agar siz qay biridan boshlashga qiynalayotgan bo’lsangiz , sizga C++ dasturlash 
tilini maslaxat bergan bo’lardim. Chunki bu eng yaxshi yo’ldir.Ayniqsa, 
Dasturlash soxasiga endi kirib kelgan do’stlarimizga . Sizga muxim tarzda 
tavsiflasam ushbu dasturlash tilini , ushbu tilni bilgan C++ developerlar uchun 
talab nafaqat O’zbekistonda balki butun dunyoda juda katta, Nima uchun? degan 
savol tug’ilishi mumkin, negaki Bu tilda Dasturlash soxasining barcha 
yo’nalishlarida (Android dasturlash, Game dasturlash, Database dasturlash, 
Desktop dasturlash va hokazo) dasturlar yarata olasiz. Dunyodagi yetakchi SMM 
platformalari (Facebook,Microsoft va hokazo) ushbu dasturlash tilida ishlab 
chiqilgan.   I BOB. Dev C++ dasturlash tili
 Dev C++ dasturlash tili nomi Dev C dasturlash tilidan kelib chiqqan bq`lib,  ++ 
belgisi inkrement amali, ya`ni  o'zgaruvchining  qiymatini  bittaga 
oshish amalidan olingan. 
Dev C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion tizimlarni,
qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni yaratish uchun
keng qo'llaniladi. 
Dev   C   ++   dasturlash   tili   1980-yillarning   boshlarida   Bell   Laboratories   firmasi
xodimi  Byorn Stroustrup tomonidan yaratilgan. 
Dev  C++ (talaffuzi: si plyus plyus) — turli maqsadlar uchun mo ljallangan ʻ
dasturlash tili. 1979-yili Bell Laboratories da Bjarne Stroustrup tomonidan C 
dasturlash tilining imkoniyatlarini kengaytirish va OOP(object Oriented 
Programming) xususiyatini kiritish maqsadida ishlab chiqarilgan. Boshida „C with 
Classes“ deb atalgan, 1983-yili hozirgi nom bilan ya ni C++ deb o zgartirilgan. 	
ʼ ʻ
Dev  C++ C da yozilgan dasturlarni kompilyatsiya qila oladi, ammo C kompilyatori
bu xususiyatga ega emas. C++ tili operatsiyon tizimlarga aloqador qisimlarni, 
klient-server dasturlarni, EHM o yinlarini, kundalik ehtiyojda qo llaniladigan 	
ʻ ʻ
dasturlarni va shu kabi turli maqsadlarda ishlatiladigan dasturlarni ishlab 
chiqarishda qo llaniladi.	
ʻ   Dastlab UNIX operatsion tizimi va С dasturlash tili 
yaratilgan va С tili asosida C++ tili yaratildi. С esa o'z navbatida B va BCPL 
tillaridan kelib chiqgan.
Dev  C++ tilini 80 yillarda AT&T Bell Labs korxonasi ishchisi Byarnom Straustrup
tuzgan. Avtorning aytishicha, bu tilni tuzishda u hech qanday qog'ozlarni 
qoralamagan va hamma ishni yo'l yo'lakay, ketma-ketlikda tuzib chiqqan. Uning 
asosiy maqsadi, o'zi va do'stlari uchun qulay dasturlash tili yaratishdan iborat edi. 
Dev  C++ dasturlash tilining asosi C hisoblanadi va shu tilni(C) misolida C++ tilini 
tuzib chiqdi. C dasturlash tilini mukammalashtirgan eng asosiy narsa bu – 
ob'yektga mo'ljallangan dasturlashni olib kirgani hisoblanadi. Chunki dasturlashda, tez, qulay , tartibli va ixcham yozish uchun ob'yektga mo'ljallangan dasturlash 
tillaridan foydalanish lozim bo'ladi. Dastlabki  Dev  C++ dasturlash tilidan 
foydalanganlar, bu albatta Bell Labs korxonasi hodimlari hisoblanadi.
1993 yilda bu til ommaga taqdim etildi va  Dev  C++ nomini oldi. Dastlabki  Dev  C+
+ ga oid kitob "The  Dev  C++ Programming Language(Addison-Wesley, 1985)" 
nomi bilan mashhur bo'ldi va bu kitob 1991 yil "Язык программирование C++" 
tarjimasi bilan rus tiliga tarjima qilindi va bu til(С++) rivojlanishi boshlanib ketdi.
ANSI-ISO (ANSI X3J16; ISO WG21/N0836) birlashmasi 1989 yilda, birlashga 
holda ish boshladi. Bu korxonaning dastlabki ishi C++ dasturlash tiliga va uning 
kutubxonasiga standart ishlab chiqishdan boshlandi. Buning uchun 1990 yildagi 
Dev  C++ tili asos qilib olindi.
Bugun biz sizlarga dasturlash tillaridan biri c++ ni boshlaganlar uchun qisqacha malumot 
bermoqchimiz. Siz dasturlashni urgana boshladingizmi uni matematika fanini bilmasdan 
turib yaxshi o'rgana olmaysiz.
Mani fikrimcha xamma xam boshida matematik misol yechishdan boshlasa kerak. Xamma
narsa xam oddiy narsalardan boshlanadi:
 
}
Bu dastur konsol oynasida "KI.UZ saytiga xush kelibsiz" degan yozuvni chiqaradi. Endi ishlatilgan so'zlarga izoh bersak.
include   - kutubxonaga murojatni bildiradi
iostream   - kiritish va chiqarish funksiyalarini uzida jamlagan kutubxona
using namespace std   - ismlar fazosi standart nomlaridan foydalanishni anglatadi.
int main   - funksiyamizni tanasini bildiradi
{ } -   funskiyamiz bishlanishi va tugallanishini bildiradi
cout   - ekranga yozuv chiqarishni taminlaydi
Sizga maslaxatim siz endi boshlayotgan bulsangiz xamda misol yechishni urnagayotgan 
bulsangiz dev c++ dasturidan foydalaning. chunki unda misol yechish uchun imkoniyatlar 
yetarli xamda boshlang'ichlar uchun kifoya qiladi. Eng asosiysi bepul tarqatiladi yani 
litsenziya shart emas )) 1990 yilda C++ standarti ishlab chiqildi va bu standart hozir ANSI C nomi bilan 
mashxur. Bu til juda kengayib ketdi va hozirgi kunda bu tilning hamma detallarini 
biladigan dasturchi bo'lmasa kerak.
C++ funksiya va ob'yektlarning boy kutubxonasiga ega. Bundan kelib chiqadiki 
C++ dasturlash tilini o'rganish 2 qismga bo'linadi: dastlab, C++ tili sintaksisi 
o'rganiladi vv shundan so'ng uning asosiy kutubxonalari birma-bir ko'rib chiqib, 
yodlash lozim bo'ladi. Bundan ko'rinib turibdiki, bu til juda katta hajmni o'z 
qamroviga oladi.
C++ tilining egasi yo'q u hech kimga tegishli emas. Bu til С tilidan kelib chiqgani 
uchun bosh harf С, ++ esa bu tildagi qiymatni bittaga ko'tarish belgisi hisoblanadi 
va bu belgi C++ dasturlash tilida paydo bo'ldi.
C++ dasturlash tili kompilyatsiya qilinadigan til hisoblanadi bu degani yozilgan 
kod oldin mashina tiliga o'giriladi va keyin ishga tushiriladi.   Byorn Stroustrup 
o'zining ehtiyojlari uchun C
dasturlash tiliga bir qator yangiliklar kiritmoqchi
bo`ldi, ya'ni dastlab C ++ dasturlash tilini yaratish
rejalashtirilmagan edi. U dastlab o`zi yaratgan dasturlash tilini “C with classes”(“C
bilan sinflar”) deb nomladi. Dasturlash tilining dastlabki versiyasi 1980 yilda 
paydo bo'lgan. Straustrup dasturlash tiliga sinflar va ob'ektlar bilan ishlash 
imkoniyatini qo'shdi va shu bilan C sintaksisi asosida yangi dasturlash tili uchun 
zarur shart-sharoitlarni yaratdi. C++ sintaksisi C sintaksisiga asoslangan bo`lib, 
Byorn Stroustrup C tili bilan moslikni saqlashga intildi. 1983 yilda dasturlash tili "C ++ dasturlash tili" deb o'zgartirildi.   C++ Cga ob'ektga yo'naltirilganlik
xususiyatlarni qo'shdi. Oby’ektga yo`naltirilgan dasturlashning uchta xususiyatini 
mavjud:, meros (nasledovaniye), polimorfizm va inkapsulyatsiya. Usul(Metod) - 
bu sinf ichida e'lon qilingan va uning ob'ektlari bilan ishlashga mo'ljallangan 
funktsiyadir. Usullar sinf tanasida e'lon qilinadi. 
C++ juda ko’p qo’shimchalarni o’z ichiga olgan, lekin eng asosiysi u obyektlar 
bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda 
katta ahamiyat kasb etmoqda. Buni ta’minlash uchun obyektli dasturlash g’oyasi 
ilgari surildi. C++ esa gibrid tildir. Unda C tiliga o’hshab strukturali dasturlash 
obyektlar bilan dasturlash mumkin.  C++ funksiya va obyektlarning juda boy 
kutubhonasiga ega. Yani C++ dasturlash tilida dasturlashni o’rganish ikki qismga 
bo’linadi. Birinchisi bu C++ tilini o’zini o’rganish, ikkinchisi esa C++ ning 
standart kutubhonasidagi tayyor obyekt va funksiyalarni qo’llashni o’rganishdir.   
   C++ tiliga ko‘plab yangiliklar kiritilgan bo‘lib, tilning imkoniyati yanada 
kengaytirilgan. C++ dasturlash tili ham boshqa dasturlash tillari kabi o‘z alfavitiga 
va belgilariga ega.  
1.C++ alfaviti:
 Katta va kichik lotin alfaviti harflari;
Raqamlar - 0,1,2,3,4,5,6,7,8,9; 3.
Maxsus belgilar: " {} | [] () + - / % \ ; ' : ? <=>_ ! & ~ # ^ . *
             2. Alfavit belgilaridan quyidagilar kelib chiqadi: 
Identifikatorlar; Kalit (xizmatchi yoki zahiralangan) so‘zlar;
O‘zgarmaslar;
Amallar belgilanishlari;
Ajratuvchilar.
    Bu tillarda tuzilgan dasturlarda izohlar istalgan joyda berilishi mumkin. Ular 
satriy va blokli ko‘rinishlarda bo’ladi. Satriy izohlar uchun “//”, blokli izohlar 
uchun “/*”, “*/” belgilari ishlatiladi.
4. IDE nima?
  IDE (Integrated development environment) - Integratsiyalashgan rivojlanish 
muxiti dasturiy ta’minotni yaratish uchun ishlatiladigan dasturdir. IDE ko'pincha 
turli tillarni qo’llab-quvvatlaydi. Shu o’rinda C++ Dasturlash tili uchun ham 
dasturlash muxitlari mavjuddir.Ularga quyidagilarni misol qila olaman: Dev C++, 
Code::Blocks , Visual Studio, C free lar C++ dasturlash tili uchun IDE lar 
hisoblanadi . Compilator / interpretator – Kodni(Inson tilini) ikkilik kodga(mashina
tiliga) aylantiradigan vosita (dasturiy ta’minot) ushbu vosita esa IDE da o’rnatilgan
bo’lib ushbu vositalar orqali biz komyuterga bergan buyrug’larimizdan natijalar 
ola olamiz. Nima uchun  Dev  C ++ dan foydalanish kerak
Dev  C++ dasturlash tili dunyo bo'yicha keng foydalanib kelinayotgan dasturlash 
tili hisoblanadi.
Dev  C++ Barcha Grafik Interfeys ga ega Operatsion Sistemalarda uchratish 
mumkin.
Dev  C++ Bu obyektga yo'naltirilgan dasturlash tili hisoblanib. Tuzilgan dasturni 
osonlik bilan o'zgartirish imkoniyati mavjud.
Dev  C++ - Qiziqarli va o'rganishga juda oson.
Dev  C++ - Ko'chma va bir nechta platformaga moshlashtirilishi mumkin bo'lgan 
dasturlar yaratsangiz bo'ladi. Dev C++ - C# va Java dasturlash tiliga yaqin bo'lgan dasturlash tili bo'lganligi 
sababli almashtirish juda oson.
Dev C++ Dasturlash tilida yozilgan Dasturchilarni eng sevimli so'zi "Hello World"
yozishni ko'ramiz.
Dev C ++ nima?
Dev   C++ - bu yuqori samarali dasturlarni yaratish uchun ishlatilishi mumkin 
bo'lgan o'zaro faoliyat platforma tili hisoblanadi.
Dev C++ - bu C tilining kengaytmasi sifatida Bjarne Stroustrup tamonidan ishlab 
chiqilgan.
Dev C++ - Dasturchi uchun xotirani boshqarish. Unumli foydalanish imkoniyatini 
beradi!                                              
Dev  C++ ni ishga tushurish uchun sizga ikkita narsa kerak bo'ladi bo'ladi.
Notepad++ yoki CodeBlocks kabi matn muharriri C ++ kodini yozish uchun
GCC  kompilyator C++ kodini kompyuter tushunadigan tilga o'girib beradi.
Dev  C++ dasturlash tilidan foydalanish uchun sizda boshqa matn muhararirlarini 
tanlash imkoniyati mavjud. Men sizlarga IDE dan boshlayman! Demak hurmatli 
dasturchi boshladik. Dev  C++ IDE ni o'rnatish
Kodni tahrirlash va kompilyatsiya qilish uchun IDE (Integrated Development 
Environment) ishlatiladi.
Ommabop IDE tarkibiga Code :: Bloklar, Eclipse va Visual Studio kiradi. 
Bularning barchasi bepul va ularni C ++ kodini tahrirlash va komplyator qilishda 
foydalansangiz bo'ladi.
Demak biz hozirda Code::Blocks dan foydalanamiz. Sizlarga ushbu IDE ni taklif 
qilaman chunki men o'zim ham shu IDE dan foydalanganman foydalanishga juda 
oson va qulayligi jihatdan C++ ni o'rganishda juda qulay hisoblanadi.
  Dev   C++ birinchi dastur.
Code::Blocks ni oching File > New > "Empty File" ga o'ting. Quyidagi C ++ 
kodini yozing va faylni quyidagicha saqlang myfirstprogram.cpp (File >  Save File
as)     
1.1.C++ operatorlari.
       Dev  C ++ operatorlarni quyidagi guruhlarga ajratadi:
1.Arifmetik operatorlar
2.Tayinlash operatorlari
3.Taqqoslash operatorlari
4.Mantiqiy operatorlar
5.Bitwise operatorlar
                      
1.Arifmetik operatorlar Umumiy matematik operatsiyalarni bajarish uchun arifmetik operatorlar 
qo'llaniladi.
2. 
Belgilash operatorlari o'zgaruvchiga qiymatlarni belgilash uchun ishlatiladi. 
Quyidagi misol, biz foydalanish tayinlash operatori ( =qiymati tayinlash uchun) 10 
a o'zgaruvchi deb nomlangan uchun x :
3.d ev-C ++ (Dev-Cpp) - bu C / C ++ dasturlash tillari uchun bepul dasturlarni 
ishlab chiqish muhiti.  Dev-C ++ dastur oynasini quyidagi ko`rinishda bo`ladi:
Ikki qiymatni taqqoslash uchun taqqoslash operatorlari ishlatiladi.
Izoh: taqqoslashning qaytarilish qiymati to'g'ri ( 1) yoki noto'g'ri ( 0).
Quyidagi misolda 5 dan 3 kattaroqligini bilish uchun  operatordan  ( ) dan kattaroq 
foydalanamiz >:
4.Mantiqiy operatorlar
O'zgaruvchilar yoki qiymatlar o'rtasidagi mantiqni aniqlash uchun mantiqiy 
operatorlar qo'llaniladi: Dev  C++ dasturlash tilida cout kalit so'zi << bilan birgalikda chiqarish operatori 
yoziladi.
Operator - bu dasturlash tilida aniq bir maqsadga yo'naltirilgan. Ishni ma'lum 
qismini ya'ni C++ misol uchun chiqarish operatori, takrorlash operatori, shart 
operatorlari va bir qanchasini misol keltirsa bo'ladi. Operatorlardan so'ng ; bilan 
yakunlanadi. Ayrim operatorlar asosan {} figurniy qavus bilan bilan ishning 
ma'lum bir vazifani bajaradigan qismi yakunlanadi .
1.2.   Dev   C++ algoritmlari
Operator. Tilning yakunlangan jumlasi hisoblanadi va ma'lumolar taxlilining 
tugallangan bosqichini ifodalaydi. Operatorlar nuqtali vergul “;” bilan ajratiladi. 
Ya'ni “;” operatorning tugallanganligini bildiradi. C++ da operatorlar progammada
keltirilgan ketma - ketlikda bajariladi.
Identifikator. Programmist tomonidan programma elementlari (funksiya, 
o'zgaruvchilar, o'zgarmaslar …) uchun ixtiyoriy tanlangan nom.
Identifikator tanlaganda quyidagilarga ahamiyat berish kerak: Identifikator lotin harflaridan boshlanishi shart;
Ikkinchi simvoldan boshlab raqamlardan foydalanish mumkin;
Dev  C++ da katta kichik harflar farq qiladi. Ya'ni quyidagilarning har biri alohida 
identifikator hisoblanadi: KATTA, katta, KaTTa, kAttA, Katta, KattA, ...
Probel C++ da so'zlarni ajratish uchun ishlatiladi. Shuning uchun
identifikatorda probeldan foydalanib bo'lmaydi;
Xizmatchi (int, float, for, while kabi) so'zlardan identifikator sifatida foydalanib 
bo'lmaydi;
Dev C++ tilining kalit so'zlariga quyidagilar kiradi: asm, auto, break, case, catch, char, class, const, continue, default, delete, do, 
double, else, enum, explicit, extern, float, for, friend, goto, if, inline, int, long, 
mutable, new, operator, private, protected, public, register, return, short, signed, 
sizeof, static, struct, swith, template, this, throw, try, typedef, typename, union, 
unsigned, virtual, void, volatile, while.
Protsessor registrlarini belgilash uchun quyidagi so'zlar ishlariladi:
_AH, _AL, _AX, _EAX, _BH, _BL, _BX, _EBX, _CL, _CH, _CX, _ECX, _DH,
_DL, _DX, _EDX, _CS, _ESP, _EBP, _FS, _GS, _DI, _EDI, _SI, _ESI, _BP, _SP,
_DS, _ES, _SS, _FLAGS. Eslatma. Identifikator tanlashda birinchi belgi sifatida "_" belgisidan 
foydalanmaslik tavsiya etiladi.
Dev  C++ da programma funksiya yoki funksiyalardan tashkil topadi. Agar 
programma bir nechta funksiyadan iborat bo'lsa, bir funksiyaning nomi main 
bo'lishi shart. Programma aynan main funksiyasining birinchi operatoridan boshlab
bajariladi.
Funksiyaning aniqlashishi quyidagicha bo'ladi: qaytariluvchi_qiymat_toifasi 
funksiya_nomi ( [parametrlar] )
{
funksiya tanasini tashkil qiluvchi operatorlar
}
Qoida bo'yicha funksiya qandaydir bir qiymatni hisoblash uchun ishlatiladi. 
Shuning uchun funksiya nomi oldidan, funksiya qaytaradigan qiymat toifasi 
yoziladi. Agar funksiya hech qanday qiymat qaytarmaydigan bo'lsa, void toifasi 
yoziladi. Agar funksiya qaytaradigan qiymat toifasi yozilmagan bo'lsa, int ( butun )
toifali qiymat qaytariladi deb qabul qilinadi.
C++da oddiy matnni ekranga chiqaruvchi programmani ko'rib chiqamiz
#include // ekranga ma'lumot chiqarish uchun int main()
{
std::cout << "Assalomu alaykum bo'lajak programmist!\n";
return 0;
}
Har bir satrni o'rganib chiqamiz:
1, 2, 3 - satrlar izoh hisoblanadi. Malakali programmistlar har qanday programma 
muallif, programmaning tuzilish sanasi va maqsadini ifodalovchi izoh bilan 
boshlanishini maslahat berishadi. 4, 6, 10 - satrlar bo'sh satrlar hisoblanadi. Bosh satrlar programma qismlarini bir - 
biridan ajratib qo'yish uchun ishlatiladi. Programma qismlarining bir - biridan 
ajralib turishi, programma o'qilishini osonlashtiradi.
5 - satrda, klaviaturadan ma'lumotlarni kiritish va ekranga chiqarish uchun
sarlavha fayli programmaga qo'shilyapti. Bu satr klaviatura orqali ma'lumot 
kirituvchi va ekranga nimadir chiqaruvchi har qanday programmada bo'lishi shart. 
Aks xolda xato sodir bo'ladi.
Agar sizning kompilyatoringiz eski bo'lsa, unda yozishingiz lozim bo'ladi.
"// ekranga ma'lumot chiqarish uchun" yozuvi bir satrli izoh hisoblanadi.
- satrda butun toifadagi qiymat qaytaruvchi main funksiyasi berilgan. int xizmatchi
so'zi butun toifadagi ma'lumotlarni e'lon qilishi uchun ishlatiladi.
- satrdagi ochuvchi figirali { funksiya tanasining boshlanganini bildiradi. 12 - 
satrdagi yopuvchi figirali } funksiya tanasining tugaganini bildiradi.
- satrda std::cout << orqali ma'lumotlar ekranga chiqariladi. Qo'shtirnoq ( "_" ) 
orasida yozilgan ma'lumotlar satr deyiladi. Qo'shtirnoq orasida nima yozilsa, hech 
qanday o'zgarishsiz ekranga chiqariladi. 9 - satr oxiridagi nuqtali vergul ( ; ) std::cout operatori tugallanganligini bildiradi. ;
operatorlarni bir - biridan ajratish uchun xizmat qiladi. Ya'ni operator 
tugallanganligini bildiradi. 5 - satrdagi kabi preprotsessor amalidan keyin ; 
qo'yilmaydi.
11 - satrdagi return xizmatchi so'zi orqali funksiya 0 qiymat qaytaradi va 
programma muvoffaqiyatli yakunlanadi.
C   ++   tilida   yozilgan   dasturlar   ishga   tushirishdan   oldin   kompilyatsiya   qilinishi
kerak   va   shundan   keyingina   ijro   etilishi   kerak.   Buning   uchun   Dev-C   ++   uchta
piktogrammadan foydalanadi . 
-  Скомпилировать  - dastur kodini oddiy kompilyatsiya qilish. Ushbu bosqichda
kompilyator yozilgan kodni xatolar uchun tekshiradi va agar hamma narsa tartibda bo'lsa, dastur kodini - *. exe bajaruvchi faylga uzatadi. Agar xatolar bo'lsa, unda
kompilyator ishi to'xtatiladi va xatolarni topish va tuzatishga yordam berish uchun
"  Компилятор  " oynasida xato kodlari ko'rsatiladi. Tezkor tugma - F9. 
Fayllardan birini ochish uchun navigatsiya panelida ko'rsatilgan element orqali 
yoki  Ctrl + O  tugmalaridan foydalanish mumkin
O'zgaruvchilarni e'lon qilish. Programmada ishlatilgan barcha o'zgaruvchilarni 
qaysi toifaga tegishli ekanligini e'lon qilish kerak. Ma'lulotlarni e'lon qilishning 
umumiy ko'rinishi quyidagicha:
toifa_nomi o'zgaruvchi;
Agar bir nechta o'zgaruvchi bir toifaga mansub bo'lsa, ularni vergul bilan ajratib 
berish mumkin.
Butun sonlarni ifodalash uchun int va haqiqiy sonlarni ifodalash uchun float 
xizmatchi so'zlaridan foydalaniladi. Bu ma'ruzada shu 2 tasini bilish bizga kifoya 
qiladi. Keyingi mavzuda butun va haqiqiy sonlar haqida batafsil gaplashamiz.
int x,y; // butun toifadagi o'zgaruvchilarni e'lon qilish
float a,b,c; // haqiaiy toifadagi o'zgaruvchilar e'lon qilish
Kiritish va chiqarish operatorlari. Programmada klaviatura orqali ma'lumot kiritish 
va ekranga chiqarish uchun preprotsessor direktivasini, ya'ni #include ni 
programmaga qo'shish shart. Ma'lumotlarni kiritish std::cin >>, ma'lumotlarni 
chiqarish std::cout << operatori orqali amalga oshiriladi. std::cin >> a;
Bu operator bajarilganda ekranda kursor paydo bo'ladi. Kerakli ma'lumot 
klaviatura orqali kiritilgandan so'ng Enter tugmasi bosiladi. cout orqali ekranga 
ixtiyoriy ma'lumotni chiqarish mumkin. Satrli ma'lumotlarni ekranga chiqarish 
uchun, ularni qo'shtirnoq orasida yozish kerak.
II.BOB Dev C++ imkoniyatlari
2.1 Dev C++ imkoniyatlari
Выполнить   -   bu   buyruq   kodni   qayta   kompilyatsiya   qilmasdan   takroran
ishlashimizga imkon beradi. Tezkor tugma - F10. 
- Скомпилировать   и   выполнить   - agar biz kompilyatsiya qilinganidan keyin 
darhol dasturning bajarilishini konsolda ko'rishni
Python deyarli barcha platformalarda ishlay oladi, xususan Windows, Linux, Mac 
OS X, Palm OS, Mac OS va boshqalar shular jumlasidandir. Python 
Microsoft.NET platformasi uchun yozilgan realizatsiyasi ham mavjud bo lib, ʻ
uning nomi — IronPython dasturlash muhitidir. .  Barcha ishlaydigan dasturlar konsol oynasida ochiladi. Agar dasturda rus tilidagi 
matnni ishlatsangiz, u holda bu matn konsolda tushunarsiz belgilar bilan 
ifodalanadi.
Buni tuzatish uchun konsol oynasining yuqori qismiga sichqonchaning o'ng 
tugmachasi bosish va paydo bo`lgan darchaning pastki qismida "   Свойства   " 
punktini tanlash kerak. bugun = dt.date.today()
print(f"Bugungi sana: {bugun}")
Natija: Bugungi sana: 2021-03-09
Agar biror sanani qo lda kiritish talab qilinsa .date() metodiga kerakli sanani (yil, ʻ
oy, kun) ko rinishida kiritamiz.	
ʻ Futbol boshlanishiga 11 soat qoldi
Yuqorida sanalar AQSh standartiga ko ra, yil-oy-kun ko rinishida chiqayapti. ʻ ʻ
Sanani o zimizga moslab chiqarish uchun .strftime() metodini chaqiramiz, va 	
ʻ
Шрифт   “ varag`iga o`tiladi  - va "Lucida Console" buyrug`i tanlanadi. Konsol 
oynasida matnni ko'rsatish uchun shrift o`lchamini o`zgartirish mumkin  sana_vaqt 
= hozir.strftime("%d/%m/%Y, %H:%M")
Dev-C++ (Dev-Cpp) – C++ dasturlash tilida dasturlarni qayta ishlovchi muhitlardan biridir. 
биридир . 
Dev-C++ dasturu oynasi quyidagi ko’rinishga ega:   
1.2-rasm. Dev-C++ dasturi oynasi tuzilishi. 
 
Dev-C++ dasturida quyidagi amallarni bajarish munkin: 
Ctrl + O- xotiradagi faylni ekranga chiqarish; 
 
1.3-rasm. Dev-C++ da xotiradagi faylni ochish.   
  С ++ dasturlash tilidagi dasturni ishga tushirishdan oldin uni kompilytsiya qilish kerak.  Buning uchun
Dev-C++ да quyidagi amallar bajariladi:  
- Скомпилировать(F9)   –   dasturni   oddiy   kompilyatsiya   qilish.   Bu   bosqichda   kompilyator
dasturdagi   xatolarni   tekshiradi.   Agar   hammasi   joyida   bo’lsa,   dastur   koidini   *.exe   ko`rinishidagi
faylga yuboradi. Agar xatolar bo`lsa, u holda kompillyator ishni tugatadi va  " Компилятор " oynasida
xatoning kodi ko`rsatiladi.  
Bu  kod  orqali  xatoni  turib  unu  to`g`rilash  mumkin.  
- Выполнить (F10) – ushbu buyruq dasturni kompillyatsiya qilmasdan ishga ushirish imkonini
beradi.  
- Скомпилировать   и   выполнить   (F11)   –   dasturni   kompillatsiya   qilib   uni   darhol   ishga
tushiradi. 
1.4-rasm. Dev-C++ da dasturni kompilyatsiyalash va ishga tushirish. 
Ishga tushirilgan fayl oynada tasvirlanadi. 
1.5-rasm. Dev-C++ da dastur natijasi. 
  Agar oynada kirilcha harflarni o`qib bo`lmasa, ishchi oyna yuqori qismiga sichqoncha o`ng tugmasini
bosamiz va " Свойства " punktini tanlaymiz. 
1.6-rasm. Dev-C++ da dastur natijasi matnini sozlash. 
" Шрифт " bo`limiga o`tib  "Lucida Console" buyrug`ini tanlaymiz. 
1.7-rasm. Dev-C++ da dastur natijasi matnini sozlash. 
" Цвета " bo`limiga o`tamiz. Bu bo`limda ishchi oyna foni va shrift rangi o`rnatiladi.   1. 8-rasm. Dev-C++ da dastur natijasi matnini sozlash. 
2. Alfavit, identifikator, xizmatchi so’zlar. 
 
Alfavit.  C++ alfavitiga quyidagi belgilar kiradi: 
• Katta va kichik lotin alfaviti xarflari (A,B,..,Z,a,b,…,z) 
• Raqamlar: 0,1,2,3,4,5,6,7,8,9 
• Maxsus belgilar: “ , {} | [] () + - / % \ ; ‘ . : ? < = > _ ! & * # ~ ^ 
• Ko’rinmaydigan belgilar (“bo`shliq belgilari”).  
Izohlarda, satrlarda va belgili o`zgarmaslarda boshqa belgilar, masalan rus 
xarflarini ishlatilishi mumkin.  Identifikator .Identifikatorlar lotin xarflari,ostki chiziq belgisi va sonlar ketma – 
ketligidan iborat bo`ladi. Identifikator lotin xarfidan yoki ostki chizish 
belgisidan boshlanishi lozim. 
Misol uchun: 
A1, _MAX, adress_01, RIM, rim. 
Katta va kichik xarflar farqlanadi, shuning uchun ohirgi ikki identifikator bir 
biridan farq qiladi. 
Borland kompilyatorlaridan foydalanilganda nomning birinchi 32 xarfi ,ba’zi 
kompilyatorlarda 8 ta xarfi inobatga olinadi. Bu holda  NUMBER_OF_TEST  va 
NUMBER_OF_ROOM  identifikatorlari bir biridan farq qilmaydi. 
Xizmatchi so’zlar . Dsturchi tomonidan o`zgaruvchilar nomlari sifatida 
ishlatish mumkin bo`lmagan identifikatorlar xizmatchi so’zlar deyiladi. C ++ 
tilida quyidagi xizmachi so’zlar mavjud: 
int, extern, else, char, register, for, float, type, def, do, double, static, while,  
struct, goto, switch, union, return, case, long, sizeof, default, short, break, 
entry, unsigned, continue, auto, if   va boshqalar . 
 
2.1 Dev C++ afzalligi
3. O’zgaruvchilar.   
 
O’zgaruvchilar ob’ekt sifatida .  C++ tilining asosiy tushunchalaridan biri 
nomlangan xotira qismi – ob’ekt tushunchasidir. Ob’ektning xususiy holi bu 
o’zgaruvchidir. O’zgaruvchiga qiymat berilganda unga ajratilgan xotira qismiga
shu qiymat kodi yoziladi. O’zgaruvchi qiymatiga nomi orqali murojaat qilish 
mumkin, xotira qismiga esa faqat manzili orqali murojaat qilinadi. O’zgaruvchi 
nomi bu  identifikatordir. O’zgaruvchi nomi sifatida xizmatchi so’zlarni 
ishlatish mumkin emas.   O’zgaruvchilar  turlari.   O’zgaruvchilarning  qo’yidagi  tiplari  mavjuddir: 
char   – bitta belgi; 
long cha r  – uzun 
belgi;  int   – butun 
son;  short – qisqa 
butun son;  long – 
uzun butun son; 
float   - haqiqiy son; 
double   – ikkilangan haqiqiy son;  long 
double   – uzun ikkilangan haqiqiy son; 
O’zgaruvchilarni dasturning ihtiyoriy qismida ta’riflash yoki qayta ta’riflash 
mumkin. 
Misol uchun: 
Int a, b1, 
ac; eki Int 
a; int b1; 
int ac; 
O’zgaruvchilar ta’riflanganda ularning qiymatlari aniqlanmagan bo’ladi. Lekin 
o’zgaruvchilarni ta’riflashda initsializatsiyalash ya’ni boshlang’ich qiyjmatlarini 
ko’rsatish mumkin. 
Misol uchun: 
Int I=0; 
Char c=’k’; 
Typedef ta’riflovchisi yangi tiplarni kiritishga imkon beradi. 
Misol uchun yangi  COD  turini kiritish: 
Typedef unsigned char COD;  COD simbol; 
   
4. O’zgarmaslar.  
O`zgarmas - bu dastur ishlashi davomida  qiymati o`zgarmaydigan  kattalikdir. 
Dev  C++ tilida besh turdagi o`zgarmaslar ishlatilishi mumkin: butun , haqiqiy , 
belgi, sanovchi o`zgarmaslar va nul kursatkich. Butun sonlar o’nlik, sakkizlik 
yoki o`n oltilik sanoq sistemalarida berilishi mumkin. O’nlik sanoq sistemasida 
butun sonlar 
0-9  raqamlari  ketma  ketligidan  iborat  bo’lib, 
birinchi raqami 0 bulishi kerak emas. Sakkizlik sanoq sistemasida butun sonlar 
0 bilan boshlanuvchi 0-7 raqamlaridan iborat ketma ketlikdir. O’n oltilik sanoq 
sistemasida butun son 0x yoki 0X bilan boshlanuvchi 0-9 raqamlari va a-f yoki 
A-F harflaridan iborat ketma- ketlikdir. 
Masalan 15 va 22 o’nlik sonlari sakkizlikda 017 va 026, o`n oltilikda 0xF va 
0x16 shaklida tasvirlanadi.   Ma’lumotlarning ishorasiz (unsigned) butun son 
turi: Ma’lumotlarning haqiqiy son turi olti qismdan iborat bulishi mumkin: 
butun qism, nuqta, kasr qism, yoki E belgisi, o’nlik daraja , F eki f suffikslari. 
Masalan  : 66. .0 .12 3.14F 1.12e-12 . Ma’lumolarning uzun haqiqiy son turi : 
Oxiriga  L  yoki  l  suffikslari  qo`yilgan  haqiqiy  son. 
Masalan:  2E+6L ; 
Belgili o`zgarmas. 
Apostrof ichiga olingan bitta yoki ikkita belgi. Misol uchun  ‘x’,’*’,’\012’,’\0’,’\
n’ - bitta belgili o`zgarmas;  ‘dd’,’\n\t’,’\x07\x07’  ikki belgili o`zgarmaslar.Belgili 
o`zgarmas qiymati belgining komp’yuterda qabul qilingan sonli kodiga tengdir.
ESC (eskeyp) belgilar jadvali: 
Yozilishi   Ichki kodi   Belgii (nomi)   Ma’nosi  \a   0x07   bel (audible bell)   Tovush signali 
\b   0x08   Bs (bascspase)   Bir qadam qaytish 
\f   0x0C   Ff (form feed)   Sahifani qaytarish 
\n   0x0A   lf (line feed)   Qatorni o’tkazish 
\r   0x0D   Cr (carriage return)   Karetkani qaytarish 
\t   0x09   Ht (horizontal tab)   Gorizontal tabulyatsi 
\v   0x0B   Vt (vertical tab)   Vertikal tabulyatsi 
\\   0x5C   \ (bacslash)   Teskari chiziq 
\’   0x27   ‘ (single out)   Apostrof  
\”   0x22   “ (double quote)   Qo`shtirnoq 
\?   0x3F   ? (question mark)   Savol  belgisi 
\000   000   Ëþáîé(octal number) Belgi sakkizlik kodi 
\xhh   0xhh   Ëþáîé(hex number)   Belgi o’n oltilik kodi 
 
Satrli o`zgarmas. 
Satrli o`zgarmaslar C++ tili o`zgarmaslariga kirmaydi, balki alohida tur 
hisoblanadi. Satrli o`zgarmaslar satrli leksemalar deb ham ataladi. 
Satrli o`zgarmas bu qo`shtirnoqqa olingan ihtiyoriy belgilar ketma -ketligidir. 
Misol uchun “ Men satrli o`zgarmasman”. 
Satrlar orasiga eskeyp belgilar ham kirishi mumkin. Bu belgilar oldiga \ belgisi 
qo`yiladi. Misol uchun : “\n”. 
Satr belgilari xotirada ketma-ket joylashtiriladi va har bir satrli o`zgarmas oxiriga 
avtomatik ravishda kompilyator tomonidan ‘\0’ belgii qo’shiladi. Shunday 
satrning xotiradagi xajmi belgilar soni+1 baytga tengdir. 
Ketma-ket kelgan va bo`shlik, tabulyatsiya yoki satr oxiri belgisi bilan ajratilgan
satrlar kompilyatsiya davrida bitta satrga aylantiriladi. Misol uchun:  “Salom” “Toshkent ”  satrlari bitta satr deb qaraladi:  “Salom Toshkent” . 
Bu qoidaga bir necha qatorga yozilgan satrlar ham bo`ysinadi. Misol uchun : 
“O’zbekistonga ” 
“bahor ” “keldi”  qatorlari bitta qatorga joylashadi: 
“O’zbekistonga bahor keldi”. 
Agar satrda ‘\’ belgisi uchrasa va bu belgidan so’ng to ‘\n’ satr oxiri belgisigacha 
bo`shlik belgisi kelsa, bu bo`shlik belgilari ‘\’ va ’\n’ belgisi bilan birga satrdan 
o`chiriladi. Satrning uzi keyingi satrda kelgan satr bilan qo’shiladi. 
“O`zbekistonga \ 
“ bahor\ 
“ keldi”  qatorlari bitta qatorga mos:  “O`zbekistonga
bahor keldi”.  Sanovchi o`zgarmas. 
Sanovchi o`zgarmaslar enum hizmatchi so’zi yordamida kiritilib, int turidagi 
sonlarga qulay so`zlarni mos qo`yish uchun ishlatiladi. 
Misol uchun: 
enum{one=1,two=2,three=3}; 
Agar son qiymatlari ko’rsatilmagan bo`lsa, eng chapki so’zga 0 qiymati berilib 
qolganlariga tartib bo`yicha o`suvchi sonlar mos quyiladi: 
Enum{zero,one,two}; 
Bu misolda avtomatik ravishda o`zgarmaslar quyidagi qiymatlarni qabul qiladi:
Zero=0, one=1, two=2; 
O`zgarmaslar aralash ko’rinishda kiritilishi ham mumkin: 
Enum(zero,one,for=4,five,six}. 
Bu misolda avtomatik ravishda o`zgarmaslar quyidagi qiyjmatlarni qabul 
qiladi:  Zero=0, one=1, for=4;five=5,six=6;  Yana bir misol: 
Enum BOOLEAN {NO, YES}; 
O`zgarmaslar qiymatlari:  NO=0, YES=1; 
Nomlangan o`zgarmaslar. 
C ++ tilida o’zgaruvchilardan tashqari nomlangan o`zgarmaslar kiritilishi 
mumkin. 
Bu o`zgarmaslar qiymatlarini dasturda o’zgartirish mumkin emas. O`zgarmaslar 
nomlari dasturchi tomonidan kiritilgan va xizmatchi so’zlardan farqli bo’lgan 
identifikatorlar bo`lishi mumkin. Odatda nom sifatida katta lotin harflari va ostiga
chizish belgilari kombinatsiyasidan iborat identifikatorlar ishlatiladi. Nomlangan 
o`zgarmaslar quyidagi shaklda kiritiladi: 
Const tur o`zgarmas_nomi=o`zgarmas_qiymati. 
Misol uchun: 
Const double EULER=2.718282; 
Const long M=99999999; 
Const R=765; 
Oxirgi misolda o`zgarmas turi ko`rsatilmagan, bu o`zgarmas int turiga tegishli 
deb xisoblanadi. 
Nul ko’rsatkich. 
NULL- ko’rsatkich yagona arifmetik bo`lmagan o`zgarmasdir. Null ko’rsatkich 0 
yoki 0L yoki nomlangan o`zgarmas NULL orqali tasvirlanishi mumkin.  Quyidagi 
jadvalda o`zgarmaslar chegaralari va mos turlari ko’rsatilgan: 
Ma’lumotlar 
turi  Xajm, 
bit  Qiymatlar 
chegarasi   Tur vazifasi 
Unsigned 
char   8   0…255   Kichik butun sonlar va belgilar 
kodlari 
Char   8   -128…127  
Kichik butun sonlar va ASII 
kodlar 
Enum   16   -32768…32767   Butun sonlar tartiblangan katori  Unsigned int   16   0…65535   Katta butun sonlar 
Short int   16   -32768…32767   Kichik butun sonlar, sikllarni 
boshqarish 
Int   16   -32768…32767   Kichik butun sonlar, sikllarni 
boshqarish 
Unsigned 
long   32   0…4294967295   Astronomik masofalar 
Long   32   -147483648… 
…2147483647  Katta sonlar 
Float   32   3.4E-
32…3.4E+38   Ilmiy xisoblar (7 raqam) 
Double   64   1.7E- 
308…1.7E+308  Ilmiy xisoblar(15 raqam) 
Long double   80   3.4E-4932… 
1.1E+4932  Moliyaviy xisobalr (19 raqam) 
 
 
5.Dev C++ da amallar 
Arifmetik amallar.   Ko'p dasturlar ijro davomida arifmetik amallarni bajaradi. 
C++ dagi amallar quyidagi jadvalda berilgan. Ular ikkita operand bilan 
ishlatildi. 
Amal  Arifmetik operator   Algebraik ifoda C++dagi ifodasi: Qo'shish              +   
h+19    h+19 
Ayirish     -       
 f-u       f-u 
Ko'paytirish    *        
  sl        s*l 
Bo'lish      /        
  v/d      v/d   
Modul olish  
  % 
       k mod 4  
  k%4  Bularning ba'zi birlarinig xususiyatlarini ko'rib chiqaylik. Butun sonli bo'lishda, 
yani bo'luvchi ham, bo'linuvchi ham butun son bo'lganda, javob butun son 
bo'ladi. 
Javob yaxlitlanmaydi, kasr qismi tashlanib yuborilib, butun qismining o'zi 
qoladi. x%y ifodasi x ni y ga bo'lgandan keyin chiqadigan qoldiqni beradi. 
Demak, 7%4 ifoda natijasi  3 bo`ladi. % operatori faqat butun sonlar bilan 
ishlaydi. Vergulli (real) sonlar bilan ishlash uchun "math.h" kutubxonasidagi 
fmod funksiyasini qo’llash kerak. C++ da qavslarning ma'nosi huddi 
matematikadagidekdir. Undan tashqari boshqa boshqa algebraik ifodalarning 
ketma-ketligi ham odatdagidek. Oldin ko'paytirish, bo'lish va modul olish 
operatorlari bajariladi. Agar bir necha operator ketma-ket kelsa, ular chapdan 
boshlab o'nga bajariladii. Bu operatorlardan keyin esa qo'shish va ayirish 
bajariladi. Misol uchun , k = m * 5 + 7 % n / (9 + x);   Birinchi bo'lib  m * 5  
xisoblanadi. Keyin  7 %  n topiladi va qoldiq  (9 + x)  ga bo'linadi. Chiqqan javob 
esa  m * 5  ning javobiga qo'shiladi.  
Amallar jadvali  
Arifmetik amallar   Razryadli amallar Nisbat amallari   Mantiqiy amallar 
+ qo’shish   & va   = = teng   && va 
- bo’lish   | yoki   != teng emas   || yoki 
* ko’paytirish   ^ yoki inkori   > katta   ! inkor 
/ bo’lish   << chapga surish   >= katta yoki teng 
 
% modul olish   >> o’ngga surish   < kichik 
 
- unar minus   ~ inkor   <= kichik yoki teng 
 
+ unar plyus 
     
++ oshirish 
      -- kamaytirish 
     
 
 
Amallar jadvali (davomi)  
Imlo amallar   Qiymat berish va 
shartli amallar  Tipli amallar   Adresli amallar 
() – doirali qavs   = - oddiy qiymar 
berish  (tip) – tipni 
o’zgartirish  & - manzilni 
aniqlash 
[] – kavadrat qavs   op= - murakkab 
qiymat berish  sizeof- xajmni 
hisoblash  * - manzil bo’yicha 
qiymat aniqlash 
yoki joylash 
, - vergul   ? – shartli amal 
   
 
Arifmetik amallar .  Amallar odatda unar, ya’ni bitta operandga 
qo’llaniladigan amallarga va binary, ya’ni ikki operandga qo’llaniladigan 
amallarga ajratiladi. Binar amallar additiv ya’ni + qo’shuv va – ayirish 
amallariga , hamda multiplikativ ya’ni * ko`paytirish, / bo`lish va % modul olish
amallariga ajratiladi. Additiv amallarining ustivorligi multiplikativ amallarining 
ustivorligidan pastroqdir. 
Butun sonni butun songa bo’lganda natija butun songacha yahlitlanadi. Misol 
uchun  20/3=6; (-20)/3=-6; 20/(-3)=-6.  
Modul amali butun sonni butun songa bo`lishdan hosil bo`ladigan qoldiqqa 
tengdir. Agar modul amali musbat operandlarga qo’llanilsa, natija ham 
musbat bo’ladi, aks holda natija ishorasi kompilyatorga bog’likdir. 
Binar arifmetik amallar bajarilganda turlarni keltirish quyidagi qoidalar asosida
amalga oshiriladi: short va char turlari int turiga keltiriladi; 
Agar operandlar biri long turiga tegishli bo’lsa, ikkinchi operand ham long 
turiga keltiriladi va natija ham long turiga tegishli bo`ladi;  Agar operandlar biri float turiga tegishli bo`lsa, ikkinchi operand ham float 
turiga keltiriladi va natija ham float turiga tegishli bo`ladi; 
Agar operandlar biri double turiga tegishli bo’lsa ikkinchi operand ham double
turiga keltiriladi va natija ham double turiga tegishli bo`ladi; 
Agar operandlar biri long double turiga tegishli bo’lsa ikkinchi operand ham 
long double turiga keltiriladi va natija ham long double turiga tegishli bo’ladi; 
Unar amallarga ishorani o’zgartiruvchi unar minus – va unar + amallari kiradi. 
Bundan  tashqari  ++  va  --  amallari  ham  unar  amallarga  kiradi. 
++ unar amali qiymatni 1 ga oshirishni ko’rsatadi. Amalni prefiks ya’ni ++i 
ko’rinishda ishlatish oldin o’zgaruvchi qiymatini oshirib so’ngra foydalanish 
lozimligini, postfiks, ya’ni i++ ko’rinishda ishlatish oldin o’zgaruvchi qiymatidan
foydalanib, so’ngra oshirish kerakligini ko’rsatadi. Misol uchun i qiymati 2 ga 
teng bo’lsin, u holda  3+(++i)  ifoda qiymati 6 ga,  3+i++  ifoda qiymati 5 ga 
teng bo’ladi. Ikkala holda ham i qiymati 3 ga teng bo’ladi. -- unar amali 
qiymatni 1 ga kamaytirishni ko’rsatadi. Bu amal ham prefiks va postfiks 
ko’rinishda ishlatilishi mumkin. Bu ikki amalni faqat o’zgaruvchilarga qo’llash 
mumkindir. Unar amallarning ustivorligi binar amallardan yuqoridir.  
III BOB Dev C++ da Dastur tuzish
3.1 Dastur tuzish
  //C++ dagi	 ilk dasturimiz
  /*Ekranga	
 yozuv	 chiqarish*/  
  #	
 include	 <iostream.h>
int	
 main()
{
cout
 <<	 "Hello	 World!\n";
return	
 0; //Dastur	 kutulganidek	 tugaganinig	 belgisi.
}   Ekranda:
  Hello World!
  Dasturni	
 satrma-satr	 tahlil	 qilaylik.	 C++	 da ikki	 tur	 sharhlar	 mavjud.	 /* bilan	 boshlanib,	 */ bilan	 tugaydigani	 bir necha	 
satrni	
 egallashi	 mumkin.	 Yani	 bu belgilar	 orasida	 qolgan	 hamma	 yozuv	 sharh	 hisoblanadi.	 Bu	 tur	 sharh	 C dan	 qolgan.
C++	
 yangi	 ko'rinishdagi	 sharhlar	 ham	 kiritilgan.	 Bu	 // bilan	 boshlanadi	 va kuchi	 shu	 satr	 ohirigacha	 saqlanadi.	 
Sharhlar	
 yoki	 boshqacha	 qilib	 aytganda	 kommentariylar	 kompilyator	 tomonidan	 hisobga	 olinmaydi	 va hech	 qanday	 
mashina	
 ijro	 kodiga	 aylantirilmaydi.	 Sharhlar	 kerakli	 joyda,	 funksiyalardan	 oldin,	 o'zgaruvchilar	 e'lonidan	 keyin	 
yozilganda,	
 dasturni	 tushunish	 ancha	 osonlashadi	 va keyinchalik	 programma	 ishlash	 mantig'ini	 esga	 solib	 turadi.
# include   <iostream.h>	
 bu preprosessorga	 beriladigan	 buyruqdir.	 Preprosessor	 kompilyatsiyadan	 oldin	 fayllarni	 ko'rib
chiqadi	
 va kerakli	 amallarni	 bajaradi.	 Unga	 tegishli	 bo'lgan	 buyruqlar	 # belgisi	 bilan	 boshlanadi	 lekin	 buyruq	 ohiriga	 
nuqta-vergul	
 (;) qoyilmaydi.	 Bu	 yerda	 include	 (kiritmoq,	 qamrab	 olmoq)	 buyrug'i	 iostream.h	 faylini	 asosiy	 dasturimiz	 
ichiga	
 kiritadi.	 Bu	 fayl	 ichida	 biz	 ishlatayotgan	 cout	 oqim	 (stream)	 ob'ektining	 e'loni	 berilgan.	 C++	 stilida	 ekran	 yoki	 
klaviaturadan	
 kirish/chiqishni	 bajarmoqchi	 bo'lgan	 barcha	 dasturlar	 ushbu	 boshliq	 (header)	 faylni	 yoki	 uning	 yangi	 
ko'rinishini	
 include	 bilan	 o'z	 ichiga	 olishi	 kerak.	 Bu	 kabi	 fayllarni	 biz	 bundan	 keyin	 e'lon	 fayllari	 deb	 ataymiz.	 Chunki	 bu
fayllar	
 ichida	 funksiya	 va ob'ektlarning	 o'zi,	 yani	 tanasi	 berilmay	 faqatgina	 e'loni	 beriladi.	 include	 buyrug'i	 ikki	 hil yo'l	 
bilan	
 qo'llanilishi	 mumkin.
    1.	
 include	 <iostream.h>
  2.	
 include	 "meningfaylim.h"
  Birinchi	
 usulda	 e'lon	 fayli	 <>	 qavslari	 ichida	 yoziladi.	 Bunda	 C++	 sistemasi	 ushbu	 faylni	 oldindan	 belgilangan	 
kataloglar	
 ichidan	 qidiradi.	 Bu	 usul	 bilan	 asosan	 standart	 kutubhona	 fayllari	 qo'llaniladi.	 Ikkinchi	 usulda,	 fayl	 nomi	 
qo'shtirnoqlarga	
 olinganda,	 kiritilishi	 kerak	 bo'lgan	 fayl	 joriy	 katalogdan
qidiriladi.	
 Bu	 yo'l	 bilan	 dasturchi	 o'zi	 yozgan	 e'lon	 fayllarini	 kiritadi.	 Shuni	 aytib	 o'tish	 kerakki,	 C++	 ning	 1998	 yili	 qabul	 
qilingan	
 standartiga	 ko'ra,	 ushbu	 e'lon	 fayllari	 yangi	 ko'rinishga	 ega,	 ular	 .h bilan	 tugamaydi.	 Bunda,	 misol	 uchun,	 
bizning	
 iostream.h	 faylimiz	 iostream,	 C dan	 kelgan	 math.h
esa	
 cmath	 nomiga	 ega.	 Biz	 bu o'zgarishlarga	 keyinroq	 qaytamiz,	 hozircha	 esa	 eski	 tipdagi	 e'lon	 fayllaridan	 foydalanib
turamiz.
int main()   har	
 bir C++	 dasturining	 qismidir.	 main	 dan	 keyingi	 () qavslar	 C++	 ning	 funksiya	 deb	 ataluvchi	 blokining	 
boshlangangini	
 bildiradi.	 C++	 dasturi	 bir yoki	 bir necha	 funksiyalardan	 iborat.	 Va	 shulardan	 aniq	 bitta	 funksiya	 main	 
deb	
 atalishi	 shart.	 Bunda	 main	 dastur	 ichida	 keladigan	 birinchi	 funksiya	 bo'lmasligi	 ham	 mumkin.	 Operatsion	 sistema	 
dastur	
 ijrosini	 main()	 funksiyasidan	 boshlaydi.
main()   dan	
 oldin	 kelgan	 int esa	 main	 funksiyasidan	 qaytish	 qiymati	 tipini	 belgilaydi.	 Bunda	 int integer,	 yani	 butun	 son	 
deganidir.	
 main()	 ning	 qaytargan	 qiymati	 operatsion	 sistemaga	 boradi.
{	
 qavs	 funksiya	 va boshqa	 bloklar	 tanasini	 boshlaydi.	 Blokni	 yopish	 uchun	 }qavsi	 ishlatilinadi.
  cout	
 <<	 "Hello	 World!\n";	 satri	 C++	 da ifoda	 deb	 ataladi.	 C++	 dagi	 har	 bir ifoda	 ; (nuqta-vergul)	 bilan	 tugatilishi	 shart.	 
Ortiqcha	
 ; bo'sh	 ifoda	 deyiladi.	 Uni	 qo'yish	 dastur	 tezligiga	 ta'sir	 qilmaydi.   Kirish va chiqish   (Input/Output), yani	 dasturga	 kerakli	 ma'lumotlarni	 kiritish	 va ular	 ustida	 dastur	 tomonidan	 
bajarilgan	
 amallar	 natijalarini	 olish	 C++	 da oqim	 ob'ektlari	 orqali	 bajarilishi	 mumkin.	 Lekin	 kirish/chiqishni	 C dagi	 kabi	 
funksiyalar	
 bilan	 ham	 amalga	 oshirsa	 bo'ladi.
C++	
 falsafasiga	 ko'ra	 har	 bir kirish/chiqish	 jihozi	 (ekran,	 printer,	 klaviatura...)	 baytlar	 oqimi	 bilan	 ishlagandek	 qabul	 
qilinadi.
Yuqoridagi	
 ifoda	 bajarilganda	 bizning	 "Hello	 World!"	 gapimiz	 standart	 chiqish	 oqimi	 ob'ekti	 cout	 ga (cout	 - console	 
out)	
 jo'natiladi.	 Normal	 sharoitda	 bu oqim	 ekranga	 ulangandir.
C++	
 da satrlar	 (string)	 qo'shtirnoqlar	 (") orasida	 bo'ladi.	 Bitta	 harfli     literalar	 esa	 bitta	 tirnoq	 - apostrof	 (') ichiga	 olinadi.	 
Misol	
 uchun:	 'A',	 '$'.	 Bitta	 harf	 yoki	 belgini	 qo'shtirnoq	 ichiga	 olsa	 u satr	 kabi	 qabul
qilinadi.
<<	
 operatori	 oqimga	 kiritish	 operatori	 deyiladi.	 Programma	 ijro	 etilganda	 <<
operatorining	
 o'ng	 tomonidagi	 argument	 ekranga	 yuboriladi.	 Bunda	 ekranga	 qo'shtirnoq	 ("...")	 ichidagi	 narsa	 bosib	 
chiqariladi.	
 Lekin	 e'tibor	 bersak,	 \n belgisi	 bosilmadi.	 \ (teskari	 kasr	 - backslash)	 belgisi	 mahsus	 ma'noga	 ega.	 U 
o'zidan	
 keyin	 kelgan	 belgi	 oqim	 buyrug'i	 yoki	 manipulyatori	 ekanligini	 bildiradi.	 Shunda	 \ belgisi	 bilan	 undan	 keyin	 
kelgan	
 belgi	 buyruq	 ketma-ketligida	 aylanadi.	 Bularning	 ro'hatini	 beraylik.
  \n	
 - Yangi	 satr.	 Kursor	 yangi	 qator	 boshidan	 joy	 oladi.
\t	
 - Gorizontal	 tabulyatsiya	 (kursor	 bir-necha	 harf	 o'nga	 siljiydi).
\v	
 - Vertikal	 tabulyatsiya	 (bir-necha	 satr	 tashlanib	 o'tiladi).
\r	
 - Qaytish.	 Kursor	 ayni	 satr	 boshiga	 qaytadi,	 yani	 yangi	 satrga	 o'tmaydi.
\a	
 - Kompyuter	 dinamiki	 chalinadi.
\\	
 - Ekranga	 teskari	 kasr	 belgisini	 bosish	 uchun	 qo'llaniladi.
\"	
 - Ekranga	 qo'shtirnoq	 belgisini	 bosish	 uchun	 qo'llaniladi.
  return	
 0; (return	 - qaytmoq)	 ifodasi	 main()	 funksiyasidan	 chiqishning	 asosiy	 yo'lidir.	 0 (nol)	 qiymatining	 qaytarilishi	 
operatsion	
 sistemaga	 ushbu	 dastur	 normal	 bajarilib	 tugaganini	 bildiradi.	 return	 orqali	 qaytadigan	 qiymat	 tipi	 funksiya	 
e'lonidagi	
 qaytish	 tipi	 bilan	 bir hil bo'lishi	 kerak.	 Bizda	 bu e'lon	 int main(){...}	 edi.	 Va	 0 int tipiga	 mansubdir.	 Bundan	 
keyin	
 return	 orqali	 qaytarilayotgan	 ifodani	 qavs	 ichiga	 olamiz.	 Misol	 uchun	 return	 (6).	 Bu	 qavslar	 majburiy	 emas,	 lekin	 
bizlar	
 ularni	 programmani	 o'qishda	 qulaylik	 uchun	 kiritamiz.
  BOSHQA BIR DASTUR
  //Ushbu	
 dastur	 ikki	 butun	 sonni	 ko'paytiradi.
#	
 include	 <iostream.h>
int	
 main()
{ int sonA,	 sonB;	 //o'zgaruvchi	 e'lonlari
int	
 summa;             //e'lon
cout
 <<	 "Birinchi	 sonni	 kiriting:	 ";
cin	
 >>	 sonA;	 //Birinchi	 sonni	 o'qish...
cout	
 <<	 "Ikkinchi	 sonni	 kiriting:	 ";
cin	
 >>	 sonB;	 //Ikkinchi	 sonni	 o'qish...
summa	
 = sonA	 * sonB;
cout	
 <<	 summa	 <<	 endl;
cout	
 <<	 "sonA	 * sonB	 = " <<	 sonA	 * sonB	 <<	 endl;
return	
 (0);
}
  Ekranda:
Birinchi
 sonni	 kiriting:	 4
Ikkinchi	
 sonni	 kiriting:	 6
24
sonA	
 * sonB	 = 24
  int	
 sonA,	 sonB;	 ifodasi	 int tipidagi,	 yani	 integar	 (butun	 son)	 bo'lgan	 ikkita	 o'zgaruvchini	 e'lon	 (declaration)	 qildik.	 Agar	 
o'zgaruvchilar	
 tipi	 bir Hilda	 bo'lsa,	 yuqoridagi	 kabi	 ularni	 ketma-ket,	 vergul	 bilan	 ayirib	 yozsak	 bo'ladi.
  Keyingi	
 satrda	 esa	 int summa;	 bilan	 summa	 nomli	 o'zgaruvchini	 e'lon	 qildik.
cout	
 <<	 "Birinchi	 sonni	 kiriting:	 "; ifodasi	 bilan	 ekranga	 nima	 qilish	 kerakligini	 yozib	 chiqdik.	 cin	 >>	 sonA;	 amali	 cin	 
kirish	
 oqimi	 ob'ekti	 orqali	 sonA	 o'zgaruvchisiga	 klaviaturadan	 qiymat	 kiritmoqda.	 Sonni	 yozib	 bo'lgandan	 so'ng	 Enter	 
ni	
 bosamiz.	 Normal	 sharoitda	 kirish	 oqimi	 klaviaturaga	 bog'langan.
Shu	
 tariqa	 sonB	 ga	 ham	 qiymat	 berdik.	 Keyin	 esa	 summa	 = sonA	 * sonB;	 bilan	 biz	 ikki	 o'zgaruvchini	 ko'paytirib,	 
ko'paytma	
 qiymatini	 summa	 ga beryapmiz.	 Bu     yerdagi	 "="	 va "*" operatorlar	 ikki	 argumentli	 operatorlar	 deyiladi,	 
chunki	
 ular	 ikkita	 operand	 yoki	 boshqacha	 qilib	 etkanda	 kirish	 qiymatlari	 bilan	 ishlaydi.	 Operatorlardan	 oldin	 va keyin	 
bo'sh	
 yer	 qoldirsak,	 o'qishni	 osonlashtirgan	 bo'lamiz.       Ekranga	 javobni	 chiqarganda,	 cout	 ga tayyor	 natijani	 (summa)	 
yoki	
 matematik
ifodaning	
 o'zini	 berishimiz	 mumkin.	 Ohirgi	 cout	 ga	 bir-necha	 argumentni	 berdik.	 endl	 (end	 line	 - satrni	 tugatish)	 bu 
oqim	
 manipulyatoridir (stream manipulator).   Ba'zi bir sistemalar	 chiqish	 oqimiga	 yo'naltirilgan	 ma'lumotlarning	 ma'lum	 bir miqdori	 
yig'ilguncha	
 ushbu	 ma'lumotlarni	 ekranga	 bosib	 chiqarmay,	 buferda	 saqlashadi.	 Va	 o'sha	 chiqish	 buferi	 to'lgandan	 
keyingina	
 ma'lumotlarni	 ekranga	 yuborishadi.	 Buning	 sababi	 shuki,	 ekranga
bosish	
 nisbatan	 vaqt	 jihattan	 qimmat	 amaldir.	 Agar	 ma'lumotlar	 yig'ilib	 turib,	 bittada	 chiqarilsa,	 dastur	 ancha	 tez	 
ishlaydi.	
 Lekin	 biz	 yuqoridagi	 dasturdagi	 kabi	 qo'llanuvchi	 bilan	 savol-javob	 qiluvchi	 programmada	 yo'l-yo'riqlarimizni	 
berilgan	
 paytning	 o'zida	 ekranga	 bosib	 chiqarilishini	 hohlaymiz.	 Shu	 sababli	 biz	 endl	 ni ishlatishimiz	 kerak.
endl	
 ni biz	 "\n"	 buyrug'iga	 tenglashtirishimiz	 mumkin.	 Yani	 endl	 ni ishlatganimizda,	 bufer	 yoki	 boshqacha	 qilib	 
aytganda,	
 hotiradagi	 ma'lumotni	 vaqtinchalik	 saqlanish	 joyidagi	 informatsiya	 ekranga	 bosib	 chiqarilgandan	 so'ng,	 
kursor	
 yangi	 satr	 boshiga	 ko'chadi.	 Agar	 biz	 buferni	 bo'shatmoqchi-yu,
lekin	
 kursorni	 joyida	 saqlab	 qolmoqchi	 bo'lsak,	 flash	 manipulyatorini	 ishlatishimiz	 lozim.
  Ifodamizga	
 qaytaylik.	 cout	 <<	 "sonA	 * sonB	 = " <<	 sonA	 * sonB	 <<	 endl;	 ifodasida	 chiqish	 ob'ekti	 bitta,	 lekin	 biz	 unga	 
uchta	
 narsani	 yubordik.	 Buni	 biz	 oqimga	 ma'lumotlarni	 chiqarishni	 kaskadlash,	 zanjirlash	 yoki	 konkatenatsiya	 qilish	 
deb	
 ataymiz.	 Ayni	 amalni	 cin	 (console	 in) kirish	 oqimi	 uchun	 ham	 bajara	 olamiz.  
Hisob-kitoblar	
 chiqish	 ifodasi	 ichida	 ham	 bajarilishi	 mumkin,	 cin	 <<	 sonA	 *sonB	 <<	 endl;	 bunga	 misol.	 Agar	 bu yo'lni	 
tutganimizda,	
 summa	 o'zgaruvchisi	 kerakmas	 bo'lib	 qolardi.	 Ushbu	 dasturda	 bizda	 yangi	 bo'lgan	 narsalardan	 biri	 bu	 
o'zgaruvchi	
 (variable)	 tushunchasidir.	 O'zgaruvchilar	 kompyuter	 hotirasidagi	 joylarga	 ko'rsatib	 turishadi.	 Har	 bir 
o'zgaruvchi	
 ism,	 tip,	 hotirada	 egallagan	 joy	 kattaligi	 va qiymatga	 egadir.	 O'zgaruvchi	 ismi	 katta-kichik	 harf,	 son	 va 
past	
 tiredan     (	 _ - underscore)	 iboratdir.	 Lekin	 sondan	 boshlana	 olmaydi.	 C/C++	 da     katta-kichik	 harf,	 yani	 harflar	 
registri	
 farqlanadi.	 Misol	 uchun	 A1	 va a1
farqli	
 ismlardir.
  C++ DA ARIFMETIK AMALLAR
  Ko'p
 programmalar	 ijro	 davomida	 arifmetik	 amallarni	 bajaradi.	 C++	 dagi	 amallar	 quyidagi	 jadvalda	 berilgan.	 Ular	 
ikkita	
 operand	 bilan	 ishlatdi.    
  C++ dagi amal             Arifmetik operator             Algebraik ifoda             C++ dagi ifodasi
  Qo'shish                       +                                           h+19                                   h+19
Ayirish                           -                                             f-u                                         f-u
Ko'paytirish           *                                             sl                                             s*l
Bo'lish                             /                                             v/d,	
 vöd                       v/d
Modul	
 olish           %                                           k	 mod	 4                       k%4
  Bularning	
 ba'zi	 birlarinig	 hususiyatlarini	 ko'rib	 chiqaylik.	 Butun	 sonli	 bo'lishda,	 yani	 bo'luvchi	 ham,	 bo'linuvchi	 ham	 
butun	
 son	 bo'lganda,	 javob	 butun	 son	 bo'ladi.	 Javob	 yahlitlanmaydi,	 kasr	 qismi	 tashlanib	 yuborilib,	 butun	 qismining	 
o'zi	
 qoladi.   Modul	 operatori	 (%)	 butun	 songa	 bo'lishdan	 kelib	 chiqadigan	 qoldiqni	 beradi.	 x%y	 ifodasi	 x ni y ga 
bo'lgandan	
 keyin	 chiqadigan	 qoldiqni	 beradi.	 Demak,	 7%4	 bizga	 3 javobini	 beradi.	 % operatori	 faqat	 butun	 sonlar	 
bilan	
 ishlaydi.	 Vergulli	 (real)	 sonlar	 bilan	 ishlash	 uchun	 "math.h"	 kutubhonasidagi	 fmod   funksiyasini	 qollash	 kerak.   C++ da qavslarning	 ma'nisi	 huddi	 algebradagidekdir.	 Undan	 tashqari	 boshqa	 boshqa	 algebraik	 ifodalarning	 ketma-
ketligi	
 ham	 odatdagidek.	 Oldin	 ko'paytirish,	 bo'lish	 va modul	 olish	 operatorlari	 ijro	 ko'radi.	 Agar	 bir necha	 operator	 
ketma-ket	
 kelsa,	 ular	 chapdan	 o'nga	 qarab	 ishlanadi.	 Bu	 operatorlardan	 keyin	 esa	 qo'shish	 va ayirish	 ijro	 etiladi.    
  Misol	
 keltiraylik.	 k = m * 5 + 7 % n / (9 + x);
Birinchi	
 bo'lib	 m * 5 hisoblanadi.	 Keyin	 7 % n topiladi	 va qoldiq	 (9 + x) ga bo'linadi.	 Chiqqan	 javob	 esa	 m * 5 ning	 
javobiga	
 qo'shiladi.	 Qisqasini	 aytsak,	 amallar	 matematikadagi	 kabi.	 Lekin	 biz	 o'qishni	 osonlashtirish	 uchun	 va hato	 
qilish	
 ehtimolini	 kamaytirish	 maqsadida	 qavslarni	 kengroq	 ishlatishimiz   mumkin.	 Yuqoridagi	 misolimiz	 quyidagi	 
ko'rinishga	
 ega	 bo'ladi.  
  k	
 = ( m * 5 ) + ( ( 7 % n ) / ( 9 + x ) );
  MANTIQIY SOLISHTIRISH OPERATORLARI
  C++	
 bir necha	 solishtirish	 operatorlariga	 ega.
Algebraik	
 ifoda       C++	 dagi	 operator       C++	 dagi	 ifoda       Algebraik	 ma'nosi
tenglik guruhi
=                                               ==                                   x==y                         x	
 tengdir	 y ga
teng	
 emas                   !=                                     x!=y                           x	 teng	 emas	 y ga
solishtirish guruhi
>                                   >                                       x>y                             x	
 katta	 y dan
<                                   <                                       x<y                             x	
 kichkina	 y dan
katta-teng                 >=                                     x>=y                           x	
 katta	 yoki	 teng	 y ga
kichik-teng               <=                                     x<=y                           x	
 kichik	 yoki	 teng	 y ga
  ==,	
 !=,	 >=	 va <=	 operatorlarni	 yozganda	 oraga	 bo'sh	 joy	 qo'yib	 ketish	 sintaksis	 hatodir.	 Yani	 kompilyator	 dasturdagi	 
hatoni	
 ko'rsatib	 beradi	 va uni	 tuzatilishini	 talab	 qiladi.	 Ushbu	 ikki	 belgili	 operatorlarning	 belgilarining	 joyini	 
almashtirish,	
 masalan	 <=	 ni =<	 qilib	 yozish	 ko'p	 hollarda	 sintaksis
hatolarga	
 olib	 keladi.	 Gohida	 esa	 != ni =! deb	 yozganda	 sintaksis	 hato	 vujudga     ham,	 bu mantiqiy	 hato	 bo'ladi.	 
Mantiqiy	
 hatolarni	 kompilyator	 topa	 olmaydi.	 Lekin	 ular	 programma	 ishlash	 mantig'ini	 o'zgartirib	 yuboradi.	 Bu	 kabi	 
hatolarni	
 topish	 esa	 ancha	 mashaqqatli	 ishdir	 (! operatori	 mantiqiy	 inkordir).
Yana   boshqa	
 hatolardan	 biri	 tenglik	 operatori	 (==)	 va tenglashtirish,	 qiymat	 berish	 operatorlarini	 (=)	 bir-biri	 bilan	 
almashtirib	
 qo'yishdir.	 Bu	 ham	 juda	 ayanchli	 oqibatlarga	 olib	 keladi,	 chunki	 ushbu	 hato	 aksariyat	 hollarda	 mantiq	 
hatolariga	
 olib	 keladi.
Yuqoridagi	
 solishtirish	 operatorlarini	 ishlatadigan	 bir dasturni	 ko'raylik.
  //Mantiqiy	
 solishtirish	 operatorlari # include	 <iostream.h>
int	
 main()
{
int
 s1,	 s2;
cout
 <<	 "Ikki	 son	 kiriting:	 " <<	 endl;
cin	
 >>	 s1 >>	 s2;                                               //Ikki	 son	 olindi.
if	
 (s1	 ==	 s2)	 cout	 <<	 s1 <<	 " teng	 " <<	 s2 <<	 " ga"	 <<	 endl;
if	
 (s1	 < s2)	 cout	 <<	 s1 <<	 " kichik	 " <<	 s2 <<	 " dan"	 <<	 endl;
if	
 (s1	 >=	 s2)	 cout	 <<	 s1 <<	 " katta	 yoki	 teng	 " <<	 s2 <<	 " ga"	 <<	 endl;
if	
 (s1	 != s2)	 cout	 <<	 s1 <<	 " teng	 emas	 " <<	 s2 <<	 " ga"	 <<	 endl;
return	
 (0);
}
 
Ekranda:
Ikki	
 sonni	 kiroting:	 74 33
74	
 katta	 yoki	 teng	 33	 ga
74	
 teng	 emas	 33	 ga
 
Bu	
 yerda	 bizga	 yangi	 narda	 bu C++	 ning	 if (agar)	 strukturasidir.	 if ifodasi	 ma'lum	 bir shartning	 to'g'ri	 (true)	 yoki	 
noto'g'ri	
 (false)	 bo'lishiga	 qarab,	 dasturning	 u yoki	 bu blokini	 bajarishga	 imkon	 beradi.	 Agar	 shart	 to'g'ri	 bo'lsa,	 if dan	 
so'ng	
 keluvchi	 amal	 bajariladi.	 Agar	 shart	 bajarilmasa,	 u holda	 if tanasidagi	 ifoda	 bajarilmay,	 if dan	 so'ng	 kelunchi	 
ifodalar	
 ijrosi	 davom	 ettiriladi.	 Bu	 strukturaning	 ko'rinishi	 quyidagichadir:
if	
 (shart)	 ifoda;
Shart	
 qismi	 qavs	 ichida	 bo'lishi	 majburiydir.	 Eng	 ohirida	 keluvchi     nuqta-vergul	 (;) shart	 qismidan	 keyin	 qo'yilsa     (	 if 
(shart);	
 ifoda;	 ) mantiq	 hatosi	 vujudga	 keladi.	 Chunki	 bunda	 if tanasi	 bo'sh	 qoladi.	 ifoda	 qismi	 esa	 shartning	 to'g'ri-
noto'g'ri	
 bo'lishiga	 qaramay	 ijro	 ko'raveradi.
C++	
 da bitta	 ifodani	 qo'yish	 mumkin	 bo'lgan	 joyga	 ifodalar	 guruhini	 ham	 qo'yish	 mumkin.	 Bu	 guruhni	 {} qavslar	 ichida	 
yozish	
 kerak.	 if da bu bunday	 bo'ladi:
  if	
 (shart)	 {       ifoda1;
      ifoda2;
      ...
      ifodaN;
}
  Agar shart	 to'g'ri	 javobni	 bersa,	 ifodalar	 guruhi	 bajariladi,	 aksi	 taqdirda	 blokni	 yopuvchi	 qavslardan	 keyingi	 
ifodalardan	
 dastur	 ijrosi	 davom	 ettiriladi.
    YANGI STILDAGI E'LON FAYLLARI VA ISMLAR SOHASI TUSHUNCHASI
  C++	
 ning	 standarti	 .h bilan	 tugaydigan	 (stdio.h	 ...)	 standart	 kutubhona	 e'lon	 fayllarini	 yangittan	 nomlab	 chiqdi.	 
Bunda	
 .h qo'shimchasi	 olib	 tashlandi.	 C dan	 qolgan	 fayllar	 ismiga	 esa	 c harfi	 qo'shildi.  
Misol	
 uchun:
  iostream.h	
 -> iostream
string.h       ->	
 cstring
stdlib.h       ->
 cstdlib
time.h           ->
 ctime
  C	
 dan	 meros	 qolgan	 kutubhona	 18 ta e'lon	 fayli	 orqali	 berilgan.	 C++	 ga tegishli	 standart	 kutubhonada	 esa	 32	 ta e'lon	 
fayl	
 bor.	 Fayllarni	 yangittan	 belgilashdan	 maqsad	 kutubhodadagi	 funksiya	 va ob'ektlarni
std	
 deb	 ataluvchi	 ismlar	 sohasiga	 (namespace)	 kiritishdir.
Ismlar	
 sohasining	 o'zi	 ham	 nisbatan	 yangi	 tushuncha.	 Ismlar	 sohasini	 alohida	 dastur	 qismlari	 deb	 faraz	 qilsak	 boladi.	 
Boshqa-boshqa	
 sohalarda	 ayni	 ismli	 funksiya,	 o'zgaruvchi	 nomlari	 va ob'ektlar	 berilishi	 mumkin.	 Va	 bunda	 hech	 
qanday	
 ismlar	 to'qnashuvi	 sodir	 bo'lmaydi.	 Misol	 uchun	 bizda	 global,	 std	 va
fun::obj	
 degan	 ism	 sohalari	 bo'lsin.	 Ularning	 har	 birining	 ichida	 esa	 cout	 nomli	 ob'ekt	 aniqlangan	 bo'lsin.	 C++	 da to'liq	 
aniqlangan	
 ism	 (fully	 qualified	 name)	 degan	 tushuncha	 bor.	 Shunga	 ko'ra	 har	 bir cout
ob'ektinig	
 to'liq	 ismi	 quyidagicha	 bo'ladi:
Ismlar	
 sohasi           ob'ekt
  global                         ::cout
std                               std::cout
fun::obj                     fun::obj::cout   :: operatori	 sohalarni	 bog'lash	 uchun	 qo'llaniladi.	 fun::obj	 nomli	 ismlar	 sohasida	 obj	 fun	 ichida	 joylashgan	 ism	 
sohasidir.	
 Global	 ismlar	 sohasida	 aniqlangan	 funksiya	 va boshqa	 turdagi	 dastur	 birliklariga	 programmaning	 istalgan	 
yeridan	
 yetishsa	 bo'ladi.	 Masalan	 global	 ismlar	 sohasida	 e'lon
qilingan	
 int tipidagi	 k ismli	 o'zgaruvchimiz	 bol'sa,	 uning	 ustidan	 dasturning	 hohlagan	 blokida	 amal	 bajarsak	 bo'ladi.	 
Ismlar	
 sohasi	 mehanizmi	 dasturchilarga	 yangi	 kutubhonalarni	 yozish	 ishini	 ancha	 osonlashtiradi.	 Chunki	 yangi	 
kutubhonada	
 ayni	 ismlar	 qo'llanishiga	 qaramay,	 ismlar	 konflikti	 yuz	 bermaydi.	 Dastur	 yoki	 kutubhona	 yozganda	 yangi	 
ismlar	
 sohasini	 belgilash	 uchun
namespace	
 istalgan_ism	 {
...
foo();
int	
 k;
String	
 str;
...
}
 
deb	
 yozamiz.	 Dasturimizda	 ushbu	 ismlar	 sohasida	 aniqlangan	 o'zgaruvchilarni	 ishlatish	 uchun	 ularning	 to'liq	 ismini	 
yozishimiz	
 kerak.	 Masalan:    
istalgan_ism::foo();
  Ammo	
 bu usul	 ancha	 mashaqqatli	 bo'ladi.	 Har	 bir funksiya	 yoki	 o'zgaruvchi     oldiga	 uning	 to'liq	 aniqlangan	 ismini	 
yozish	
 ko'p	 vaqt	 oladi.	 Buning	 o'rniga	 biz   using	 namespace	 istalgan_ism;   deb	 yozib	 o'tsak	 kifoya.	 using	 (ishlatish,	 
qo'llash)	
 buyrug'i	 bizning	 ismlar	 sohamizni	 dasturimiz	 ichiga	 tanishtiradi.	 Eng	 asosiysi	 biz	 bu amalni	 sohada	 
aniqlangan	
 va biz	 qo'llamoqchi	 bo'lgan	 ismlarning	 ilk chaqirig'idan	 oldin	 yozishimiz	 kerak.	 C++	 ning	 standart	 
kutubhonasida	
 aniqlangan	 ifodalarni	 qo'llash	 uchun	 biz     using	 namespace	 std;   deymiz.	 Va	 albatta	 qo'llanilayotgan	 
e'lon	
 fayllari	 yangi	 tipda	 bo'lishi	 kerak.	 Endi	 bu tushunchalarni	 ishlatadigan	 bir dasturni	 keltiraylik.  
//Yangi	
 tipdagi	 e'lon	 fayllari	 va ismlar	 sohasini	 qo'llash.
  #	
 include	 <iostream>
using	
 namespace	 std;
int	
 main()
{
std::cout	
 <<	 "Hello!\n";
cout	
 <<	 "Qale!"; return (0);
}
 
Ekranda:
Hello!
Qale!
  std:: cout	
 <<	 "Hello\n";	 satrida	 biz	 chiqish	 oqimi	 ob'ekti	 cout	 ning	 to'liq     ismini	 qo'lladik.	 Keyingi	 satrda	 esa	 biz	 yana	 
ayni	
 ob'ektni	 ishlatdik,	 lekin	 endi	 uni	 to'liq	 atab	 o'tirmadik,	 chunki	 biz	 std	 ismlar	 sohasini	 using	 bilan	 e'lon	 qilib	 bo'ldik.	 
Ismlarni	
 global	 ismlar	 sohasida	 e'lon	 qilish	 uchun	 ularni	 blok	 va funkisiyalar	 tashqarisida	 aniqlash	 kerak.	 Masalan:
  #	
 include	 <stdio.h>
int	
 i;
int
 main()
{
...
int
 k;
...
return	
 (0);
}
 
Bu	
 yerda	 i global	 ismlar	 sohasida	 joylashgan,	 k esa	 main()	 funksiyasiga	 tegishli.	 O'zgaruvchilarni	 global	 ism	 sohasida
aniqlashning	
 boshqa	 yo'li,	 ularni	 nomsiz	 ismlar	 sohasida	 belgilashdir.	 Yani:
  namespace	
 {
int	
 j;
}
  j
 o'zgaruvchisi	 global	 boldi.	 Uni	 ishlatish	 uchun:
::j	
 = ::j + 7;
::	
 operatorini	 qo'llashimiz	 mumkin,	 yoki	 oddiygina	 qalib	 faqat	 o'zini:
j	
 = j * 9; kabi yozishimiz	 mumkin.	 Ammo	 agar	 biz	 ishlayatgan	 dastur	 blokida	 ayni	 ismli	 o'zgaruvchi	 bo'lsa,	 masalan	 j, unda	 
ushbu	
 lokal	 aniqlangan	 j bizning	 global	 j imizni	 berkitib	 qo'yadi.	 Biz	 j ni o'zini	 qo'llasak,	 lokal	 j ga murojat	 qilgan	 qilgan	 
bo'lamiz.	
 Global	 j ni ishlatish	 uchun	 endi	 :: operatorini
qo'llashga majburmiz. Bu mulohazalar umuman olganda boshqa ismlar sohalarini 
ishlatganimizda ham o'rinlidir.  
Xulosa.
Ob'ektga yo'naltirilgan dasturlashda qo'llaniladigan polimorfizmning maqsadi, sinf
uchun umumiy bo'lgan harakatlarni belgilash uchun bitta nomdan foydala-nishdir.
Har   bir   harakatning   bajarilishi   ma'lumotlar   turiga   qarab   belgilanadi.
Polimorfizmning   afzalligi   shundaki,   u   bitta   interfeysdan   foydalanib   yagona
harakatlar   sinfini   aniqlashga   imkon   berish   orqali   dasturlarni   soddalashtirishga
yordam beradi. 
Dev C++ da ma'lumotlarni tashkil qilish klasslar orqali amalga oshiriladi.  
Dev C++ klassi maydonlar, turlar va funktsiyalaridan iborat bo'ladi. C++ 
tilidagi inkapsulatsiya klass a'zolarining ta’sir doirasini  belgilaydi:  ular 
ommaviy, himoyalangan va xususiy bo`lishi mumkin.
                                        Foydalanilgan adabiyotlar:
1.Texnoman.uz
2. https://www.texnoman.uz/post/c-haqida-va-uning-tarixi.html
3. https://uzbekdevs.uz/darsliklar/cpp/cpp-da-kirish
4.Uzbecccoders community 5. http://e-dastur.uz/maqola/dars/220-c.html
6. https://play.google.com/store/apps/details?
id=uz.programmer.programmer_uz&hl=ru&gl=US
7. https://play.google.com/store/apps/details?
id=uz.programmer.programmer_uz&hl=ru&gl=US

“Dev C++ dasturi,uning interfeysi,imkoniyatlari hamda foydalanilishi ” Reja: Kirish……………………………………………………………………………………… I BOB Dev C++ dasturlash tili 1.1. Dev C++ uning interfeysi 1.2. Dev C++ alfabeti II BOB Dev C++ tili imkoniyatlari 2.1.Dev C++ dasturlash tili imkoniyatlari 2.2.Dev C++ foydalanish afzalligi III BOB 3.1.Dev C++ dastur tuzish XULOSA ……………………………………………………………………………………………… FOYDALANILGAN ADABIYOTLAR RO’YHATI ……………………………………………………………................................

Kirish Bugungi kunda ko’plab dasturlash tillari mavjud (Java,JS,Python,Swift va hokazo). Agar siz qay biridan boshlashga qiynalayotgan bo’lsangiz , sizga C++ dasturlash tilini maslaxat bergan bo’lardim. Chunki bu eng yaxshi yo’ldir.Ayniqsa, Dasturlash soxasiga endi kirib kelgan do’stlarimizga . Sizga muxim tarzda tavsiflasam ushbu dasturlash tilini , ushbu tilni bilgan C++ developerlar uchun talab nafaqat O’zbekistonda balki butun dunyoda juda katta, Nima uchun? degan savol tug’ilishi mumkin, negaki Bu tilda Dasturlash soxasining barcha yo’nalishlarida (Android dasturlash, Game dasturlash, Database dasturlash, Desktop dasturlash va hokazo) dasturlar yarata olasiz. Dunyodagi yetakchi SMM platformalari (Facebook,Microsoft va hokazo) ushbu dasturlash tilida ishlab chiqilgan.

I BOB. Dev C++ dasturlash tili Dev C++ dasturlash tili nomi Dev C dasturlash tilidan kelib chiqqan bq`lib, ++ belgisi inkrement amali, ya`ni o'zgaruvchining qiymatini bittaga oshish amalidan olingan. Dev C ++ dasturlash tili turli xil amaliy dasturlarni yaratish, operatsion tizimlarni, qurilma drayverlarini, shuningdek video o'yinlarni va boshqalarni yaratish uchun keng qo'llaniladi. Dev C ++ dasturlash tili 1980-yillarning boshlarida Bell Laboratories firmasi xodimi Byorn Stroustrup tomonidan yaratilgan. Dev C++ (talaffuzi: si plyus plyus) — turli maqsadlar uchun mo ljallangan ʻ dasturlash tili. 1979-yili Bell Laboratories da Bjarne Stroustrup tomonidan C dasturlash tilining imkoniyatlarini kengaytirish va OOP(object Oriented Programming) xususiyatini kiritish maqsadida ishlab chiqarilgan. Boshida „C with Classes“ deb atalgan, 1983-yili hozirgi nom bilan ya ni C++ deb o zgartirilgan. ʼ ʻ Dev C++ C da yozilgan dasturlarni kompilyatsiya qila oladi, ammo C kompilyatori bu xususiyatga ega emas. C++ tili operatsiyon tizimlarga aloqador qisimlarni, klient-server dasturlarni, EHM o yinlarini, kundalik ehtiyojda qo llaniladigan ʻ ʻ dasturlarni va shu kabi turli maqsadlarda ishlatiladigan dasturlarni ishlab chiqarishda qo llaniladi. ʻ Dastlab UNIX operatsion tizimi va С dasturlash tili yaratilgan va С tili asosida C++ tili yaratildi. С esa o'z navbatida B va BCPL tillaridan kelib chiqgan. Dev C++ tilini 80 yillarda AT&T Bell Labs korxonasi ishchisi Byarnom Straustrup tuzgan. Avtorning aytishicha, bu tilni tuzishda u hech qanday qog'ozlarni qoralamagan va hamma ishni yo'l yo'lakay, ketma-ketlikda tuzib chiqqan. Uning asosiy maqsadi, o'zi va do'stlari uchun qulay dasturlash tili yaratishdan iborat edi. Dev C++ dasturlash tilining asosi C hisoblanadi va shu tilni(C) misolida C++ tilini tuzib chiqdi. C dasturlash tilini mukammalashtirgan eng asosiy narsa bu – ob'yektga mo'ljallangan dasturlashni olib kirgani hisoblanadi. Chunki dasturlashda,

tez, qulay , tartibli va ixcham yozish uchun ob'yektga mo'ljallangan dasturlash tillaridan foydalanish lozim bo'ladi. Dastlabki Dev C++ dasturlash tilidan foydalanganlar, bu albatta Bell Labs korxonasi hodimlari hisoblanadi. 1993 yilda bu til ommaga taqdim etildi va Dev C++ nomini oldi. Dastlabki Dev C+ + ga oid kitob "The Dev C++ Programming Language(Addison-Wesley, 1985)" nomi bilan mashhur bo'ldi va bu kitob 1991 yil "Язык программирование C++" tarjimasi bilan rus tiliga tarjima qilindi va bu til(С++) rivojlanishi boshlanib ketdi. ANSI-ISO (ANSI X3J16; ISO WG21/N0836) birlashmasi 1989 yilda, birlashga holda ish boshladi. Bu korxonaning dastlabki ishi C++ dasturlash tiliga va uning kutubxonasiga standart ishlab chiqishdan boshlandi. Buning uchun 1990 yildagi Dev C++ tili asos qilib olindi. Bugun biz sizlarga dasturlash tillaridan biri c++ ni boshlaganlar uchun qisqacha malumot bermoqchimiz. Siz dasturlashni urgana boshladingizmi uni matematika fanini bilmasdan turib yaxshi o'rgana olmaysiz. Mani fikrimcha xamma xam boshida matematik misol yechishdan boshlasa kerak. Xamma narsa xam oddiy narsalardan boshlanadi: } Bu dastur konsol oynasida "KI.UZ saytiga xush kelibsiz" degan yozuvni chiqaradi.

Endi ishlatilgan so'zlarga izoh bersak. include - kutubxonaga murojatni bildiradi iostream - kiritish va chiqarish funksiyalarini uzida jamlagan kutubxona using namespace std - ismlar fazosi standart nomlaridan foydalanishni anglatadi. int main - funksiyamizni tanasini bildiradi { } - funskiyamiz bishlanishi va tugallanishini bildiradi cout - ekranga yozuv chiqarishni taminlaydi Sizga maslaxatim siz endi boshlayotgan bulsangiz xamda misol yechishni urnagayotgan bulsangiz dev c++ dasturidan foydalaning. chunki unda misol yechish uchun imkoniyatlar yetarli xamda boshlang'ichlar uchun kifoya qiladi. Eng asosiysi bepul tarqatiladi yani litsenziya shart emas ))