T e X t o u t ( X, y, s ) (Х, у) координатали нуқтадан s сатрини чиқаради



Download 491 Kb.
bet3/7
Sana08.07.2022
Hajmi491 Kb.
#756401
1   2   3   4   5   6   7
Bog'liq
[]

§1.2. C++ о‘zgarmaslar

Programma bajarilishi paytida qandaydir berilganlarni saqlab turish uchun о‘zgaruvchilar va о‘zgarmaslardan foydalaniladi.


О‘zgarmas (literal) – bu fiksirlangan sonni, satrni va belgini ifodalovchi leksemadir. О‘zgarmaslar beshta guruhga bо‘linadi – butun, haqiqiy (suzuvchi nuqtali), sanab о‘tiluvchi, belgi (literli) va satr («string», literli satr).
Kompilyator о‘zgarmasni leksema sifatida aniqlaydi, unga xotira-dan joy ajratadi, kо‘rinishi va qiymatiga (turiga) qarab mos guruhlarga bо‘ladi.
Butun о‘zgarmaslar quyidagi formatlarda bо‘ladi:
- о‘nlik son;
- sakkizlik son;
- о‘n oltilik son.
О‘nlik о‘zgarmas 0 raqamidan farqli raqamdan boshlanuvchi raqamlar ketma-ketligi va 0 hisoblanadi: 0; 123; 7987; 11.
Manfiy о‘zgarmas – bu ishorasiz о‘zgarmas bо‘lib, unga faqat ishorani о‘zgartirish amali qо‘llanilgan deb hisoblanadi.
Sakkizlik о‘zgarmas 0 raqamidan boshlanuvchi sakkizlik sanoq sistemasi (0,1,..,7) raqamlaridan tashkil topgan raqamlar ketma-ketligi:
023; 0777; 0.
О‘n oltilik о‘zgarmas Ox yoki OX belgilaridan boshlanadigan о‘n; oltilik sanoq sistemasi raqamlaridan iborat ketma-ketlik hisoblanadi:
Ox1A; OX9F2D; 0x23.
Harf belgilar ixtiyoriy registrlarda berilishi mumkin.
Kompilyator sonning qiymatiga qarab unga mos turni belgilaydi. Agar tilda belgilangan turlar programma tuzuvchini qanoatlantirmasa, u oshkor ravishda turni kо‘rsatishi mumkin. Buning uchun butun о‘zgarmas raqamlari oxiriga, probelsiz l yoki L (Long), u yoki U (unsigned) yoziladi. Zarur hollarda bitta о‘zgarmas uchun bu belgilarning ikkitasini ham ishlatish mumkin:
45 l u, 012U1, OxA2L.
Haqiqiy о‘zgarmaslar – suzuvchi nuqtali son bо‘lib, u ikki xil formatda berilishi mumkin:
- о‘nlik fiksirlangan nuqtali formatda. Bu kо‘rinishda son nuqta orqali ajratilgan butun va kasr qismlar kо‘rinishida bо‘ladi. Sonning butun yoki kasr qismi bо‘lmasligi mumkin, lekin nuqta albatta bо‘lishi kerak. Fikserlangan nuqtali о‘zgarmaslarga misollar: 24.56; 13.0; 66.; .87;
- eksponensial shaklda haqiqiy о‘zgarmas 6 qismdan iborat bо‘ladi:
1) butun qismi (о‘nli butun son);
2) о‘nli kasr nuqta belgisi;
3) kasr qismi (о‘nlik ishorasiz о‘zgarmas);
4) eksponenta belgisi ‘e’ yoki ‘E’;
5) о‘n darajasi kо‘rsatkichi (о‘nli butun son);
6) qо‘shimcha belgisi (‘F’ yoki f , ‘L’ yoki ‘l’ ).
Eksponensial shakldagi о‘zgarmas sonlarga misollar:
1e2; 5e+3; .25e4; 31.4e-1 .
Belgi о‘zgarmaslar qо‘shtirnoq (‘,’-apostroflar) ichiga olingan alohida belgilardan tashkil topadi va u char kalit sо‘zi bilan aniqlanadi. Belgi о‘zgarmas uchun xotirada bir bayt joy ajratiladi va unda butun son kо‘rinishidagi belgining ASCII kodi joylashadi. Quyidagilar belgi о‘zgarmaslarga misol bо‘ladi: ‘e’, ‘@’, ‘7’, ‘z’, ‘w’, ‘+’, ‘sh’, ‘*’, ‘a’, ‘s’.
Ayrim belgi о‘zgarmaslar ‘\’ belgisidan boshlanadi, bu belgi birinchidan, grafik kо‘rinishga ega bо‘lmagan о‘zgarmaslarni belgilaydi, ikkinchidan, maxsus vazifalar yuklangan belgilar – apostrof belgisi, savol belgisini (?), teskari yon chiziq belgisini (\) va ikkita kо‘shtirnoq belgisini (“) chop qilish uchun ishlatiladi. Undan tashqari, bu belgi orqali belgini kо‘rinishini emas, balki oshkor ravishda uning ASCII kodi sakkizlik yoki о‘n oltilik shaklda yozish mumkin. Bunday belgidan boshlangan belgilar escape ketma-ketliklar deyiladi.
C++ tilida qо‘shimcha ravishda wide harfli о‘zgarmaslar va kо‘p belgili о‘zgarmaslar aniqlangan. Wide harfli о‘zgarmaslar turi milliy kodlarni belgilash uchun kiritilgan bо‘lib, u shart kalit sо‘zi bilan beriladi, hamda xotirada 2 bayt joy egallaydi. Bu о‘zgarmas L belgisidan boshlanadi: L’\013\022’ , L/cc’.
Kо‘p belgili о‘zgarmas turi int bо‘lib, u tо‘rtta belgidan iborat bо‘lishi mumkin: ‘ abs’ , ‘ \001\002\003\004’.
Ikkita qо‘shtirnoq (“,”) ichiga olingan belgilar ketma-ketligi satr о‘zgarmas deyiladi: “bu satr о‘zgarmas va uning nomi string\n”
Satr ichida escape ketma-ketligi ham ishlatilishi mumkin, faqat bu ketma-ketlik apostrofsiz yoziladi.
Probel bilan ajratib yozilgan satrlar kompilyator tomonidan yagona satrga ulanadi:
“satr –bu belgilar massivi” /* bu satr keyingi satrga qо‘shiladi */ “, uning turi char[]”;
Bu yozuvga “ satr –bu belgilar massivi, uning turi char[]”; yozuvi bilan ekvivalent hisoblanadi. Uzun satrni bir nechta qatorga yozish mumkin va buning uchun qator oxirida ‘\’ belgisi qо‘yiladi.
Kо‘p miqdordagi, mantiqan bog‘langan о‘zgarmaslardan foydalanganda sanab о‘tiluvchi turdan foydalanilgani ma’qul. Sanab о‘tiluvchi о‘zgarmaslar enum kalit sо‘zi bilan aniqlanadi. Mazmuni bо‘yicha bu о‘zgarmaslar oddiy butun sonlardir. Sanab о‘tiluvchi о‘zgarmaslar C++ standarti bо‘yicha butun turdagi о‘zgarmaslar hisoblanadi. Har bir о‘zgarmasga (songa) mazmunli nom beriladi va bu identifikatorni programmaning boshqa joylarida nomlash uchun ishlatilishi mumkin emas. Sanab о‘tiluvchi tur qо‘yidagi kо‘rinishga ega:
enum { =, , … = };
Bu yerda enum – kalit sо‘z (inglizcha enumerate – sanamoq); - о‘zgarmaslar rо‘yxatining nomi; - butun qiymatli konstantalarning nomlari; shart bо‘lmagan inisializatsiya qiymati (ifoda).
Misol uchun hafta kunlari bilan bog‘liq masala yechishda hafta kunlari dush (dushanba), sesh (seshanba), chor (chorshanba), paysh (payshanba), juma (juma), shanba (shanba), yaksh (yakshanba) о‘zgarmaslarini ishlatish mumkin va ular sanab о‘tiluvchi tur yordamida bitta satrda yoziladi: enum Hafta{dush, sesh chor, paysh, juma, shanba,yaksh};
Sanab о‘tiluvchi о‘zgarmaslar quyidagi xossaga ega: agar о‘zgarmas qiymati kо‘rsatilmagan bо‘lsa, u oldingi о‘zgarmas qiymatidan bittaga ortiq bо‘ladi. Kelishuv bо‘yicha birinchi о‘zgarmas qiymati 0 bо‘ladi.



Download 491 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish