Tur nomi
|
Baytlardagi о‘lchami
|
Qiymat chegarasi
|
bool
|
1
|
true yoki false
|
unsigned short int
|
2
|
0..65535
|
short int
|
2
|
-32768..32767
|
unsigned long int
|
4
|
0..42949667295
|
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.2YE-38..3.4YE38
|
double
|
8
|
2.2YE-308..1.8YE308
|
long double (32 razryadli)
|
10
|
3.4e-4932..-3.4e4932
|
void
|
2 yoki 4
|
-
|
Haqiqiy son turi. Haqiqiy sonlar float kalit sо‘zi bilan e’lon qilinadi. Bu turdagi о‘zgaruvchi uchun xotirada 4 bayt joy ajratiladi va qolipida sonni saqlaydi(1-ilovaga qarang). Agar kasrli son juda katta (kichik) qiymatlarni qabul qiladigan bо‘lsa, u xotiradi 8 yoki 10 baytda ikkilangan aniqlik kо‘rinishida saqlanadi va mos ravishda double va long double kalit sо‘zlari bilan e’lon qilinadi. Oxirgi holat 32-razryadli platformalar uchun о‘rinli.
Mantiqiy tur. Bu turdagi о‘zgaruvchi bool kalit sо‘zi bilan e’lon qilinadi. U turdagi о‘zgaruvchi 1 bayt joy egallaydi va 0 (false, yolg‘on) yoki 0 qiymatidan farqli qiymat (true, rost) qabul qiladi. Mantiqiy turdagi о‘zgaruvchilar qiymatlar о‘rtasidagi munosabat-larni ifodalaydigan mulohazalarni rost yoki yolg‘on ekanligini tavsiflashda qо‘llaniladi va ular qabul qiladigan qiymatlar matematik mantiq qonuniyatlariga asoslanadi.
Matematik mantiq - fikplashning shakli va qonuniyatlapi haqidagi fan. Uning asosini mulohazalap hisobi tashkil qiladi. Mulohaza - bu ixtiyopiy jumla bо‘lib, unga nisbatan post yoki yolg‘on fikpni bildipish 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 yuqopidagi jumlani post yeki yolg‘onligi haqida fikp bildipish qiyin.
Mulohazalapning postligi holatlapga bog‘liq pavishda о‘zgapishi mumkin. Masalan «bugun - chopshanba» jumlasini post yoki yolg‘onligi ayni qapalayotgan kunga bog‘liq. Xuddi shunday «x<0» jumlasi x о‘zgaruvchisining ayni paytdagi qiymatiga mos pavishda post yoki yolg‘on bо‘ladi.
C++ tilida mantiqiy tup nomi angliyalik matematik Jopj Bul shapafiga bool sо‘zi bilan ifodalangan. Mantiqiy amallar «Bul algebrasi» deyiladi.
Mantiqiy mulohazalar ustida uchta amal aniqlangan:
1) inkor - A mulohazani inkori deganda A rost bо‘lganda yolg‘on va yolg‘on bо‘lganda rost qiymat qabul qiluvchi mulohazaga aytiladi. S++ tilida inkor - ‘!’ belgisi bilan beriladi. Masalan, A mulohaza inkori «!A» kо‘rinishida yoziladi;
2) konyuksiya- ikkita A va V mulohazalar konyuksiyasi yoki mantiqiy kо‘paytmasi «A && V» kо‘rinishga ega. Bu mulohaza faqat A va V mulohazalar rost bо‘lgandagina rost bо‘ladi, aks holda yolg‘on bо‘ladi (odatda «&&» amali «va» deb о‘qiladi). Masalan «bugun oyning 5 kuni va bugun chorshanba» mulohazasi oyning 5 kuni chorshanba bо‘lgan kunlar uchungina rost bо‘ladi;
3) dizyunksiya - ikkita A va V mulohazalar dizyunksiyasi yoki mantiqiy yig‘indisi «A || V» kо‘rinishda yoziladi. Bu mulohaza rost bо‘lishi uchun A yoki V mulohazalardan biri rost bо‘lishi yetarli. Odatda «||» amali «yoki» deb о‘qiladi.
Yuqorida keltirilgan fikrlar asosida mantiqiy amallar uchun rostlik jadvali aniqlangan (1.3-jadval).
1.3-jadval. Mantiqiy amallar uchun rostlik jadvali
Mulohazalar
|
Mulohazalar ustida amallar
|
A
|
B
|
!A
|
A && B
|
A || B
|
false
|
false
|
true
|
false
|
false
|
false
|
true
|
true
|
false
|
true
|
true
|
false
|
false
|
false
|
true
|
true
|
true
|
false
|
true
|
true
|
Mantiqiy tur qiymatlari ustida mantiqiy kо‘paytirish, qо‘shish va inkor amallarini qо‘llash orqali murakkab mantiqiy ifodalarni qurish mumkin. Misol uchun, «x -musbat va y qiymati [1..3] sonlar oralig‘iga tegishli emas» mulohazasini mantiqiy ifoda kо‘rinishi quyidashicha bо‘ladi:
(x>0)&&(y<1||y>3).
void turi. void turidagi programma obyekti hech qanday qiymatga ega bо‘lmaydi va bu turdan qurilmaning til sintaksisiga mos kelishini ta’minlash uchun ishlatiladi. Masalan, S++ tili sintaksisi funksiya qiymat qaytarishini talab qiladi. Agar funksiya qiymat qaytarmaydigan bо‘lsa, u void kalit sо‘zi bilan e’lon qilinadi.
Misollar.
int a=0,A=1; float abc=17.5; double Ildiz;
bool Ok=true; char LETTER=‘z’;
void Mening_Funktsiyam();/* funksiya qaytaradigan qiymat inobatga olinmaydi */
Foydalanilgan adabiyotlar
D.S. Malik. C++ Programming: From Problem Analysis to Program Design. Fifth Edition. Course Technology, 2011.
Bjarne Stroustrup. The C++ Programming Language (4th Edition). Addison-Wesley, 2013. 1363 page.
Sh.F. Madraximov, A.M. Ikramov, Q.T. Maxarov. Dasturlash asoslari. O’quv qo’llanma // Toshkent, “Mumtoz so’z”. 2018, 276 bet.
Мадрахимов Ш.Ф., Гайназаров С.М. C++ тилида дастурлаш асослари// Тошкент, ЎзМУ, 2009, 196 бет.
Polatov A.M. Algoritmlar va C++ tilida dasturlash asoslari. O’quv qo’llanma // Toshkent, O’zbekiston Milliy Universiteti, “Universitet” nashriyoti, 2017, 100 bet.
Madraximov Sh.F., Ikramov A.M., Babajanov M.R. C++ tilida programmalash bo’yicha masalalar to’plami. O’quv qo’llanma // Toshkent, O’zbekiston Milliy Universiteti, “Universitet” nashriyoti, 2014. 160 bet.
Do'stlaringiz bilan baham: |