Belgili o’zgarmas .
Bittalik qavslarga olingan bitta yoki ikkita belgi. Misol uchun ‘x’,’*’,’\012’,’\0’,’\n’- bitta belgili o’zgarmas ; ‘dd’,’\n\t’,’\x07\x07’ ikki belgili o’zgarmas lar.
‘\’ belgiidan boshlangan belgilar eskeyp belgilar deyjiladi.Belgili o’zgarmas qiymati belgining kompyuterda qabul qilingan sonli kodiga tengdir.
ESC (eskeyp) belgilar jadvali:
-
Yozilishi
|
Belgii (nomi)
|
Ma’nosi
|
\a
|
bel (audible bell)
|
Tovush signali
|
\b
|
Bs (bascspase)
|
Bir qadam qaytish
|
\f
|
Ff (form feed)
|
Sahifani qaytarish
|
\n
|
lf (line feed)
|
Qatorni o’tkazish
|
\r
|
Cr (carriage return)
|
Karetkani qaytarish
|
\t
|
Ht (horizontal tab)
|
Gorizontal tabulyatsi
|
\v
|
Vt (vertical tab)
|
Vertikal tabulyatsi
|
\\
|
\ (bacslash)
|
Teskari chiziq
|
\’
|
‘ (single out)
|
Apostrif (oddiy qavs)
|
\”
|
“ (double quote)
|
Ikkilik qavs
|
\?
|
? (question mark)
|
Savol Belgisi
|
\000
|
ixtiyoriy (octal number)
|
Belgi sakkizlik kodi
|
\xhh
|
ixtiyoriy (hex number)
|
Belgi o’n oltilik kodi
|
Satrli o’zgarmas .
Satrli o’zgarmas lar C++ tili o’zgarmas lariga kirmaydi, balki leksemalari alohida turi hisoblanadi. Shuning uchun adabiyotda satrli o’zgarmas lar satrli leksemalar deb ham ataladi..
Satrli o’zgarmas bu ikkilik qavslarga olingan ihtiyoriy belgilar ketma ketligidir. Misol uchun “ Men satrli o’zgarmas man”.
Satrlar orasiga eskeyp belgilar ham kirishi mumkin. Bu belgilar oldiga
‘\’ belgisi qo’yiladi. Misol uchun : “\n Bu satr \n uch qatorga \n zhoyjlashadi”.
Satr belgilari hotirada ketma-ket joylashtiriladi va har bir satrli o’zgarmas ohiriga avtomatik ravishda kompilyator tomonidan ‘\0’ belgii qo’shiladi. Shunday satrning hotiradagi hazhmi belgilar 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” “Samarqand ” satrlari bitta satr deb qaraladi.
“Salom Samarqand”
Bu qoidaga bir necha qatorga yozilgan satrlar ham bo’ysinadi. 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 oxiri belgisigacha bo’shlik belgisi kelsa bu bo’shlik belgilari ‘\’ va ’\n’ belgisi bilan birga satrdan o’chiriladi. Satrning o’zi keyingi satrda kelgan satr bilan qo’shiladi.
“Ozbekistonga \
“ bahor\
“ keldi”
qatorlari bitta qatorga mos: “Uzbekistonga bahor keldi”
Sanab o’tiladigan turlar.
Bu turni tashkil qilgan o’zgarmaslar tartiblangan chekli ketma-ketlikni hosil qiladi. Har bir o’zgarmasning qiymati o’z nomi bilan bir biridan vergul bilan ajratiladi. Berilgan skalyar turni tashkil qilgan komponentalar to’plami qavs ichiga olinadi.
Sanab o’tiladigan turni tashkil qilgan qiymatlar to’plami dastur tuzuvchi tomonidan biror bir belgilari bilan mos keladigan bitta yagona guruhga birlashtiriladi, ya’ni foydalanuvchi o’ziga kerakli turni aniqlaydi va dasturga kiritadi.
Bunday turni e’lon qilishi uchun enum (enumerate - sanamoq) buyrug’idan foydalaniladi.
Sanab o’tiladigan turni enum xizmatchi so’zi yordamida kiritilib, int turidagi sonlarga qulay so’zlarni mos qo’yish uchun ishlatiladi.
Misol uchun: enum{one=1,two=2,three=3};
Agar son qiymatlari ko’rsatilmagan bo’lsa eng chapki so’zga 0 qiymati berilib qolganlariga tartib buyicha usuvchi sonlar mos quyiladi:
enum{zero,one,two};
Bu misolda avtomatik ravishda o’zgarmas lar quyidagi qiymatlarni qabul qiladi:
Zero=0, one=1, two=2;
Masalan:
int main ( )
enum yilfasli {bahor=1, yoz=2, kuz=3, qish=4};
enum hafta {dush=1, sesh=2, chor=3, pay=4, juma=5, shan=6, yaksh=7};
enum meva {olma-600, nok=700, olcha=1000, o'rik=1200, olxo'ri=800};
O’zgarmaslar aralash ko’rinishda kiritilishi ham mumkin:
enum(zero,one,for=4,five,seeks}.
Bu misolda avtomatik ravishda o’zgarmaslar quyidagi qiymatlarni qabul qiladi: Zero=0, one=1, for=4;five=5,seeks=6;
Yana bir misol:
Enum boolean {no, yes};
O’zgarmaslar qiymatlari:
no=0, yes=1;
Nomlangan o’zgarmaslar.
Ci++ tilida o’zgaruvchilardan tashqari nomlangan o’zgarmas lar kiritilishi mumkin. Bu o’zgarmas lar qiymatlarini dasturda o’zgartirish mumkin ehmas. O’zgarmas lar nomlari dasturchi tomonidan kiritilgan va xizmatchi so’zlardan farqli bo’lgan identifikatorlar bulishi mumkin. Odatda nom sifatida katta lotin harflari va ostiga chizish belgilari kombinaciyasidan iborat identifikatorlar ishlatiladi. Nomlangan o’zgarmas lar quyidagi shaklda kiritiladi:
const tur o’zgarmas _nomi =o’zgarmas _kiyjmati.
Misol uchun:
const double EULER=2.718282;
const long M=99999999;
const R=765;
Ohirgi misolda o’zgarmas turi ko’rsatilmagan, bu o’zgarmas int turiga tegishli deb hisoblanadi.
Nol ko’rsatkich.
Nol- ko’rsatkich yagona arifmetik bulmagan o’zgarmasdir. Konkret realizatsiyalarda noll ko’rsatkich 0 yoki 0L yoki nomlangan o’zgarmas NULL orqali tasvirlanishi mumkin. Shuni aytish lozimki bu o’zgarmas qiymati 0 bo’lishi eki ‘0’ belgii kodiga mos kelishi shart ehmas.
Quyidagi jadvalda o’zgarmaslar chegaralari va mos turlari ko’rsatilgan:
Ma’lumotlar turi
|
Hajm, bit
|
Qiymatlar
chegarasi
|
Tur vazifasi
|
|
Unsigned char
|
8
|
0…255
|
Kichik butun sonlar va belgilar 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
|
|
Long double
|
80
|
3.4E-4932…
1.1E+4932
|
Moliyaviy hisoblar (19 raqam)
|
|
2.3. С++ tilida amallar
Arifmetik amallar. C++ dasturlash tilida ham 4 ta arifmetik amal (+-qo’shish; - -ayirish; * -ko’paytirish; /-bo’lish, % - modul olish ya’ni qolqiqli bo’lish) laridan foydalaniladi. Ularning bosqichlarga bo’linishi, bajarilish tartibi, qavslar ishtirokida bajarilish tartibi matematikadagi tartibidan farq qilmaydi. Amallar odatda unar ya’ni bitta operandga qo’llaniladigan amallarga va binar ya’ni ikki operandga qo’llaniladigan amallarga ajratiladi.
Do'stlaringiz bilan baham: |