– DARS. KONSTANTALAR. (CONSTANTS)




Download 313,45 Kb.
bet3/89
Sana16.11.2023
Hajmi313,45 Kb.
#100010
1   2   3   4   5   6   7   8   9   ...   89
Bog'liq
@AKT Official C haqida o\'zbekcha darslar majmui

4 – DARS. KONSTANTALAR. (CONSTANTS)

Konstanta bu o’zgartirish mumkin bulmagan qiymatdir. C++ tilida besh turdagi konstantalar ishlatilishi mumkin: butun sonlar, haqiqiy sonlar, simvollar, sanovchi konstantalar va nul kursatkich.


1. Ma’lumotlarning butun son turi.


Butun sonlar o’nlik, sakkizlik yoki un oltilik sanoq sistemalarida berilishi mumkin.
O’nlik sanoq sistemasida butun sonlar 0-9 raqamlari ketma ketligidan iborat bo’lib, birinchi raqami 0 bulishi kerak emas.
Sakkizlik sanoq sistemasida butun sonlar 0 bilan boshlanuvchi 0-7 raqamlaridan iborat ketma ketlikdir.
O’n oltilik sanoq sistemasida butun son 0x eki 0X bilan boshlanuvchi 0-9 raqamlari va a-f yoki A-F xarflaridan iborat ketma ketlikdir.
Masalan 15 va 22 o’nlik sonlari sakkizlikda 017 va 026, un oltilikda 0xF va 0x16 shaklda tasvirlanadi.
Ma’lumolarning uzun butun son turi.
Oxiriga l eki L harflari quyilgan o’nlik,sakkizlik yoki o’n oltilik butun son.
Ma’lumotlarning ishorasiz (unsigned) butun son turi:
Ohiriga u yoki U harflari quyilgan o’nlik,sakkizlik yoki o’n oltilik oddiy yoki uzun butun son.
2. Ma’lumotlarning haqiqiy son turi:
Olti qismdan iborat bulishi mumkin: butun qism, nuqta, kasr qism, yoki E belgisi, o’nlik daraja , F eki f suffikslari.
Masalan : 66. .0 .12 3.14F 1.12e-12
Ma’lumolarning uzun haqiqiy son turi :
Ohiriga L eki l suffikslari quyjilgan haqiqiy son.
Masalan: 2E+6L;
3. Simvolli konstanta.
Bittalik qavslarga olingan bitta yoki ikkita simvol. Misol uchun ‘x’,’*’,’\012’,’\0’,’\n’- bitta simvolli konstanta; ‘dd’,’\n\t’,’\x07\x07’ ikki simvolli konstantalar.
‘\’ simvolidan boshlangan simvollar eskeyp simvollar deyjiladi.Simvolli konstanta qiymati simvolning kompyuterda qabul qilingan sonli kodiga tengdir.

ESC (eskeyp) simvollar jadvali:





Yozilishi

Ichki kodi

Simvoli (nomi)

Ma’nosi

\a

0x07

bel (audible bell)

Tovush signali

\b

0x08

Bs (bascspase)

Bir qadam qaytish

\f

0x0C

Ff (form feed)

Sahifani qaytarish

\n

0x0A

lf (line feed)

Qatorni o’tkazish

\r

0x0D

Cr (carriage return)

Karetkani qaytarish

\t

0x09

Ht (horizontal tab)

Gorizontal tabulyatsi

\v

0x0B

Vt (vertical tab)

Vertikal tabulyatsi

\\

0x5C

\ (bacslash)

Teskari chiziq

\’

0x27

‘ (single out)

Apostrif (oddiy qavs)

\”

0x22

“ (double quote)

Ikkilik qavs

\?

0x3F

? (question mark)

Savol Belgisi

\000

000

Любой (octal number)

Simvol sakkizlik kodi

\xhh

0xhh

Любой (hex number)

Simvol o’n oltilik kodi

Satrli konstanta.
Satrli konstantalar C++ tili konstantalariga kirmaydi, balki leksemalari alohida tipi hisoblanadi. Shuning uchun adabiyotda satrli konstantalar satrli leksemalar deb ham ataladi..
Satrli konstanta bu ikkilik qavslarga olingan ihtiyoriy simvollar ketma ketligidir. Misol uchun “ Men satrli konstantaman”.
Satrlar orasiga eskeyp simvollar ham kirishi mumkin. Bu simvollar oldiga \ belgisi quyiladi. Misol uchun :
“\n Bu satr \n uch katorga \n zhoyjlashadi”.
Satr simvollari hotirada ketma-ket joylashtiriladi va har bir satrli konstanta ohiriga avtomatik ravishda kompilyator tomonidan ‘\0’ simvoli qo’shiladi. Shunday satrning hotiradagi hazhmi simvollar soni+1 baytga tengdir.
Ketma-ket kelgan va bushlik, tabulyatsiya yoki satr ohiri belgisi bilan ajratilgan satrlar kompilyatsiya davrida bitta satrga aylantiriladi. Misol uchun:

