«C# dasturlash tili» O’quv qo’llanma



Download 0,57 Mb.
bet54/76
Sana20.07.2022
Hajmi0,57 Mb.
#828017
1   ...   50   51   52   53   54   55   56   57   ...   76
Bog'liq
C # ma\'lumotnoma

DaQiQali praktikum

  1. Tiplarni tartiblash operatsiyasi nima?

  2. Tiplarni tartiblash jarayonisiz short tipiga mos Qiymatni int tipiga moslab o’zlashtirish mumkinmi?

  3. xqxQ23 operatorini boshQa usullar bilan yozib ko’ring.

Operatorolar afzalligi


2.3. tablitsada C# da Qo’laniladigan barcha opreatorlar yuQoridan past tomonga Qarab keltirilgan. Shuningdek keyinchalik tanishtiriladigan operatorlar xam ko’rsatib o’tilgan.
Tablitsa 2.3. C# operatorlarini afzalligi
Eng yuQori
() [] QQ (postfiks) -(postfiks) checked new
sizeof typeof unchecked
! - (cast) Q (unarli) -(unarli) QQ(prefiks) -(prefiks)
* G’ %
Q -
<<>>
<> - is
q q !q
&
^
!
&&
!!
?
q op q
Eng pastki
Ifoda
Operatorlar, o’zgaruvchilar va literallar ifodaning tarkibiy Qismi xisoblanadi. Ifoda C# dasturlash tilida mazkur tarkibiy Qismlarning kombinatsiyasidan kelib chiQadi. Agar siz ozgina bo’lsa xam dasturlash bilan shug’ullangan bo’lsangiz (xech bo’lmaganda algebra bilan) buni sintaksisini keltirib chiQara olasiz. BiroQ ishlash jarayonida Quyida ta’kidlanadigan Qoidalarga amal Qilish zarur bo’ladi.


Ifodalarda tiplarni akslantirilishi
Ifodalarda ikki va undan ortiQ tipli ma’lumotlarni birgalikda Qo’shish imkoniyati mavjud bo’lib, ular mutanosib xisoblanadi. Masalan siz Q va – son tipli ma’lumotlarni birgalikda Qo’shishingiz mumkin.
Akslantirish bevosita S# da Qabul Qilingan ifodalarda tiplarning avtomatik akslatirilishi Qoidasi asosida amalga oshadi. Quyida arifmetik operatsiyalar uchun mazkur Qoida asosidagi algoritm keltirilgan.
Agar bir operand decimal tipiga mansub bo’lsa, ikkinchi operand xam avtomatik tarzda decimal tipida akslantiradi.

  • Agar operandlardan biri double tipiga mansub bo’lsa, Qolgani xam avtomatik tarzda shu tipda akslantiriladi.

  • Agar operand float tipiga mansub bo’lsa, ikkinchisi xam avtomatik tarzda shu tipda akslantiriladi

  • Agar operandlardan biri along tipiga mansub bo’lsa, Qolgani xam avtomatik tarzda shu tipda akslantiriladi

  • Agar operand lera tipiga mansub bo’lsa, ikkinchi operand avtomatik tarzda long tipida akslantiriladi

  • Agar operandlardan biri long tipiga mansub bo’lsa, ikkinchi operand sb, te, short bo’lsa, barcha operandlar avtomatik tarzda long tipda akslantiriladi

  • Agar bir operand line tipiga mansub bo’lsa ikkinchi operand avtomatik tarzad int tipida akslantiriladi.

  • Agar yuQoridagi Qoidalardan chetga chiQish xolatlari bo’lsa, ikkala operand xam short tipida akslantiriladi.

