С# тилининг типлари тизими Маълумотларнинг типлари


Листинг 1 Бир ўлчовли массивлар билан ишлаш Ўзгартиришлар



Download 95,52 Kb.
bet4/9
Sana24.02.2022
Hajmi95,52 Kb.
#220308
1   2   3   4   5   6   7   8   9
Bog'liq
курс иши

Листинг 1 Бир ўлчовли массивлар билан ишлаш
Ўзгартиришлар
Қийматлар типини стандарт арифметик ўзгартириш
Ифодаларни арифметик ҳисоблаш жараёнида ҳисоблаш натижасидан келиб чиққан қиймат типини ўзгартиришга тўғри келиб қолиши мумкин. Агар операндларнинг ҳар иккиси бир хил типга тегишли бўлса ва бажарилувчи арифметик амал шу тип учун аниқланган бўлса у ҳолда натижа ҳам айнан шу типли қиймат бўлади. Тип учун арифметик амал аниқланган деб, шу тип учун ёзилган амални бажаришга рухсат этилишига айтилади.
Агар операндлар ҳар хил типли бўлса ва бу типлар учун арифметик амал аниқланмаган бўлса, ҳисоблашдан аввал кичикроқ типни унинг қийматини ва аниқлигини сақлаган холда каттароқ типга автоматик ўзгартириш бажарилади. Бундай ўзгартиришни автоматик ёки ошкор бўлмаган ўзгартириш дейилади.
Автоматик ўзгартириш қачонки қийматни йўқотишга олиб келмайдиган ҳолат бўлса шундагина амалга ошади. Акс холда ошкор ўзгартиришни амалга оширишга тўғри келади. Ошкор ўзгартириш дастурчи томонидан (тип)х амалини бажариш орқали амалга оширилади. Масалан: (int)a; Бунда қийматни аниқлилиги дастурчининг қандай тип танлашига боғлиқ бўлади.
Арифметик амаллар int типидан кичик бўлган типлар учун аниқланмаган. Бу шуни билдирадики агар ифодада sbyte, byte, short ва ushort каби типли катталиклар иштирок этган бўлса, амални бажаришдан олдин улар int типига автоматик ўзгартириб олинади, сўнгра амал бажарилади.
4.3.1 расмда автоматик ўзгартиришни амалга ошишини кетма-кетлиги келтирилган. Унга кўра ифодада операндларнинг бири иккинчисига нисбатан кичикроқ типга тегишли бўлса, ҳисоблаш жараёни давомида кичикроқ тип каттароғига автоматик ўзгартириб олинади. Ушбу ўзгартириш операндга таъсир этмайди. Агар тип чегарадан ўтиб кетса ёки расмдаги тартибга тўғри келмаса компильяция жараёнида хатолик юзага келади.
Ифодаларни ҳисоблаш жараёнида турли хил хатоликлар юзага келиши мумкин, масалан: 0 га бўлиш, хотиранинг тўлиб кетиш ва ш.к.лар. Бундай холларда барча юқори босқичли алгоритмик тилларда бўлгани каби C# да ҳам хатоликларни қайта ишлаш механизми мавжуд бўлиб, ушбу механизмдан фойдаланиб дастурнинг авария холати билан якунланишининг олди олинади. Бу механизм фавқулод(истисно)ли холатларни қайта ишлаш механизми деб юритилади.

4.3.1.-расм Типларни ошкор бўлмаган арифметик ўзгартириш кетма-кетлиги

Ҳисоблаш жараёнида хатолик юзага келса, механизм бу хатоликка мос келувчи махсус қиймат генерация қилади. Ҳар бир типнинг унга мос келувчи ўзининг фавқулод кодлари мавжуд. Бу кодлар С# да, хатоликларнинг умумий аждод синфи Exception синфи орқали тақдим этилади. Масалан, 0 га бўлишда DivideByZeroException хатолик коди, хотира етишмаслигида эса OutOfMemoryException хатолик коди қайтарилади. Дастурчи ушбу кодларни истисноли холатларни қайта ишлаш блоки try..catch конструкцияси орқали “тутиб” олади ва қайта ишлайди. Истисноли холатларни қайта ишлаш механизми тўғрисида кейинроқ батафсил тўхталиб ўтамиз.





Download 95,52 Kb.

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




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