O‘zgaruvchilarning tayanch turlari
C++ dasturlash tilida boshqa berilganlar turlari ham qaralgan. Ular butun sonli, haqiqiy va belgili bo‘lishi mumkin. Haqiqiy o‘zgaruvchilar kasr ko‘rinishida ifodalanuvchi qiymatlami ham o‘zida saqlaydi. Belgili o‘zgaruvchilar (char) bir bayt joy egallaydi va 266 ta belgi hamda ASCII belgilami saqlash uchun ishlatiladi.
ASCII belgilari deganda, kompyuterlarda qo‘llaniladigan standart belgilar to‘plami tushuniladi.zlS'C//-bu American Standard Code for Information Interchange (Amerikaning axborot almashinishi uchun standart kodi) degan ma’noni anglatadi.
- jadval
O‘zgaruvchilarning tayanch turlari
Tur
|
Hajmi, bayt
|
Qiymat
|
char
|
1
|
256 та символ
|
bool
|
1
|
true ёки false
|
unsigned short int
|
2
|
0-65535
|
short int
|
2
|
-32768-32767
|
unsigned long int
|
4
|
0 to 4294967295
|
long int
|
4
|
-2147483648-2147483647
|
int (32 paaptuuitt)
|
4
|
-2147483648 -2147483647
|
int (16 pa3psi;i;in)
|
2
|
-32768 - 32767
|
unsigned int (32 paapsfljtn)
|
4
|
0-4294967295
|
unsigned int (16 pa3PitAJtn)
|
4
|
0-65535
|
float
|
4
|
+/- 3.4e +/- 38 (-7 ракам)
|
double
|
8
|
+/- 1.7e +/- 308 (~15 ракам)
|
§ 11.3. C++dasturlash tilida o'zgaruvchilar va o'zgarmaslar
329
Kalit so‘zlar
C++ dasturlash tilida ayrim so‘zlar oldindan zaxiralanadi. Bular kalit so‘zlar deb aytiladi. Bunday so‘zlarni o‘zgaruvchilami nomlashda ishlatish mumkin emas. Ularga if, while, for va main kabi so‘zlar kiradi. Kompilyatorning texnik hujjatlarda barcha zaxiralangan so‘zlarning ro‘yxati turadi.
O‘zgaruvchiga qiymat berish
O‘zgaruvchilarga qiymat berish uchun o'zlashtirish operatori qoMlaniladi. Masalan, Width o'zgaruvchisiga 5 qiymatni berish uchun quyidagilarni yozish lozim:
unsigned short Width;
Width = 5;
Bu ikkala satmi Width o'zgaruvchisini aniqlash jarayonlarida birgalikda yozish mumkin.
unsigned short Wigth = 5;
Bir necha o‘zgaruvchilami aniqlash vaqtida ham ularga qiymat berish mumkin:
long width = 5, length = 7;
Bu misolda long turidagi width o'zgaruvchisi 5 qiymatni, shu turdagi length o‘zgaruvchisi esa 7 qiymatni qabul qildi. Quyidagi rasmda o‘zgaruvchilarni aniqlashga oid misolni qaraymiz 111.8 - rasm).
: : #include
. : using namespace std;
3: int main()
3 : {
L : int buyi=5, eni=10,yuzasi;
6: cout << «Bo'yi:» « bo'yi « « \n>>;
: cout << «Eni:» << eni << endl;
yuzasi= bo'yi*eni;
>: cout << «Yuzasi:» << yuzasi << endl;
L0: return 0;
1
NATIJA:
|Bo'yi:5 Eni:10 Yuzasi:50
11.8- rasm. 0‘zgaruvchilarning qo'llanishi.
Belgilar
Belgili o'zgaruvchilar odatda bir bayt joyni egallaydi va bu 256 xil belgini saqlash uchun yetarlidir. char turi qiymatlarini 0...255 sonlar to‘plamiga yoki ASCII belgilar to‘plamiga interpretatsiya qilish mumkin.
Maxsus belgilar
C++ dasturlash kompilyatori tekstlami formatlovchi bir nechta maxsus belgilardan tashkil topgan (yuqorida 11.2,-jadvalda keltirilgan). Bu
330
11 - bob. Dasturlash asoslari
belgilami dasturda ishlatishda «teskari sleshwdan foydalanamiz. “Teskari
sleshdan” keyin boshqaruvchi belgi yoziladi. Masalan, tabulyatsiya
belgiini dasturga qo'yish uchun quyidagicha yozuvni yozish kerak:
char tab ='\t';
Bu misoldagi char turidagi o‘zgaruvchi \t qiymatini qabul qiladi. Maxsus
belgilar axborotlarni ekranga, faylga va boshqa chiqarish qurilmalariga
chiqarishda formatlash uchun qo'llaniladi.
- jadval
Maxsus belgilar
Belgilar
|
Qiymati
|
\n
|
Yangi satrga o’tish
|
\t
|
Tabulyatsiya
|
\b
|
Bitta pozitsiyaga o'tish
|
\"
|
Ikkitalik qavscha
|
V
|
Bittalik qavscha
|
w
|
Teskari slesh
|
CPzgarmaslar
O‘zgaruvchilar kabi o‘zgarmaslar ham ma’lumotlami saqlash uchun mo‘ljallangan xotira yacheykalarini o‘zida ifodalaydi. O‘zgaruvchilardan farqli ravishda ular dasturlami bajarilishi jarayonlarida qiymati o‘zgarmaydi. O‘zgarmas e’lon qilinishi bilan unga qiymat berish lozim, keyinchalik bu qiymatni o’zgartirib bo'lmaydi.
C++ tilida ikki turdagi literal va belgili o‘zgarmaslar aniqlangan.
Literal o‘zgarmaslar
Literalli c/zgarmaslar to‘jf ridan-to‘g’ri dasturga kiritiladi. Masalan:
int myAge =3 9; I
Bu ifodada MyAge int turidagi o‘zgaruvchi, 39 soni esa literal o‘zgarmasdir.
Belgili o‘zgarmaslar
Belgili o‘zgarmas - bu nomga ega bo‘lgan o'zgarmasdir. S++ dasturlash tilida belgili o‘zgarmasni aniqlashning ikki usuli mavjud:
#define direktivasi yordamida o‘zgarmasni aniqlash;
const kalit so‘zi orqali o‘zgarmasni aniqlash.
An’anaviy usul hisoblangan #define direktivasi orqali o‘zgarmasni aniqlashni quyidagi misolda ko‘rishimiz mumkin:
#define StudentsPerClass 15
Bu holda StudentsPerClass o‘zgarmas hech qanday turiga tegishli bo‘lmaydi.
Preprotsessor StudentsPerClass so‘ziga duch kelganida uni 15 literaliga almashtiradi.
§ 11.3. C++dasturlash tilida o'zgaruvchilar va o’zgarmaslar
331
C++ tilida #define direktivasidan tashqari o'zgarmasni aniqlashning nisbatan qulayroq bo'lgan yangi usuli ham mavjud:
const unsigned short int StudentsPerClass=15
Bu misolda ham belgili konstanta StudentsPerCIass nomi bilan aniqlanayapti va unga unsigned short int turi berilayapti. Bu usul bir qancha imkoniyatlarga ega bo‘lib u sizning dasturingizni keyingi himoyasini engillashtiradi. Bu o‘zgarmasni oldingisidan eng muhim afzalligi uning turiga egaligidir.
Belgili o'zgarmaslarni literal o‘zgarmaslarga nisbatan ishlatish qulayroqdir. Chunki agarda bir xil nomli literalli o'zgaruvchini qiymatini o'zgartirmoqchi bo'lsangiz butun dastur bo‘yicha uni o'zgartirishga to‘g‘ri keladi, belgili o‘zgarmaslami esa faqatgina birining qiymatini o‘zgartirish etarli.
Do'stlaringiz bilan baham: |