YUQorida keltirilgan avtomatik tarzda akslantirish Qoidalariga e’tibor Qarating. Barcha tipli ma’lumotlar xam bir-iri bilan mutanosib bo’lavermaydi. Bularga misol Qilib float va decimal tiplarini olish mumkin. Agar oxirgi Qoidaga e’tibor Qaratsangiz, mabodo biror bir Qoidaga mos tushmaydigan vaziyatlarda ikkala operandlar xam avtomatik tarzda int tipiga o’tkaziladi. char, sbyte, short, tipiga mansub Qiymatlar ifodada int tipiga o’tkaziladi. Bu protsess butunsonli tiplarning avtomatik tarzdagi akslantirilishi deb nomlanadi. Bu esa barcha matematik operatsiyalarning natijasi bitdan kam xolda saQlovchi tipga mansub ekanligini anglatadi.
Shuni yoddan ko’tarmaslik kerakki, avtomatik akslantirish jarayonida kutilmagan natijalar xam kelib chiQishi mumkin. Masalan byte tiplari o’rtasida o’tkazilayotgan arifmetik operatsiyada natijani int tipiga o’tganligini kuzatish mumkin. Bu esa umuman kutilmagan natijadir. Chunki dasturlovchi o’zgaruvchilar tipini boshQarishi zarurdir. Butunsonlar tiplarini avtomatik tarzda akslantirish Qoidasini Quyidagi dastur orQali ko’rish mumkin.
Agar bo’lish ifodasi b * b 1 o’zgartiruvchi bilan o’zlashtirilganda tiplarni tartiblash talab Qilinmaydi. Chunki b o’zgartiruvchisini bo’lish jarayonida avtomatik tarzda int tipiga o’zgartiriladi. Mabodo siz b * b o’zgaruvchisini b tarzida o’zlashtirmoQchi bo’lsangiz mazkur tipni teskari tartibda byte tipiga o’tkazish zarur bo’ladi. Shuni esdan chiQarmaslik kerakki, agar protsess davomida kutilmagan natija olinsa bu ifodadagi tiplarning nomutanosibligidandir. Bu xolat ko’pincha char tipi bilan ishlayotgan paytda yuzaga keladi. Masalan Quyidagi kod fragmentida char tipini natijalarini int tipiga aylantirilishini talab Qiladi.
char ch1 – ‘a’, ch2 – ‘b’;
(ch1-(char)’ch1’ – ch2);
Tipni tartiblashsiz ch1 va ch2 o’zgaruvchilarini ko’paytirish natijasida xosil bo’lgan Qiymat int tipiga aylanadi, lekin o’zgaruvchilar char tipi tarzida o’zlashtirilmaydi.
Tiplarni tartiblash faQatgina tiplarni o’zlashtirish jarayonida tiplarni akslantirish uchungina kerak bo’lmaydi. Masalan Quyidagi dasturda ifodani mayda natijalari uning double tipiga o’tkazilishini talab Qiladi. Agar shunday Qilinmasa double tipi int tipiga ega bo’lardi va ma’lumotning yo’Qolishiga olib keladi.
G’G’ mazkur dasturda ifodani hisoblash jarayonida tiplarni G’G’ tartiblash keltirilgan
using System
class UseCastpublic static void Main () {
int 1;
or (1 – 0; 1 < 5; 1 QQ)
Console.WriteLine( ‘ifodaning butunsonli natijasi’ -1Q”G’3: “ Q - G’3 );
Console.WriteLine (‘ifodaning mayda natijasi’) [0:#,##]”, (double) 1G’3;
Console.WriteLine ();
Quyida mazkur dasturni bajarilishi ko’rsatilgan.
Ifodani xisoblash natijasida xosil bo’lgan butun sonli natijasi 0G’3: 0
Ifodani xisoblash natijasida xosil bo’lgan QoldiQ sonli natijasi
Ifodani xisoblash natijasida xosil bo’lgan butun sonli natijasi 1G’3: 0
Ifodani xisoblash natijasida xosil bo’lgan QoldiQ sonli natijasi .33
Ifodani xisoblash natijasida xosil bo’lgan butun sonli natijasi 2G’3: 0
Ifodani xisoblash natijasida xosil bo’lgan QoldiQ sonli natijasi .67
Ifodani xisoblash natijasida xosil bo’lgan butun sonli natijasi 3G’3: 1
Ifodani xisoblash natijasida xosil bo’lgan QoldiQ sonli natijasi .1
Ifodani xisoblash natijasida xosil bo’lgan butun sonli natijasi 4G’3: 1
Ifodani xisoblash natijasida xosil bo’lgan QoldiQ sonli natijasi 1.33



Download 0,57 Mb.

Do'stlaringiz bilan baham:
1   ...   50   51   52   53   54   55   56   57   ...   76




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