Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"



Download 333,2 Kb.
bet35/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   31   32   33   34   35   36   37   38   ...   90
Bog'liq
C majmua

Eslatma. string satri char tipidagi simvollardan iborat bo'lishi shart emas. Bu ixtiyoriy simvollar majmuasidan foydalanishga imkon beradi (nafaqat ASCIIni), lekin ixtiyoriy majmua uchun ish samaradorligi pasayishiga sabab bo'lishi mumkin bo'lgan xos nusxalash amalini aniqlashga to'g'ri keladi.


FOYDALANUVCHI ANIQLAYDIGAN
MA'LUMOTLAR TIPLARI

Real masalalarda qayta ishlash talab etiladigan axborot yetarlicha murakkab tuzilishga ega. Uning mos tasvirlanishi uchun ma'lumotlar, massivlar va ko'rsatgichlar oddiy tiplari asosida tuzilgan ma'lumotlar tiplaridan foydalaniladi. C++ tili dasturchiga o'z ma'lumotlari tiplarini ular bilan ishlash qoidalarini aniqlashga imkon beradi. Bunday tiplar uchun nomlar topildi, vaholangki, ularni dasturchi aniqlaydigan tiplar deb ham atash to'g'ri bo'lar edi.




Tiplarni qayta nomlash (typedef)
Dasturni yanada tushunarli qilish uchun tipga typedef tayanch so'zi yordamida yangi nom berish mumkin:
typedef tip yangi_nom [ 3 o'lchov ];
Bu holda kvadrat qavslar sintaksis elementi bo'ladi. O'lchov bo'lmasligi mumkin. Misollar:
typedef unsigned int UINT;
typedef char Msg[100];
typedef struct {
char fio[30];
int date, code;
double salary;} Worker;

Shunday qilib kiritilgan nom standart tiplar nomlari kabi foydalanish mumkin:


UINT i, j; // unsigned int tipdagi ikkita o'zgaruvchi
Msg str[10]; // 100 ta simvolli 10 ta satrdan iborat massiv
Worker staff[100]; // 100 strukturadan iborat massiv

Uzun tavsiflangan tiplarga qisqa laqablar berishdan tashqari typedef dasturlarni ko'chirilishini osonlashtirish uchun foydalaniladi: agar mashina-bog'liq tiplarni typedef operatorlari yordamida e’lon qilinsa, dasturni kuchirishda faqat bu operatorlarga o'zgartirishlar kiritish talab etiladi.




Sanashlar (enum)
Dasturlarni yozishda ko'pincha bir nechta nomlangan konstantalarni aniqlash ehtimoli paydo bo'ladi, ularning barchasi turli qiymatlarga ega bo'lishi talab etiladi (bunda konkret qiymatlar muhim bo'lmasligi mumkin). Buning uchun barcha mumkin bo'lgan qiymatlari butun sonli konstantalar ro'yxati bilan beriladigan sanab o'tiluvchi ma'lumotlar tipidan foydalanish qulay. Format:

enum [ tip_nomi ] { konstantalar_ro'yxati }


Tip nomi agar dasturda bu tipdagi o'zgaruvchilarni aniqlash talab etilganda beriladi. Kompilyator bu o'zgaruvchilar faqat konstantalar ro'yxatidan qiymatlar qabul qilishini ta'minlaydi. Konstantalar butun sonli bo'lishi mumkin va odatdagi tarzda initsializatsiyalanishi mumkin. Initsializator bo'lmaganda birinchi konstanta nolga aylanadi, har bir keyingisi oldingisiga qaraganda bitta birlikka ortiq qiymat beriladi:


enum Err { ERR_READ, ERR_WRITE, ERR_CONVERT };


Err error;

switch (error) {
case ERR_READ; /* operatorlar */ break;
case ERR_WRITE; /* operatorlar */ break;
case ERR_CONVERT; /* operatorlar */ break;
}

ERR_READ, ERR_WRITE, ERR_CONVERT konstantalarga mos ravishda 0, 1 va 2 qiymatlar beriladi. Boshqa misol:


enum {two = 2, three, four, ten = 10, eleven, fifty = ten + 40};


three va four konstantalarga 3 va 4 qiymat, eleven konstantaga 11 qiymat beriladi.


Sanab o'tiladigan konstantalar nomlari noyob bo’lishi mumkin. Sanash qo'llashning nomlangan konstantalar va #define direktiva tavsifidan afzalligi bog'langan konstantalar ko'rgazmaliroq, bundan tashqari, kompilyator konstantalar initsializatsiyasida tiplarni tekshirishi mumkin.
Arifmetik amallarni bajarishda sanab o'tishlar butun sonlarga almashadi. Sanab o'tishlar foydalanuvchi aniqlaydigan tiplar bo'lgani uchun ular uchun xos amallarni kiritish mumkin.

Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   ...   90




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