I.NAZARIY QISM
1 O’zgaruvchilar turlari, obektlar
Dastur bajarilishi paytida qandaydir berilganlarni saqlab turish uchun o‘zgaruvchilar va o‘zgarmaslardan foydalaniladi. O‘zgaruvchi - dastur obyekti bo‘lib, xotiradagi bir nechta yacheyka-larni egallaydi va berilganlarni saqlash uchun xizmat qiladi. O‘zgaruvchi nomga, o‘lchamga va boshqa atributlarga - ko‘rinish sohasi, amal qilish vaqti va boshqa xususiyatlarga ega bo‘ladi. O‘zgaruvchilarni ishlatish uchun ular albatta e’lon qilinishi kerak. E’lon natijasida o‘zgaruvchi uchun xotiradan qandaydir soha zahiralanadi, soha o‘lchami esa o‘zgaruvchining konkret turiga bog‘liq bo‘ladi. SHuni qayd etish zarurki, bitta turga turli apparat platformalarda turlicha joy ajratilishi mumkin.
O‘zgaruvchi e’loni uning turini aniqlovchi kalit so‘zi bilan boshlanadi va ‘=’ belgisi orqali boshlang‘ich qiymat beriladi (shart emas). Bitta kalit so‘z bilan bir nechta o‘zgaruvchilarni e’lon qilish mumkin. Buning uchun o‘zgaruvchilar bir-biridan ‘,’ belgisi bilan ajratiladi. E’lonlar ‘;’ belgisi bilan tugaydi. O‘zgaruvchi nomi 255 belgidan oshmasligi kerak.
long int
|
4
|
-2147483648..2147483647
|
int (16 razryadli)
|
2
|
-32768..32767
|
int (32 razryadli)
|
4
|
-2147483648..2147483647
|
unsigned int (16 razryadli)
|
2
|
0..65535
|
unsigned int (32 razryadli)
|
4
|
0..42949667295
|
unsigned char
|
1
|
0..255
|
Char
|
1
|
-128..127
|
Float
|
4
|
1.2E-38..3.4E38
|
Double
|
8
|
2.2E-308..1.8E308
|
long double (32 razryadli)
|
10
|
3.4e-4932..-3.4e4932
|
Void
|
2 yoki 4
|
-
|
|
|
|
Butun son turlari.
Butun son qiymatlarni qabul qiladigan o‘zgaruvchilar int (butun), short (qisqa) va long (uzun) kalit so‘zlar bilan aniqlanadi. Matematik mantiq - fikrlashning shakli va qonuniyatlapi haqidagi fan. Uning asosini mulohazalar hisobi tashkil qiladi. Mulohaza - bu ixtiyoriy jumla bo‘lib, unga nisbatan rost yoki yolg‘on fikrni bildirish mumkun. mumkin. Masalan «3>2», «5 - juft son», «Moskva-Ukraina poytaxti» va hakozo. Lekin «0.000001 kichik son» jumlasi mulohaza hisoblanmaydi, chunki «kichik son» tushunchasi juda ham nisbiy, ya’ni kichik son deganda qanday sonni tushunish kerakligi aniq emas. Shuning uchun yuqoridagi jumlani rost yoki yolg‘onligi haqida fikr bildirish qiyin.
Belgi turi. Belgi turidagi o‘zgaruvchilar char kalit so‘zi bilan beriladi va ular o‘zida belgining ASCII kodini saqlaydi. Belgi turidagi qiymatlar nisbatan murakkab bo‘lgan tuzilmalar - satrlar, belgilar massivlari va hakozalarni hosil qilishda ishlatiladi
Mantiqiy tur. Bu turdagi o‘zgaruvchi bool kalit so‘zi bilan e’lon qilinadi. U turdagi o‘zgaruvchi 1 bayt joy egallaydi va 0 (false, yolg‘on) yoki 0 qiymatidan farqli qiymat (true, rost) qabul qiladi. Mantiqiy turdagi o‘zgaruvchilar qiymatlar o‘rtasidagi munosabat-larni ifodalaydigan mulohazalarni rost yoki yolg‘on ekanligini tavsiflashda qo‘llaniladi va ular qabul qiladigan qiymatlar matematik mantiq qonuniyatlariga asoslanadi.
Mantiqiy mulohazalar ustida uchta amal aniqlangan:
konyuksiya- ikkita A va V mulohazalar kon’yuksiyasi yoki mantiqiy ko‘paytmasi «A && V» ko‘rinishga ega. Bu mulohaza faqat A va V mulohazalar rost bo‘lgandagina rost bo‘ladi, aks holda yolg‘on bo‘ladi (odatda «&&» amali «va» deb o‘qiladi). Masalan «bugun oyning 5 kuni va bugun chorshanba» mulohazasi oyning 5 kuni chorshanba bo‘lgan kunlar uchungina rost bo‘ladi;
diz’yunksiya - ikkita A va V mulohazalar diz’yunksiyasi yoki mantiqiy yig‘indisi «A || V» ko‘rinishda yoziladi. Bu mulohaza rost bo‘lishi uchun A yoki V mulohazalardan biri rost bo‘lishi etarli. Odatda «||» amali «yoki» deb o‘qiladi.
inkor - A mulohazani inkori deganda A rost bo‘lganda yolg‘on va yolg‘on bo‘lganda rost qiymat qabul qiluvchi mulohazaga aytiladi. С++ tilida inkor - ‘!’ belgisi bilan beriladi. Masalan, A mulohaza inkori «!A» ko‘rinishida yoziladi;
void turi.
void turidagi dastur obyekti hech qanday qiymatga ega bo‘lmaydi va bu turdan qurilmaning til sintaksisiga mos kelishini ta’minlash uchun ishlatiladi. Masalan, С++ tili sintaksisi funksiya qiymat qaytarishini talab qiladi. Agar funksiya qiymat qaytarmaydigan bo‘lsa, u void kalit so‘zi bilan e’lon qilinadi.
1.2Sikl operatorlari
Takrorlash operatorining C++ da 4 xil turi mavjud:
• For
• While
• Do-while
• foreach
Umuman olganda kod yozayotganingizda bir xil hisoblash jarayonini qayta qayta yozish qimmatli vaqtingizni o'g'irlab sizni bezor qilishi mumkin, masalan siz “Salom, Dunyo!” jumlasini 100 marta yozishingiz zarur bo’lib qoldi. Siz uni qayta qayta yozib chiqgan bo’larmidingiz, yo’q albatta. Bu dasturchining asabini buzib, ko'ziga baloday ko'rsatib qo'yishi aniq. Aynan ushbu muammoning oldini olish uchun takrorlash operatorlari ishlab chiqilgan, ya’ni siz ta’kidlab o’tilgan jumlani bir necha qator kod bilan nafaqat 100 marta balkim googel marta ham yozishingiz mumkin. Googel bu eng katta son bo’lib, siz unga 1 soni qo’shsangiz, aynan ushbu sonni googel o’zlashtiradi. Siz o’zingiz uchun ulardan o’zingizga qulay bo’lganini tanlab olishingiz mumkin.
Masala: 1 dan 10 gacha bo’lgan sonlarni ko’rib chiqamiz:
for(o’zgaruvchi ; munosabat amallari ; postfiks)
{
Operator yoki blok; (yoki sikl tanasi)
}
Bu operator eng birinchi o’zgaruvchidan ishni boshlaydi, undan so’ng munosabat amallarini tekshiradi, har bir takrorlanish mobaynida u munosabat amallariga murojaat qiladi, agar munosabatlar to’g’ri bo’lsa operator yoki blokni bajaradi, postfiks esa undan so’ng bajariladi, agar noto’g’ri qiymatni olsa dasturimiz undan keyingi ya’ni operatorimizdan keyingi amallarni bajaradi yoki boshqa amallar yo’q bo’lsa, u to’xtaydi.
Shart operatorlari
Shundan dasturlar mavjudki ularning shartiga qarab ikki xil natija qabul qilishi mumkin. Bu o`z navbatida dasturni tarmoqlanishga olib keladi. Tarmoqlarning qaysi qismi bajarilishi ayrim shartlarga qarab aniqlanadi.
Shart operatori: Shart operatori boshqarishni qaysi tarmoqqa uzatishni ta’minlaydi.
Shart operatorining ikki xil ko`rinishi mavjud.
if () ; tekshirilishi lozim bo`lgan mantiqiy ifoda Agar shart rost (true) qiymatga ega bo`lsa bajarilishi lozim bo`lgan operator.
Agar shart yolg`on (false) qiymatga ega bo`lsa bajarilishi lozim
bo`lgan operator. Shart operatori tarkibida ixtiyoriy operatordan foydalanish mumkin. Shu o`rinda Shart operatoridan ham.
if ();
else ; if agar, else aks holda ma`nolarini anglatadi.Shart operatorining qisqa ko`rinishi:
masalan: sonong juft toqligini aniqlaovchi dastur
#include
#include
int main()
{
int a;
cin>>a;
if (a%2==0)
cout<<"juft";
else
cout<<"toq";
system ("pause");
return 0;
}
C++ tili оpеratоrlarni blоk ko’ rinishida bo’ lishiga imkоn bеradi. Blоk ‘{‘ va ‘}’ bеlgi оralig'iga оlingan оpеratоrlar kеtma-kеtligi bo’ lib, u kоmpilyatоr tоmоnidan yaхlit bir оpеratоr dеb qabul qilinadi. Blоk ichida yangi o'zgaruvchilarni ham e'lon qilish mumkin. Bu o’zgaruvchilar faqat blоk ichida ko’rinadi, undan tashqarida ko’rinmaydi, ya'ni blokdan tashqarida bu o'zgaruvchilarni ishlatib bo'lmaydi. Blоkdan kеyin nuqtali vеrgul qo’yilmaydi, lеkin blоk ichida har bir оpеratоr nuqtali vеrgul bilan yakunlanishi shart.
Agar tеkshirilayotgan shart nisbatan sоdda bo’ lsa, shart amalini «?: » ko’ rinishini
ishlatish mumkin. Bu operator quyidagi ko’rinishga ega:
оda> ? оda1> : оda2>;
if shart оpеratоriga o’ хshash hоlda bu shart amali quyidagicha ishlaydi: agar rоst (true) bo’lsa bajariladi, aks hоlda . Оdatda ifоdalar qiymatlari birоrta o’zgaruvchiga o’zlashtiriladi.
Misol 2: 2 ta sondan kattasini topuvchi dastur tuzilsin.
#include
#include
int main()
{
int a,b,max;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
max=(a>b)?a:b;
cout<
system ("pause");
return 0;
}
Tanlash operatorida bir nechta qiymatga bir hil operator ishlatishi quyidagicha bo'ladi.
switch (n)
{
case 1:
case 3:
case 5:
case 7:
case 9: cout << "Toq son kiritildi"; break;
case 2:
case 4:
case 6:
case 8:
case 10: cout << "Juft son kiritildi"; break;
default: cout << "1 dan kichik yoki 10 dan katta son kiritildi";
}
break; switch operatori o’z ishini yakunlaydi.
Default agr son switch operatorini talabiga to’g’ri kelmasa default ishlaydi.
Do'stlaringiz bilan baham: |