Ma’lumotlarni kiritish-chiqarish operatorlari.
![MAVZU : Ma’lumotlarni kiritish-chiqarish operatorlari.
REJA:
1.C++ tilida ma’lumotlarni kiritish operatorlari.
2.C++ tilida ma’lumotlarni chiqarish operatorlari.
3.Sodda operatorlar.
4. Utilitlar va Drayverlar.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_1.png)
![C++ dasturlash tili bilan tanishib borishda davom etamiz. Tushunish oson
bo’lishi uchun console muhitida misollar ko’rmoqdamiz. Console muhitida kiritish
operatori cin>> orqali amalga oshiriladi. cin>> dan so’ng istalgan ma’lumot turi
e’lon qilingan o’zgaruvchini joylashtirsak shu o’zgaruvchi qiymatini qo’lda
kiritishimiz mumkin bo’ladi. Ushbu dasturni ishga tushirganingizda console
kursori sizning biror qiymat kiritishingizni kutib turadi va berilgan o’zgaruvchiga
biror qiymat kiritganingizdan so’ng, keyingi qator amallarini bajarishga o’tadi.
Yuqoridagi misolda 5 sonini kiritgan bo’lsangiz, “Siz 5 sonini kiritdingiz”
natijasini olishingiz mumkin. Funksiyani e’lon qilish
Funksiyalarni e’lon qilishning umumiy standardi sifatida quyidagicha qonuniyatni
ko’rish mumkin: ma’lumot turi funksiya nomi (ma’l turi
parametr1, ma’l turi parametr2, …)
{
ifodalar( ya’ni funksiyani asosiy ishini bajaruvchi funksiya tanasi)
}
Funksiyani e’lon qilish va uni chaqirish bo’yicha sodda misol ko’ramiz:
#include <iostream>
using namespace std;
int a plus b(int a,int b)
{
return (a+b);
}
int main() {
int a=0,b=0;
cout<<“Ikki sonni yig’indisini aniqlash dasturi:\\n”;
cout<<“a sonini kiriting: “; cin>>a;
cout<<“b sonini kiriting: “; cin>>b;
cout<<a<<” va “<<b<<” sonlarining yig’indisi: “<<a_plus_b(a,b)<<endl;
return 0;
}
C++ dasturlash tilida ma’lumotlarni chiqarish operatorlari.
C++ dasturlash tilining elementlari
Hozirgi kunda juda ko‘p algoritmik tillar mavjud. Bular ichida Java
va C++ dasturlash tillari universal tillar hisoblanib, boshqa tillarga
qaraganda imkoniyatlari kengroqdir. So‘ngi yillarda Java va C++
dasturlash tillari juda takomillashib, tobora ommalashib bormoqda.
Mazkur tillardagi vositalar zamonaviy kompyuter texnologiyasining
hamma talablarini o‘z ichiga olgan va unda dastur tuzuvchi uchun ko‘pgina
qulayliklar yaratilgan. C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C
tiliga asoslangan tarzda tuzildi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan,](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_2.png)
![lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi. Dasturlarni tez va
sifatli yozish hozirgi kunda katta ahamiyat kasbetmoqda. Buni ta’minlash uchun
obyektli dasturlash g’oyasi ilgari surildi.Huddi 1970 yillar boshida
strukturalidasturlash kabi, dasturlarni hayotdagi jismlarni modellashtiruvchi
obyektlat orqali tuzish dasturlash sohasida inqilob qildi. C++ dan
tashqari boshqa ko'p obyektli dasturlshga yo’naltirilgan
tillar paydo bo'ldi. Shulardan eng ko’zga tashlanadigani Xerox ning Palo
Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk
dasturlash tilidir. Smalltalk da hamma narsa obyektlarga asoslangan. C++
esa gibrid tildir. Unda C tiliga o’hshab strukturali dasturlash obyektlar
bilan dasturlash mumkin. C++ funksiya va obyektlarning juda
boy kutubhonasiga ega. Yani C++ dasturlash tilida dasturlashni o’rganish ikki
qismga bo’linadi. Birinchisi bu C++ tilini o’zini o’rganish, ikkinchisi esa C++
ning standart kutubhonasidagi tayyor obyekt va funksiyalarni
qo’llashni o’rganishdir.
C++ dasturlash tilida dastur quyidagi tarkibda tashkil topadi:
Direktivalar – funksiyalar kutubxonasini chaqirish. Ular maxsus include
katalogida joylashgan va .h kengaytmali fayllar bo’ladi. С ++ tilida masalaning
qo’yilishiga qarab kerakli kutubxonalar chaqiriladi. Bus esa dasturning
xotiradaegallaydigan joyini minimallashtiradi.
C++ dasturlash tili bilan ishlovchi eng sodda dasturlar Dev C++ va
CodeBlocks dasturlaridir. Ularning tarkibida 300 dan ortiq kutubxonalar
mavjud. Eng ko’p ishlatiladigan kutubxonalar quyidagilar:
#include <iostream.h>,
#include <math.h>
#include <conio.h> #include <graphics.h>
#include <memory.h>
main ( ) funksiyasi– asosiy degan ma’noni anglatadi. Bu funksiya “{“
belgisidan boshlanadi va dasturning asosini tashkil etuvchi o’zgaruvchilarning
toifalari ko’rsatiladi. Dastur “}” belgisi bilan yakunlanishi shart. Agar dasturda
qism dasturlardan foydalanilayotgan bo’lsa, ularning nomlari va haqiqiqy
parametrlari keltiriladi. So’ngra dasturning asosiy buyruqlari yoziladi. Agar
buyruqlar murakkab bo’lsas, ular alohida “{ }” belgilari orasiga olingan bo’lishi
kerak.
С ++ tilida dasturning asosi bo’lmish buyruqlar kichik harflar bilan
yoziladi. Buyruqlar nuqta-verguk bilan (;) yakunlanadi.
Buyruqlar bir qator qilib yozilishi ham mumkin.
C++ dasturlash tilida dastur funksiya va funksiyalardan tashkil topadi.
Agar dastur bir nechta funksiyalardan tashkil topgan bo’lsa, bir funksiyaning](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_3.png)
![nomi main deb nomlanishi shart. Dastur aynan main funksiyasining birinchi
operatoridan boshlab bajariladi.
Dasturning 1-satrida #include direktivasi bo‘lib, dastur kodiga oqimli
o‘qish/yozish funksiyalari va uning o‘zgaruvchilari e’loni joylashgan iostream.h
sarlavha faylini qo‘shadi. Keyingi qatorlarda dasturning yagona, asosiy
funksiyasi main() funksiyasi tavsifi keltirilgan. Shuni qayd etish kerakki, C++
dasturida albatta main() funksiyasi bo‘lishi shart va dastur shu funksiyani
bajarish bilan o‘z ishini boshlaydi.
Dastur tanasida konsol rejimi ( Consol – rejimi bu MS DOS oynasi
ko’rinishiga o’xshash oyna bo’lib, unda foydalanuvchi dastur tuzuishda faqat
dastur kodlari bilan ishlaydi. Graphic interface – rejimida esa faqat tilning
kodlari bilangina emas muhitning menyulari, komponentalari bilan ham ishlashi
mumkin bo’ladi ) da belgilar ketma-ketligini oqimga chiqarish amali qo‘llanilgan.
Ma’lumotlarni standart oqimga (ekranga) chiqarish uchun quyidagi format
ishlatilgan:
cout << <ifoda>;
Bu yerda <ifoda> sifatida o‘zgaruvchi yoki sintsksisi to‘g‘ri yozilgan va
qandaydir qiymat qabul qiluvchi til ifodasi kelishi mumkin (keyinchalik, burchak
qavs ichiga olingan o‘zbekcha satr ostini til tarkibiga kirmaydigan tushuncha deb
qabul qilish kerak) . cin << a;
Ma’lumotlarni klaviatura yordamida kiritish buyrug’i bo’lib, u ham
iostream.h kutubxonasi tarkibidagi funksiya hisoblanadi.
1.3 Identifikatorlar va kalit so‘zlar.
Dasturlash tillarida identifikator tushunchasi mavjud bo‘lib,
dasturda obyektlarni nomlash uchun ishlatiladi. O‘zgar
maslarn
i,
o‘zgaruvchilarni, belgi (metka), protsedura va funksiyalarni belgilashda
ishlatiladigan nom identifikatorlar deyiladi. Identifikatorlar lotin alfaviti
harflaridan boshlanib, qolgan belgilari harf yoki raqamlar ketma -](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_4.png)
![ketligidan tashkil topgan bo'lishi mumkin. Masalan: axc, alfa.
Dasturlash tillarida dastur bajarilishi vaqtida qiymati
o‘zgarmaydigan identifikatorlar o‘zgarmaslar deyiladi. O‘zgarmaslar
beshta guruhga bo‘linadi – butun, haqiqiy (suzuvchi nuqtali), sanab o‘tiluvchi,
belgi (literli) va satr («string», literli satr).
C++ tilida o‘zgarmas ( cons ) – bu fiksirlangan sonni, satrni va belgini
ifodalovchi leksema hisoblanadi.
Kompilyator o‘zgarmasni leksema sifatida aniqlaydi, unga xotiradan joy
ajratadi, ko‘rinishi va qiymatiga (turiga) qarab mos guruhlarga bo’ladi.
Butun o‘zgarmaslar: ular quyidagi formatlarda bo’ladi;
-o‘nlik-son;
-sakkizlik-son;
-o‘n.oltilik-son.
O’nlik o’zgarmas 0 raqamidan farqli raqamdan boshlanuvchi raqamlar
ketma-ketligi va 0 hisoblanadi: 0; 123; 7987; 11.
Manfiy o’zgarmas – bu ishorasiz o‘zgarmas bo‘lib, unga faqat ishorani
o’zgartirish amali qo‘llanilgan deb hisoblanadi.
Sakkizlik o’ 0 raqamidan boshlanuvchi sakkizlik sanoq sistemasi (0,1,..,7)
raqamlaridan tashkil topgan raqamlar ketma-ketligi:
023;-0777;-0.
O‘n oltilik o‘zgarmas 0x yoki 0X belgilaridan boshlanadigan o‘n oltilik
sanoq sistemasi raqamlaridan iborat ketma-ketlik hisoblanadi:
0x1A;-0X9F2D;-0x23.
Harf belgilar ixtiyoriy registrlarda berilishi mumkin.
Kompilyator sonning qiymatiga qarab unga mos turni belgilaydi. Agar tilda
belgilangan turlar dastur tuzuvchini qanoatlantirmasa, u oshkor ravishda turni
ko‘rsatishi mumkin. Buning uchun butun o‘zgarmas raqamlari oxiriga, probelsiz
l yoki L (1ong), u yoki U (unsigned) yoziladi. Zarur hollarda bitta o‘zgarmas
uchun bu belgilarning ikkitasini ham ishlatish mumkin: 451u, 012Ul, 0xA2L.
Haqiqiy o‘zgarmaslar: Haqiqiy o‘zgarmaslar – suzuvchi nuqtali son
bo‘lib, u ikki xil formatda berilishi mumkin:
O‘nlik fiksirlangan nuqtali formatda. Bu ko‘rinishda son nuqta orqali
ajratilgan butun va kasr qismlar ko‘rinishida bo’ladi. Sonning butun yoki kasr
qismi bo‘lmasligi mumkin, lekin nuqta albatta bo‘lishi kerak. Fiksirlangan
nuqtali o‘zgarmaslarga misollar: 24.56; 13.0; 66.; .87;
eksponensial shaklda haqiqiy o‘zgarmas 6 qismdan iborat bo’ladi:
\” 0x22 “ Qo‘shtirnoqni
chop etish
\? 0x3 Ғ ? So‘roq belgisi](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_5.png)
![\а 0x07 bе1 Tovush signalini
berish
\b 0x08 Bs Kursorni 1 belgi
o‘rniga orqaga
qaytarish
\f 0х0С ff Sahifani o‘tkazish
\n 0х0А lf Qatorni o‘tkazish
\r 0х0D сr Kursorni ayni
qatorning
boshiga qaytarish
\t 0x09 ht Kursorni
navbatdagi
tabulyatsiya joyiga
o‘tkazish
\v 0х0D vt Vertikal
tabulyatsiya
(pastga)
\000 000 Sakkizlik kodi
\xNN 0xNN Belgi o‘n oltilik
kodi bilan
berilgan
1) butun qismi (o‘nli butun son);
2) o‘nli kasr nuqta belgisi;
3) kasr qismi (o‘nlik ishorasiz o‘zgarmas);
4) eksponenta belgisi ‘e’ yoki ‘E’;
5) o‘n darajasi ko‘rsatkichi (musbat yoki manfiy ishorali o‘nli butun son);
6) qo‘shimcha belgisi (‘F’ yoki f , ‘L’ yoki ‘l’ ).
Eksponensial shakldagi o‘zgarmas sonlarga misollar:
1E2;-5E+3;-.25E4;-31.4E-1.
Belgi o‘zgarmaslar: Belgi o‘zgarmaslar qo‘shtirnoq (‘,’-apostroflar) ichiga
olingan alohida belgilardan tashkil topadi va u char kalit so‘zi bilan aniqlanadi.
Bitta belgi o‘zgarmas uchun xotirada bir bayt joy ajratiladi va unda butun son
ko‘rinishidagi belgining ASCII kodi joylashadi. Quyidagilar belgi o‘zgarmaslarga
misol bo’ladi:
Escape
belgilari Ichki kodi
(16 son) Nomi Belgining
nomlanishi va
unga](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_6.png)
![mos amal
\\ 0х5С \ Teskari yon
chiziqni chop etish
\’ 0x27 ‘ Apostrofni chop
etish
Ayrim belgi o‘zgarmaslar ‘\’ belgisidan boshlanadi, bu belgi birinchidan,
grafik ko‘rinishga ega bo‘lmagan o‘zgarmaslarni belgilaydi, ikkinchidan, maxsus
vazifalar yuklangan belgilar – apostrof belgisi, savol belgisini (?), teskari yon
chiziq belgisini (\) va ikkita qo‘shtirnoq belgisini (“) chop qilish uchun
ishlatiladi. Undan tashqari, bu belgi orqali belgini ko‘rinishini emas, balki oshkor
ravishda uning ASCII kodini sakkizlik yoki o‘n oltilik shaklda yozish mumkin.
Bunday belgidan boshlangan belgilar escape ketma-ketliklar deyiladi (1.1-jadval).
Turlangan o‘zgarmaslar: Turlangan o‘zgarmaslar xuddi
o‘zgaruvchilardek ishlatiladi va initsializatsiya qilingandan (boshlang‘ich qiymat
berilgandan) keyin ularning qiymatini o‘zgartirib bo‘lmaydi.
C++ tilida o‘zgaruvchi e’loni uning turini aniqlovchi kalit so‘zi bilan
boshlanadi va ‘=’ belgisi orqali boshlang‘ich qiymat beriladi (shart emas). Bitta
kalit so‘z bilan bir nechta o‘zgaruvchilarni e’lon qilish mumkin. Buning uchun
o‘zgaruvchilar bir-biridan ‘,’ belgisi bilan ajratiladi. E’lonlar ‘;’ belgisi bilan
tugaydi. O‘zgaruvchi nomi 255 belgidan oshmasligi kerak. O‘zgaruvchilarni
e’lon qilish dastur matnining istalgan joyida amalga oshirilishi mumkin.
Dasturlash tillarida kalit so‘zlar mavjud bo‘lib ulardan boshqa
maqsadlarda foydalanilmaydi. Quyida C++ tilining kalit so‘zlarini alfavit
tartibida,keltiramiz.
C++ tilida: asm, auto, break, case, catch, char, class, const, continue,
default, delete, do, double, else, enum, explicit, extern, float, for, friend,
goto, if, inline, int, long, mutable, new, operator, private, protected, public,
register, return, short, signed, sizeof, static, struct, swith, template, this,
throw, try, typedef, typename, union, unsigned, virtual, void, volatile,
while .
Protsessor registrlarini belgilash uchun quyidagi so‘zlar ishlatiladi:
_AH, _AL, _AX, _EAX, _BN, _BL, _BX, _EVX, _CL, _CN, _CX, _ESX, _DN,
_DL, _DX,
_EDX, _CS, _ESR, EBP, _FS, __GS, _DI, _EDI, _SI, _ESI, __BP, SP, DS, _ES,
SS, _FLAGS.
Bulardan tashqari «__» (ikkita tag chiziq) belgilaridan boshlangan
identifikatorlar kutubxonalar uchun zahiralangan. Shu sababli ‘_’ va «_»
belgilarni identifikatorning birinchi belgisi sifatida ishlatmagan ma’qul.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_7.png)
![Identifikator belgilari orasida bo’sh joy belgisi (probel) ishlatish mumkin emas,
zarur bo‘lganda uning o‘rniga ‘_’ ishlatish mumkin.
Misol uchun: silindr_radiusi, aylana_diametri.
OPERATORLAR
Dasturlash tili operatorlari yechilayotgan masala algoritmini amalga
oshirish uchun ishlatiladi. Operatorlar chiziqli va boshqaruv operatorlariga
bo’linadi. Aksariyat holatlarda operatorlar nuqtali vergul (‘;’) belgisi bilan
tugallanadi va u kompilyator tomonidan alohida operator deb qabul qilinadi
( C++ tilidagi for operatorining qavs ichida turgan ifodalari bundan mustasno).
Bunday operator ifoda operatori deyiladi.
2.1. Qiymat berish, inkrement va dekrement operatorlari
Qiymat berish amallari guruhi, xususan, qiymat berish operatorlari ifoda
operatorlari hisoblanadi, C++ da qiymat berish operatori ‘=’ ko’rinishida bo’ladi:
k=8;.
O’zgaruvchilarga qiymat berish, ya’ni ularning oldingi qiymatini
o’zgartirishning boshqa usullari ham mavjud. Bu kabi ishlarni (i++;), (--j;),
(k+=i;) operatorlari yordamida amalga oshirish mumkin.
Bo’sh va e’lon operatorlari: Dastur tuzish amaliyotida bo‘sh operator – ‘;’
ishlatiladi. Garchi bu operator hech qanday ish bajarmasa ham, hisoblash
ifodalarining til qurilmalariga mos kelishini ta’minlaydi. Ayrim hollarda yuzaga
kelgan «boshi berk» holatlardan chiqib ketish imkonini beradi. Oddiy
ma'lumotlarni chiqarishda ularga matn deb qaraladi va u
qo‘shtirnoq ichida yoziladi.
C++ tilida operand qiymatini birga oshirish va kamaytirishning samarali
vositalari mavjud. Bular inkrement (++) va decrement(-- ) unar amallardir.
Operandga nisbatan bu amallarning prefiks va postfiks ko‘rinishlari
bo’ladi. Prefiks ko‘rinishda amal til ko‘rsatmasi bo‘yicha ish bajarilishidan oldin
operandga qo‘llaniladi. Postfiks holatda esa amal til ko‘rsatmasi bo‘yicha ish
bajarilgandan keyin operandga qo‘llaniladi. Prefiks yoki postfiks amal
tushunchasi faqat qiymat berish bilan bog’liq
ifodalarda o‘rinli: ;
х = у ++;
index =--i;
count:++;
abc-- ; // postfiks
// prefiks
// unar amal, "++count; " bilan ekvivalent
// unar amal, "--abc; " bilan ekvivalent
Bu yerda y o ‘ zgaruvchining qiymati x o ‘ zgaruvchisiga o ‘ zlashtiriladi va
keyin bittaga oshiriladi , i o ‘ zgaruvchining qiymati bittaga kamaytirib , index
o ‘ zgaruvchisiga o ‘ zlashtiriladi . sizeof amali : Har xil turdagi o ‘ zgaruvchilar
kompyuter xotirasida turli sondagi baytlarni egallaydi . Bunda , hattoki bir turdagi](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_8.png)
![o ‘ zgaruvchilar ham qaysi kompyuterda yoki qaysi operatsion sistemada amal
qilinishiga qarab turli o ‘ lchamdagi xotirani band qilishi mumkin .
Bu ishni C++ tilida sizeof amali yordamida bajarish mumkin. Quyida
keltirilgan dasturda kompyuterning platformasiga mos ravishda tayanch
turlarining o‘lchamlari chop qilinadi.
int main() {
cout<< ’’int turining o‘lchami: "<<sizeof (int)<<"\n"
cout<< ’’float turining o‘lchami: "<<sizeof (float) <<"\n";
cout<< ’’double turining o‘lchami: "<<sizeof (double)<<"\n";
cout<< ’’char turning o‘lchami: "<<sizeof (char) <<"\n";
return 0; }
2.2.Shart-operatorlari
Yuqorida mavzularda keltirilgan dasturlarda amallar yozilish tartibida
ketma-ket va faqat bir marta bajariladigan holatlar, ya’ni chiziqli algoritmlar
keltirilgan. Amalda esa kamdan-kam masalalar shu tariqa yechilishi mumkin.
Aksariyat masalalar yuzaga keladigan turli holatlarga bog‘liq ravishda mos qaror
qabul qilishni (yechimni) talab etadi. C++ tilida dasturning alohida
bo‘laklarining bajarilish tartibini boshqarishga imkon beruvchi qurilmalarning
yetarlicha katta majmuasiga ega. Masalan, dastur bajarilishining birorta
qadamida qandaydir shartni tekshirish natijasiga ko‘ra boshqaruvni dasturning u
yoki bu bo‘lagiga uzatish mumkin (tarmoqlanuvchi algoritm). Tarmoqlanishni
amalga oshirish uchun shartli operatordan foydalaniladi.
If operatori: If operatori qandaydir shartni rostlikka tekshirshi natijasiga
ko‘ra dasturda tarmoqlanishni amalga oshiradi:
if (<shart>) <operator>;
Bu yerda <shart> har qanday ifoda bo‘lishi mumkin. Odatda u taqqoslash
amali bo’ladi. Agar shart 0 qiymatidan farqli yoki rost ( true ) bo‘lsa, <operator>
bajariladi, aks holda, ya’ni shart 0 yoki yolg‘on ( false ) bo‘lsa, hech qanday amal
bajarilmaydi va boshqaruv if operatoridan keyingi operatorga o’tadi . Ushbu
holat ko‘rsatilgan. if() shart operatorining blok sxemasi
C++ tillarining qurilmalari operatorlarni blok ko‘rinishida tashkil qilishga
imkon beradi. Blok C++ tilida ‘{‘ va ‘}’ belgi oralig‘iga olingan operatorlar
ketmaketligi ko‘rinishida bo’ladi. Blok kompilyator tomonidan yaxlit bir operator
deb qabul qilinadi. C++ tilida blok ichida e’lon operatorlari ham bo’lishi mumkin
va ularda e’lon qilingan o‘zgaruvchilar faqat shu blok ichida ko‘rinadi (amal
qiladi), blokdan tashqarida ko‘rinmaydi. Blokdan keyin ‘;’ belgisi qo‘yilmasligi
mumkin, lekin blok ichidagi har bir ifoda ‘;’ belgisi bilan yakunlanishi shart.
Dastur bajarilishi jarayonida butun turdagi o‘zgaruvchi e’lon qilingan va uning
qiymati klaviaturadan o‘qiladi. Keyin b qiymatini 0 sonidan kattaligi
tekshiriladi, agar shart bajarilsa( true ) , u holda ekranga “b – musbat son” xabari
chiqadi. Agar shart bajarilmasa, bu operatorlar cheklaи o‘tiladi. Navbatdagi shart
operatori b o‘zgaruvchi qiymatini manfiylikka tekshiradi, agar shart bajarilsa,](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_9.png)
![ekranga “b – manfiy son” xabari chiqadi.
If – else operatori: Shart operatorining if – else ko‘rinishi quyidagicha:
if (<shart-ifoda>) <operator1>; else <operator2>;.
Bu yerda <shart-ifoda> 0 qiymatidan farqli yoki true bo‘lsa <operator1>, aks
holda <operator2> bajariladi. If-else shart operator mazmuniga ko‘ra
algoritmning tarmoqlanuvchi blokini ifodalaydi: <shart-ifoda> - shart bloki
(romb) va <operator1> blokning «ha» tarmog‘iga, <operator2> esa blokning
«yo‘q» tarmog‘iga mos keluvchi amallar bloklari deb qarash mumkin.
Dastur bajarilganda, birinchi navbatda tenglama koeffitsientlari – a, b, c
o‘zgaruvchilar qiymatlari kiritiladi, keyin diskriminant – D o‘zgaruvchining
qiymati hisoblanadi. Keyin D o‘zgaruvchining manfiy ekanligi tekshiriladi. Agar
shart o‘rinli bo‘lsa, yaxlit operator bajariladi va ekranga “Tenglama haqiqiy
ildizlarga ega emas” xabari chiqadi va dastur o‘z ishini tugatadi (“ return 0;”
operatorini bajarish orqali). Diskriminant noldan kichik bo‘lmasa, navbatdagi
shart operatori uni nolga tengligini tekshiradi. Agar shart o‘rinli bo’lsa, keyingi
qatorlardagi operatorlar bloki bajariladi – ekranga “ Tenglama yagona ildizga
ega:” xabari, hamda x1 o‘zgaruvchi qiymati chop qilinadi va dastur shu yerda o‘z
ishini tugatadi, aks holda, ya’ni D qiymatni noldan katta holati uchun else kalit
so‘zidan keyingi operatorlar bloki bajariladi va ekranga “Tenglama ikkita ildizga
ega:“ xabari, hamda x1 va x2 o‘zgaruvchilar qiymatlari chop etiladi. Shu bilan
shart operatoridan chiqiladi va asosiy funksiyaning return ko’rsatmasini bajarish
orqali dastur o‘z ishini tugatadi.
O‘z navbatida <operator1> va <operator2> ham shartli operator bo’lishi
mumkin. Ifodadagi har bir else kalit so‘zi, oldindagi eng yaqin if kalit so‘ziga
tegishli hisoblanadi (xuddi ochiluvchi va yopiluvchi qavslardek). Buni inobatga
olmaslik mazmunan xatoliklarga olib kelishi mumkin.
Goto operatori va nishonlar.
Dasturda shunday holatlar bo’ladiki, operatorlarning bajarilishiga
qarab dasturning u yoki bu qismiga to‘g‘ridan-to‘g‘ri bajarishni uzatish
ehtiyoji tug‘iladi. Bunday holatlarda shartsiz o‘tish operatoridan
foydalanish mumkin.
C++ tilida shartsiz o‘tish operatorining sintsksisi quyidagicha:
Goto < nishon>;
Bu yerda <nishon> - belgi(metka) bo‘lib identifikator bo‘lishi
mumkin. Goto - o‘tish ma’nosini bildiradi.
C++ tillarida e’lon qilingan nishonlar qayerda e’lon qilinishiga qarab faqat
e’lon qilingan (funksiya, qism dastur) sohada ko‘rinadi.
Goto operatorida qo‘llaniladigan identifikatorlar C++ tilida Delphidagi
kabi e’lon qilinmaydi.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_10.png)
![Shuni ta’kidlash lozimki C++ tilida dastur tuzish jarayonidagi ayrim
hollarda goto operatoridan foydalanib «sakrab o‘tishi» hisobiga xatoliklar
yuzaga kelishi mumkin. Goto operatori va nishonlar.
Dasturda shunday holatlar bo’ladiki, operatorlarning bajarilishiga
qarab dasturning u yoki bu qismiga to‘g‘ridan-to‘g‘ri bajarishni uzatish
ehtiyoji tug‘iladi. Bunday holatlarda shartsiz o‘tish operatoridan
foydalanish mumkin.
C++ tilida shartsiz o‘tish operatorining sintsksisi quyidagicha:
Goto < nishon>;
Bu yerda <nishon> - belgi(metka) bo‘lib identifikator bo‘lishi
mumkin. Goto - o‘tish ma’nosini bildiradi.
C++ tillarida e’lon qilingan nishonlar qayerda e’lon qilinishiga qarab faqat
e’lon qilingan (funksiya, qism dastur) sohada ko‘rinadi.
Goto operatorida qo‘llaniladigan identifikatorlar C++ tilida Delphidagi
kabi e’lon qilinmaydi.
Shuni ta’kidlash lozimki C++ tilida dastur tuzish jarayonidagi ayrim
hollarda goto operatoridan foydalanib «sakrab o‘tishi» hisobiga xatoliklar yuzaga
kelishi mumkin. Masalan,
int i=0;
i++; if (i) goto m;
int j;
m: j+=I;
Bu misoldagi goto operatorining bajarilishi xatolikka olib keladi, chunki j
e’lon qilinmay oladi.
Shartsiz o‘tish operatori dastur tuzishdagi kuchli va shu bilan birga xavfli
vositalardan biri hisoblanadi. Kuchliligi shundaki, u yordamida algoritmning
«boshi berk» joylaridan chiqib ketish mumkin.
Ikkinchitomondan,blokladi ichiga o‘tish, masalan takrorlash operatorlarining
ichiga «sakrab» kirish kutilmagan holatlarni yuzaga keltirishi mumkin. Shu
sababli, imkon qadar goto
operatoridan foydalanmaslik kerak, ishlatilgan taqdirda ham qo’yidagi
qoidalarga amal qilish zarur: blok ichiga, if…else va tanlash operatorlari ichiga
hamda takrorlash operatorlari tanasiga tashqaridan kirish mumkin emas. Garchi,
nishon yordamida dasturning ixtiyoriy joyiga o‘tish mumkin bo’lsa ham,
boshlang‘ich qiymat berish e’lonlaridan sakrab o‘tish man etiladi, lekin bloklardan
sakrab o‘tish mumkin.
Xususan, nishon yordamida ichki blokdan tashqi blokka va tashqi blokdan ichki
blokka o‘tishga C++ tili ruxsat beradi
Utilitlar va drayverlar
Utilita-dasturlar bu operatsion tizimni imkoniyatlarini kuchaytiruvchi dasturlar.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_11.png)
![Masalan: disklar ustidan har xil amallarni bajaruvchi dasturlar, kompyuter ishini
tezlashtiruvchi dasturlar, malumotlar xajmini uzgaruvchi dasturlar , viruslarni
aniqlovchi dasturlar va xokazo. Masalan, kattik disk (vinchester) bilan turli ishlarni
amalga oshirish uchun maxsus dasturlar zarur.
Vinchesterni b ў laklarga b ў lish, uning ma‘lum b ў laklarini parol bilan ximoyalash
uchun Disk Manager deb ataluvchi dastur ishlatiladi.
Diskning xolatini tekshirish uchun esa NDD (Norton disk doctor) dastursi
ishlatiladi. Bu dastur yordamida disk segmentlari tekshirilib, undagi xatoliklar
topiladi va bartaraf etiladi.
Diskdagi ma‘lumotlarni optimizatsiya қ ilish, ya‘ni bir tartib bilan joylashtirib
chi қ ishga xizmat қ iluvchi SD (Speed Disk) dastursi mavjuddir. Uning yordamida
diskdagi ma‘lumotlar tartibga keltiriladi, bu esa diskdagi ma‘lumotlarga murojaat
қ ilishni yengillashtirib, kompyuter ishini tezlatadi.
Yu қ orida sanab ў tilgan dasturlarni ishlatish қ ulay b ў lib, dialog darchasida ҳ osil
b ў ladigan menyu punktlaridan mosini tanlash va ishlatishdan iboratdir.
Utilitlar guruxlarga birlashtirilib , ularning eng k ў p ishlatiladiganlari Norton
Utilities, PC Tools Deluxe, Mace Utilities lar b ў lib xisoblanadi. Utilitlarni
қ uyidagi tartibda guruxlarga b ў lib chi қ ish mumkin:
• Siqadigan dasturlar maxsus usullarni қў llagan xolda ma‘lumotlarni si қ ilgan xolda
joylashtirib , ularning arxiv nusxalarini xosil қ ilishga yordam beradilar. Masalan,
PKZIP, PKUNZIP va ARJ dasturlari bularga misol b ў la oladi.
• Disklardagi ma‘lumotlarning rezerv nusxalarini xosil қ iladigan dasturlar қ atti қ
u1076 diskka yozilgan ma‘lumotlarni tezlik bilan disketlarga yoki strimmerlarga
nusxalash uchun yordam beradilar. Masalan, Norton Backup, Fast Back Plus.
• Antivirus dasturlari, ular xilma-xil turdagi viruslarga қ arshi samarali kurashish
uchun xizmat қ iladilar
• Kommuniktsion dasturlar kompyuterlararo ma‘lumotlarni almashinish uchun
ishlatiladilar. Masalan, Brooklin Bridge, DeskLink, LapLink, Fast Link. Telemate,
Procomm, Dataline dasturlari kompyuterlarning telefon kanallari or қ ali mulo қ ot
қ ilinishiga yordam bersa , WinFax Pro, Bit Fax, Fax It dasturlari telefon
ma‘lumotlarini faks modem or қ ali uzatish imkoniyatini yaratadilar.
• Kompyuterni diagnostika қ ilish dasturlari uning konfiguratsiyasini va ishga
layo қ atliligini tekshirishga imkon beradi. Masalan, Cheeck It, ND lags, Control
Room, System Sleuth dasturlarini shu dasturlar turkumiga kiritish mumkin.
Disklarni tekshirish uchun Disk Technician Advance , Calibrate dasturlari
қў llanilishi mumkin.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_12.png)
![• Disk uchun m ў ljallanilgan dastur-kesh diskdan ma‘lumot ўқ ishni ancha
tezlashtirishga imkon beradi, chunki ushbu xolda operativ xotirada diskning tez-tez
ishlatilib turadigavn b ў laklarini ў z ichiga olgan kesh-bufer xosil қ ilinadi.
Masalan, Smart Drive , NKache, Super PC Kwik.
• Disklarni optimizatsiya қ ilish dasturlari disklarda sa қ lanadigan ma‘lumotlar
xajmini ancha oshirishga va ma‘lumotlarni tezro қ topishga yordam beradi.
Masalan, Speed Disk yoki Fast Trax dasturlari.
• Disklarni dinamik si қ ishtirishga imkon beruvchi dasturlar disklarda sa қ lanilishi
mumkin b ў lgan informatsiya xajmini ancha oshirishga yordam beradi. Masalan,
Stacker, Double Space, Super Stir dasturlari.
• Avtonom ravishda chop қ ilish dasturlari (skulerlar) fayllarni chop қ ilishni bosh қ a
ishlar bilan bir va қ tda amalga oshirishga imkon beradi. Masalan, Print Cashe
dasturi.
• Xotirani bosh қ arish uchun m ў ljallanilgan operativ xotirani yaxshiro қ bosh қ arish
uchun ishlatiladi. Masalan, Software Carousel va Switch It dasturlari xotiraga bir
қ ancha dasturlarni yuklashga va biridan ikkinchisiga osonlik bilan ў tishga yordam
beradi.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_13.png)
![XULUSA:
Biz c++ tilida ma’lumotkarni kiritish va chiqarish operatoratoralini o’rgandik.C++
dasturlash tilida biz matematik masalalalarni ishlashimiz mumkin.Utilitlar va
drayverlar bilan ham tanishib chiqdik. Biz bu mustaqil ish mavzusini
o’ranoshimizning maqsadi : hozirgi davr kompyuter davri hisoblanadi.C++
dasturlash tilining imkoniyatlari juda ko’p. C++ dasturlash tilida matematik
funksiyalar uchun standard funkiyalar jadvali bor.
C++ tilining egasi yo‘q, u hech kimga tegishli emas. Bu til C tilidan kelib chiqgani
uchun bosh harf C , ++ esa bu tildagi qiymatni bittaga ko‘tarish belgisi hisoblanadi
va bu belgi C++ dasturlash tilida paydo bo‘lgan.
C++ dasturlash tili kompilyasiya qilinadigan til hisoblanadi , bu degani yozilgan
kod oldin mashina tiliga o‘giriladi va keyin ishga tushiriladi deganidir.
C++ dasturlash tili funksiya va ob’ektlarning juda boy kutubxonasiga ega. Ya’ni
C++ tilida dasturlashni o‘rganish ikki qismga bo‘linadi. Birinchisi bu C++ tilini
o‘zini o‘rganish, ikkinchisi esa C++ tilining standart kutubxonasidagi tayyor
ob’ekt(funksiya)larni qo‘llashni o‘rganishdir. C++ tili va ob’ektlarga mo‘ljallangan
dasturlash tili.
C++ tili ob’ektga mo‘ljallangan dasturlash tamoyillarini qo‘llab- quvvatlaydi. Bu
tamoyillar quyidagilardir:
1.
Inkapsulyasiya
2.
Merosxo‘rlik
3.
Polimorfizm](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_14.png)
![FOYDALANILGSAN ADABIYOTLAR RO’YXATI I.
Me’yoriy- huquqiy xujjatlar.
1. O’zbekiston Respublikasi Prezidentining «Oliy ta’lim muassasalarining rahbar
va pedagog kadrlarini qaytatayyorlash va malakasini oshirish tizimini yanada
takomillashtirish chora-tadbirlari to’g’risida» 2015 yil 12 iyundagi PF-4732-son
Farmoni. 2. O’zbekiston Respublikasi Prezidentining 2010 yil 2 noyabrdagi “Oliy
malakali ilmiy va ilmiy-pedagogik kadrlar tayyorlash tizimini yanada
takomillashtirish chora-tadbirlari to’g’risida”gi PQ-1426-sonli Qarori. 3. Kadrlar
tayyorlash milliy dasturi. O’zbekiston Respublikasi Oliy Majlisining
Axborotnomasi, 1997 yil. 11-12-son, 295-modda. 4. O’zbekiston Respublikasi
Prezidentining 2012 yil 24 iyuldagi “Oliy malakali ilmiy va ilmiy-pedagog kadrlar
tayyorlash va attestasiyadan o’tkazish tizimini yanada takomillashtirish
to’g’risida”gi PF–4456-son Farmoni. 5. O’zbekiston Respublikasi Vazirlar
Mahkamasining 2012 yil 28 dekabrdagi “Oliy o’quv yurtidan keyingi ta’lim
xamda oliy malakali ilmiy va ilmiy pedagogik kadrlarni attestasiyadan o’tkazish
tizimini takomillashtirish choratadbirlari to’g’risida”gi 365- sonli Qarori. II.
Maxsus adabiyotlar.
1. Bjarne Stroustrup. Programming: Principles and Practice Using C++ (2nd
Edition). Person Education, Inc. 2014. second printing, January 2015. 2. Harry
Hariom Choudhary, Bjarne M Stroustrup. C++ Programming Professional.: Sixth
Best Selling Edition for Beginner's & Expert's 2014. 3. Bjarne Stroustrup.The C++
Programming Language, 4th Edition. Person Education, Inc. 2013. Third printing,
April 2014. 4. Nazirov Sh.A., Qobulov R.V., Bobojanov M.R., Raxmanov Q.S. С
va С ++ tili. “Voris-nashriyot” MCHJ, Toshkent 2013. 488 b. 5. Horstmann, Cay
S. C++ for everyone / Cay S. Horstmann. Printed in the United States of America -
2nd ed. 2010. – P. 562. 579 6. Horton I. - Beginning Visual C++ 2012 / I.Horton.
Published simultaneously in Canada. – 2012. –P. 988.](/data/documents/0040a133-7926-46fa-a3f7-befc7cccfa91/page_15.png)
MAVZU : Ma’lumotlarni kiritish-chiqarish operatorlari. REJA: 1.C++ tilida ma’lumotlarni kiritish operatorlari. 2.C++ tilida ma’lumotlarni chiqarish operatorlari. 3.Sodda operatorlar. 4. Utilitlar va Drayverlar.
C++ dasturlash tili bilan tanishib borishda davom etamiz. Tushunish oson bo’lishi uchun console muhitida misollar ko’rmoqdamiz. Console muhitida kiritish operatori cin>> orqali amalga oshiriladi. cin>> dan so’ng istalgan ma’lumot turi e’lon qilingan o’zgaruvchini joylashtirsak shu o’zgaruvchi qiymatini qo’lda kiritishimiz mumkin bo’ladi. Ushbu dasturni ishga tushirganingizda console kursori sizning biror qiymat kiritishingizni kutib turadi va berilgan o’zgaruvchiga biror qiymat kiritganingizdan so’ng, keyingi qator amallarini bajarishga o’tadi. Yuqoridagi misolda 5 sonini kiritgan bo’lsangiz, “Siz 5 sonini kiritdingiz” natijasini olishingiz mumkin. Funksiyani e’lon qilish Funksiyalarni e’lon qilishning umumiy standardi sifatida quyidagicha qonuniyatni ko’rish mumkin: ma’lumot turi funksiya nomi (ma’l turi parametr1, ma’l turi parametr2, …) { ifodalar( ya’ni funksiyani asosiy ishini bajaruvchi funksiya tanasi) } Funksiyani e’lon qilish va uni chaqirish bo’yicha sodda misol ko’ramiz: #include <iostream> using namespace std; int a plus b(int a,int b) { return (a+b); } int main() { int a=0,b=0; cout<<“Ikki sonni yig’indisini aniqlash dasturi:\\n”; cout<<“a sonini kiriting: “; cin>>a; cout<<“b sonini kiriting: “; cin>>b; cout<<a<<” va “<<b<<” sonlarining yig’indisi: “<<a_plus_b(a,b)<<endl; return 0; } C++ dasturlash tilida ma’lumotlarni chiqarish operatorlari. C++ dasturlash tilining elementlari Hozirgi kunda juda ko‘p algoritmik tillar mavjud. Bular ichida Java va C++ dasturlash tillari universal tillar hisoblanib, boshqa tillarga qaraganda imkoniyatlari kengroqdir. So‘ngi yillarda Java va C++ dasturlash tillari juda takomillashib, tobora ommalashib bormoqda. Mazkur tillardagi vositalar zamonaviy kompyuter texnologiyasining hamma talablarini o‘z ichiga olgan va unda dastur tuzuvchi uchun ko‘pgina qulayliklar yaratilgan. C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C tiliga asoslangan tarzda tuzildi. C++ juda ko’p qo’shimchalarni o’z ichiga olgan,
lekin eng asosiysi u obyektlar bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasbetmoqda. Buni ta’minlash uchun obyektli dasturlash g’oyasi ilgari surildi.Huddi 1970 yillar boshida strukturalidasturlash kabi, dasturlarni hayotdagi jismlarni modellashtiruvchi obyektlat orqali tuzish dasturlash sohasida inqilob qildi. C++ dan tashqari boshqa ko'p obyektli dasturlshga yo’naltirilgan tillar paydo bo'ldi. Shulardan eng ko’zga tashlanadigani Xerox ning Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da hamma narsa obyektlarga asoslangan. C++ esa gibrid tildir. Unda C tiliga o’hshab strukturali dasturlash obyektlar bilan dasturlash mumkin. C++ funksiya va obyektlarning juda boy kutubhonasiga ega. Yani C++ dasturlash tilida dasturlashni o’rganish ikki qismga bo’linadi. Birinchisi bu C++ tilini o’zini o’rganish, ikkinchisi esa C++ ning standart kutubhonasidagi tayyor obyekt va funksiyalarni qo’llashni o’rganishdir. C++ dasturlash tilida dastur quyidagi tarkibda tashkil topadi: Direktivalar – funksiyalar kutubxonasini chaqirish. Ular maxsus include katalogida joylashgan va .h kengaytmali fayllar bo’ladi. С ++ tilida masalaning qo’yilishiga qarab kerakli kutubxonalar chaqiriladi. Bus esa dasturning xotiradaegallaydigan joyini minimallashtiradi. C++ dasturlash tili bilan ishlovchi eng sodda dasturlar Dev C++ va CodeBlocks dasturlaridir. Ularning tarkibida 300 dan ortiq kutubxonalar mavjud. Eng ko’p ishlatiladigan kutubxonalar quyidagilar: #include <iostream.h>, #include <math.h> #include <conio.h> #include <graphics.h> #include <memory.h> main ( ) funksiyasi– asosiy degan ma’noni anglatadi. Bu funksiya “{“ belgisidan boshlanadi va dasturning asosini tashkil etuvchi o’zgaruvchilarning toifalari ko’rsatiladi. Dastur “}” belgisi bilan yakunlanishi shart. Agar dasturda qism dasturlardan foydalanilayotgan bo’lsa, ularning nomlari va haqiqiqy parametrlari keltiriladi. So’ngra dasturning asosiy buyruqlari yoziladi. Agar buyruqlar murakkab bo’lsas, ular alohida “{ }” belgilari orasiga olingan bo’lishi kerak. С ++ tilida dasturning asosi bo’lmish buyruqlar kichik harflar bilan yoziladi. Buyruqlar nuqta-verguk bilan (;) yakunlanadi. Buyruqlar bir qator qilib yozilishi ham mumkin. C++ dasturlash tilida dastur funksiya va funksiyalardan tashkil topadi. Agar dastur bir nechta funksiyalardan tashkil topgan bo’lsa, bir funksiyaning
nomi main deb nomlanishi shart. Dastur aynan main funksiyasining birinchi operatoridan boshlab bajariladi. Dasturning 1-satrida #include direktivasi bo‘lib, dastur kodiga oqimli o‘qish/yozish funksiyalari va uning o‘zgaruvchilari e’loni joylashgan iostream.h sarlavha faylini qo‘shadi. Keyingi qatorlarda dasturning yagona, asosiy funksiyasi main() funksiyasi tavsifi keltirilgan. Shuni qayd etish kerakki, C++ dasturida albatta main() funksiyasi bo‘lishi shart va dastur shu funksiyani bajarish bilan o‘z ishini boshlaydi. Dastur tanasida konsol rejimi ( Consol – rejimi bu MS DOS oynasi ko’rinishiga o’xshash oyna bo’lib, unda foydalanuvchi dastur tuzuishda faqat dastur kodlari bilan ishlaydi. Graphic interface – rejimida esa faqat tilning kodlari bilangina emas muhitning menyulari, komponentalari bilan ham ishlashi mumkin bo’ladi ) da belgilar ketma-ketligini oqimga chiqarish amali qo‘llanilgan. Ma’lumotlarni standart oqimga (ekranga) chiqarish uchun quyidagi format ishlatilgan: cout << <ifoda>; Bu yerda <ifoda> sifatida o‘zgaruvchi yoki sintsksisi to‘g‘ri yozilgan va qandaydir qiymat qabul qiluvchi til ifodasi kelishi mumkin (keyinchalik, burchak qavs ichiga olingan o‘zbekcha satr ostini til tarkibiga kirmaydigan tushuncha deb qabul qilish kerak) . cin << a; Ma’lumotlarni klaviatura yordamida kiritish buyrug’i bo’lib, u ham iostream.h kutubxonasi tarkibidagi funksiya hisoblanadi. 1.3 Identifikatorlar va kalit so‘zlar. Dasturlash tillarida identifikator tushunchasi mavjud bo‘lib, dasturda obyektlarni nomlash uchun ishlatiladi. O‘zgar maslarn i, o‘zgaruvchilarni, belgi (metka), protsedura va funksiyalarni belgilashda ishlatiladigan nom identifikatorlar deyiladi. Identifikatorlar lotin alfaviti harflaridan boshlanib, qolgan belgilari harf yoki raqamlar ketma -
ketligidan tashkil topgan bo'lishi mumkin. Masalan: axc, alfa. Dasturlash tillarida dastur bajarilishi vaqtida qiymati o‘zgarmaydigan identifikatorlar o‘zgarmaslar deyiladi. O‘zgarmaslar beshta guruhga bo‘linadi – butun, haqiqiy (suzuvchi nuqtali), sanab o‘tiluvchi, belgi (literli) va satr («string», literli satr). C++ tilida o‘zgarmas ( cons ) – bu fiksirlangan sonni, satrni va belgini ifodalovchi leksema hisoblanadi. Kompilyator o‘zgarmasni leksema sifatida aniqlaydi, unga xotiradan joy ajratadi, ko‘rinishi va qiymatiga (turiga) qarab mos guruhlarga bo’ladi. Butun o‘zgarmaslar: ular quyidagi formatlarda bo’ladi; -o‘nlik-son; -sakkizlik-son; -o‘n.oltilik-son. O’nlik o’zgarmas 0 raqamidan farqli raqamdan boshlanuvchi raqamlar ketma-ketligi va 0 hisoblanadi: 0; 123; 7987; 11. Manfiy o’zgarmas – bu ishorasiz o‘zgarmas bo‘lib, unga faqat ishorani o’zgartirish amali qo‘llanilgan deb hisoblanadi. Sakkizlik o’ 0 raqamidan boshlanuvchi sakkizlik sanoq sistemasi (0,1,..,7) raqamlaridan tashkil topgan raqamlar ketma-ketligi: 023;-0777;-0. O‘n oltilik o‘zgarmas 0x yoki 0X belgilaridan boshlanadigan o‘n oltilik sanoq sistemasi raqamlaridan iborat ketma-ketlik hisoblanadi: 0x1A;-0X9F2D;-0x23. Harf belgilar ixtiyoriy registrlarda berilishi mumkin. Kompilyator sonning qiymatiga qarab unga mos turni belgilaydi. Agar tilda belgilangan turlar dastur tuzuvchini qanoatlantirmasa, u oshkor ravishda turni ko‘rsatishi mumkin. Buning uchun butun o‘zgarmas raqamlari oxiriga, probelsiz l yoki L (1ong), u yoki U (unsigned) yoziladi. Zarur hollarda bitta o‘zgarmas uchun bu belgilarning ikkitasini ham ishlatish mumkin: 451u, 012Ul, 0xA2L. Haqiqiy o‘zgarmaslar: Haqiqiy o‘zgarmaslar – suzuvchi nuqtali son bo‘lib, u ikki xil formatda berilishi mumkin: O‘nlik fiksirlangan nuqtali formatda. Bu ko‘rinishda son nuqta orqali ajratilgan butun va kasr qismlar ko‘rinishida bo’ladi. Sonning butun yoki kasr qismi bo‘lmasligi mumkin, lekin nuqta albatta bo‘lishi kerak. Fiksirlangan nuqtali o‘zgarmaslarga misollar: 24.56; 13.0; 66.; .87; eksponensial shaklda haqiqiy o‘zgarmas 6 qismdan iborat bo’ladi: \” 0x22 “ Qo‘shtirnoqni chop etish \? 0x3 Ғ ? So‘roq belgisi