Haqiqiy son turi. Haqiqiy sonlar float kalit so‘zi bilan e’lon qilinadi. Bu turdagi o‘zgaruvchi uchun xotirada 4 bayt joy ajratiladi va qolipida sonni saqlaydi(1-ilovaga qarang). Agar kasrli son juda katta (kichik) qiymatlarni qabul qiladigan bo‘lsa, u xotiradi 8 yoki 10 baytda ikkilangan aniqlik ko‘rinishida saqlanadi va mos ravishda double va long double kalit so‘zlari bilan e’lon qilinadi. Oxirgi holat 32-razryadli platformalar uchun o‘rinli.
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.
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 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.
Mulohazalarning rostligi holatlarga bog‘liq ravishda o‘zgapishi mumkin. Masalan «bugun - chorshanba» jumlasini rost yoki yolg‘onligi ayni qaralayotgan kunga bog‘liq. Xuddi shunday «x<0» jumlasi x o‘zgaruvchisining ayni paytdagi qiymatiga mos ravishda rost yoki yolg‘on bo‘ladi.
С++ tilida mantiqiy tur nomi angliyalik matematik Jopj Bul shapafiga bool so‘zi bilan ifodalangan. Mantiqiy amallar «Bul algebrasi» deyiladi.
Mantiqiy mulohazalar ustida uchta amal aniqlangan:
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;
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.
Yurqorida 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 ko‘paytirish, qo‘shish va inkor amallarini qo‘llash orqali murakkab mantiqiy ifodalarni qurish mumkin. Misol uchun, «x -musbat va y qiymati [1..3] sonlar oralig‘iga tegishli emas» mulohazasini mantiqiy ifoda ko‘rinishi quyidashicha bo‘ladi:
(x>0)&&(y<1||y>3). 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.
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 */