“Salom” “Toshkent ”


satrlari bitta satr deb qaraladi.
“Salom Toshkent”
Bu qoidaga bir necha qatorga yozilgan satrlar ham buysinadi. Misol uchun :
“O’zbekistonga ”
“bahor ”
“keldi”
qatorlari bitta qatorga mos:
“O’zbekistonga bahor keldi”
Agar satrda ‘\’ belgisi uchrasa va bu belgidan so’ng to ‘\n’ satr ohiri belgisigacha bushlik belgisi kelsa bu bushlik belgilari ‘\’ va ’\n’ belgisi bilan birga satrdan uchiriladi. Satrning uzi keyingi satrda kelgan satr bilan qo’shiladi.
“Ozbekistonga \
“ bahor\
“ keldi”
qatorlari bitta qatorga mos:
“Uzbekistonga bakhor keldi”

Sanovchi konstanta.


Sanovchi konstantalar enum hizmatchi so’zi yordamida kiritilib, int tipidagi sonlarga qulay suzlarni mos quyish uchun ishlatiladi.


Misol uchun:
enum{one=1,two=2,three=3};
Agar son qiymatlari ko’rsatilmagan bulsa eng chapki so’zga 0 qiymati berilib qolganlariga tartib buyicha usuvchi sonlar mos quyiladi:
Enum{zero,one,two};
Bu misolda avtomatik ravishda konstantalar quyidagi qiymatlarni qabul qiladi:
Zero=0, one=1, two=2;
Konstantalar aralash ko’rinishda kiritilishi ham mumkin:
Enum(zero,one,for=4,five,seeks}.
Bu misolda avtomatik ravishda konstantalar quyidagi qiyjmatlarni qabul qiladi:
Zero=0, one=1, for=4;five=5,seeks=6;
Yana bir misol:
Enum BOOLEAN {NO, YES};
Konstantalar qiymatlari:
NO=0, YES=1;

Nomlangan konstantalar.


CI ++ tilida o’zgaruvchilardan tashqari nomlangan konstantalar kiritilishi mumkin. Bu konstantalar qiymatlarini dasturda o’zgartirish mumkin ehmas. Konstantalar nomlari dasturchi tomonidan kiritilgan va hizmatchi so’zlardan farqli bo’lgan identifikatorlar bulishi mumkin. Odatda nom sifatida katta lotin harflari va ostiga chizish belgilari kombinaciyasidan iborat identifikatorlar ishlatiladi. Nomlangan konstantalar quyidagi shaklda kiritiladi:


Const tip konstanta_nomi=konstanta_kiyjmati.
Misol uchun:
Const double EULER=2.718282;
Const long M=99999999;
Const R=765;
Ohirgi misolda konstanta tipi kursatilmagan, bu konstanta int tipiga tegishli deb hisoblanadi.

Nul ko’rsatkich.


NULL- ko’rsatkich yagona arifmetik bulmagan konstantadir. Konkret realizatsiyalarda null ko’rsatkich 0 eki 0L eki nomlangan konstanta NULL orqali tasvirlanishi mumkin. Shuni aytish lozimki bu konstanta qiymati 0 bo’lishi eki ‘0’ simvoli kodiga mos kelishi shart ehmas.


Quyidagi jadvalda konstantalar chegaralari va mos tiplari ko’rsatilgan:



Ma’lumotlar turi

Hajm, bit

Qiymatlar chegarasi

Tip vazifasi

Unsigned char

8

0…255

Kichik butun sonlar va simvollar kodlari

Char

8

-128…127

Kichik butun sonlar va ASII kodlar

Enum

16

-32768…32767

Butun sonlar tartiblangan katori

Unsigned int

16

0…65535

Katta butun sonlar

Short int

16

-32768…32767

Kichik butun sonlar, tsikllarni boshqarish

Int

16

-32768…32767

Kichik butun sonlar, tsikllarni boshqarish

Unsigned long

32

0…4294967295

Astronomik masofalar

Long

32

-147483648…
…2147483647

Katta sonlar

Float

32

3.4E-32…3.4E+38

Ilmiy hisoblar (7 raqam)

Double

64

1.7E-308…1.7E+308

Ilmiy hisoblar(15 raqam)

Long double

80

3.4E-4932…
1.1E+4932

Moliyaviy hisobalr (19 raqam)




Download 313,45 Kb.
1   2   3   4   5   6   7   8   9   ...   89




Download 313,45 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



– DARS. KONSTANTALAR. (CONSTANTS)

Download 313,45 Kb.