Ma’ruza mashg`ulot uchun


Operatsiya(amal belgilari) va ifodalar


Download 0.85 Mb.
bet10/49
Sana19.06.2023
Hajmi0.85 Mb.
#1600219
1   ...   6   7   8   9   10   11   12   13   ...   49
Bog'liq
1-semestr maruzalar

3.2. Operatsiya(amal belgilari) va ifodalar
Operatsiya yoki amal belgilari - bu operandlar ustida belgilangan tartibda biror amalni bajaruvchi belgi yoki belgilar ketma ketligidir.
Ifoda – ma’lum bir hisoblash qoidasiga asosan amal belgilari bilan bog‘langan operandlardir. Ifodada amal belgilari yordamida bog‘langan operandlar ishtirok etadi. Operandlar o‘zgarmas yoki o‘zgaruvchi yoki funksiya bo‘lishi mumkin.
Masalan, a + 2. Bu operandlar + belgisi bilan bog‘langan ifodadir, a va 2 esa operand.
C# ning amal belgilari quyidagi 3.1 jadvalda keltirilgan.

3.1- jadval. C# ning amal belgilari

Kategoriyasi

Amal belgisi

Nomlanishi

Birinchi daraja

x()

Funksiya, uslub yoki delegatni chaqirish

x[]

Biror to‘plam, massiv yoki majmua elementiga murojaat

x++

Postfiksli inkrement

x--

Postfiksli dekrement

new

Xotiradan joy belgilash

typeof

Tipni aniqlashtirish

checked

Tekshiriluvchi kod

unchecked

Tekshirilmaydigan kod

Unar

+

Unar qo‘shish amali

-

Unar ayirish amali

!

Mantiqiy ayirish(emas)

~

Razryad bo‘yicha ayirish

++x

Prefiksli inkrement

--x

Prefiksli dekrement

(tip)x

Tipni o‘zgartirish

Multiplikativ

*

Ko‘paytirish

/

Bo‘lish

%

Qoldiqli bo‘lish

Additiv

+

Qo‘shish

-

Ayirish

Surish

<<

Chapga surish

>>

O‘ngga surish

Solishtirish(taqqoslash) va tipni tekshirish

<

Kichik

>

Katta

<=

Kichik yoki teng

>=

Katta yoki teng

is

Tegishlilik

as

Keltirish, tenglash

Tenglikni tekshirish

==

Teng

!=

Teng emas

Mantiqiy razryadli

&

Razryadli kon’yunksiya (VA)



Razryadli istisno etuvchi YoKI amali

|

Razryadli diz’yunksiya (YoKI)

Mantiqiy

&&

Mantiqiy VA

||

Mantiqiy YoKI

Shartli

?:

Shartli operatsiya

O‘zlashtirish

=

O‘zlashtirish

*=

Ko‘paytirib o‘zlashtirish

/=

Bo‘lib o‘zlashtirish

%=

qoldiqli bo‘lib o‘zlashtirish

+=

Qo‘shib o‘zlashtirish

-=

Ayirib o‘zlashtirish

<<=

chapga surib o‘zlashtirish

>>=

o‘ngga surib o‘zlashtirish

&=

razryadli VA amalini bajarib o‘zlashtirish



razryadli istisno etuvchi YoKI amalini bajarib o‘zlashtirish

|=

razryadli YoKI amalini bajarib o‘zlashtirish

3.1 – jadvalda keltirilgan amal belgilari - ifodalarda bajarilish ketma-ketligi kamayish tartibida joylashtirilgan, ya’ni avval yuqorida joylshagan kategoriyadagi amallar bajariladi.


Agar ifodada bir nechta bitta kategoriyaga mansub operatsiyalar ketma-ket joylashgan bo‘lsa, o‘zlashtirish va shartli amallar o‘ngdan chapga qarab bajariladi, qolgan amallar esa chapdan o‘ngga qarab bajariladi. Amallarning bajarilish ketma-ketligini buzish uchun oddiy qavslardan foydalaniladi.
3.3. C# da asosiy amallari
Inkrement va decrement. Inkrement va dekrement amallari operandni 1 qiymatga oshirish va kamaytirish uchun xizmat qiladi. Ularning ikki xil formasi bor bo‘lib, birinchisi prefiksli forma: bunda amal belgisi operandning old tarafida joylashadi, ikkinchisi postfiksli forma bo‘lib: bunda amal belgisi operanddan keyin joylashadi. Prefiksli formada avval ta’kidlab o‘tganimizdek, birinchi navbatda operand qiymati 1 birlikka oshiriladi(kamaytiriladi), so‘ngra operandning yangi hosil bo‘lgan qiymatidan ifodada foydalaniladi. Postfiksli formada esa operand shu jarayongacha bo‘lgan qiymati ifodada hisoblanib bo‘lingandan so‘ng bir birlikka orttiriladi(kamaytiriladi).
Standart inkrement va dekrement amallaridan butun, belgili, haqiqiy va pulli tiplarda foydalanish mumkin.
new operatsiyasi. new operatsiyasi yangi ob’ekt yaratish uchun xizmat qiladi. Sintaksisi:
new tip ( [ argumentlar ] )
Misol:
object z = new object();
int i = new int(); // bu xolat int i = 0; ga teng kuchli.
new operatsiyasi bajaralish jarayonida birinchi navbatda kerakli xajmdagi joy xotiradan ajratiladi, so‘ngra konstruktor metodi orqali kerakli ob’ekt initsializatsiya qilinadi. Qiymatli tiplar new yordamida e’lon qilinganda o‘zgaruvchiga boshlang‘ich qiymat sifatida 0 o‘zlashtiriladi.
Unar ayirish amali. Unar ayirish amali (-) sonli tipdagi operandning ishorasini uning aksiga aylantirish uchun xizmat qiladi.
Mantiqiy ayirish ( !) amali - mantiqiy bool tipli kattaliklar uchun mo‘ljallangan. Mantiqiy ayirish amali operand qiymatini uning aksiga o‘zgartirish uchun xizmat qiladi. Ya’ni mantiqiy ayirish amali qo‘llanganda operandning qiymati true bo‘lsa, uning qiymati false ga almshadi, agar operandning qiymati false bo‘lsa, uning qiymati true ga almashadi.
Razryadli ayirish ( ~ ) amali – ko‘pincha bitli ayirish amali deb ham yuritiladi. Razryadli ayirish amali int, uint, long ili ulong tipli operandning ikkilik kodidagi har bir razryadini inversiya qilish uchun qo‘llaniladi. Ya’ni ushbu amalni qo‘lllash natijasida operandning ikkilik kodidagi 1 ga teng bo‘lgan razryadlari 0 ga, 0 ga teng bo‘lgan razryadlari esa 1 ga almashadi. Masalan:

int v = 153; // 153 ning ikkilik kodidagi qiymati 10011001 ga teng


int n = ~v; // natija: n ning qiymati 102 ga,uning ikkilik koddagi qiymati esa 01100110 ga teng bo‘ladi.
Unar amallarda ishtirok etuvchi operand bitta bo‘ladi.
* Unar qo‘shish amali qo‘llanganda operandning arifmetik qiymati o‘zgrmaydi, lekin agar uning tipi uchun arifmetik operatsiya aniqlanmagan bo‘lsa uning tipi o‘zgarishi mumkin.
Tiplarni oshkor o‘zgartirish amali. Tiplarni oshkor o‘zgartirish amali operand qiymatining tipini boshqa tipga o‘zgartirish uchun qo‘llaniladi. Ushbu amalni qo‘llab, kattaroq tipli qiymatlarni kichikroq tipga o‘zgartirilsa, qiymatlarda yo‘qotish kuzatiladi.
Sintaksisi:
( tip ) ifoda. Bu yerda tip - ifoda qiymatini qaysi tipga o‘zgartirish lozimligini bildiruvchi tip, ifoda esa - o‘zgaruvchi yoki o‘zgarmas nomi va h.k.
Masalan:
long b = 300;
int a = (int) b; // Ma’lumot yo‘qolishi yuz bermaydi
int d = (byte) a; // Ma’lumot yo‘qoladi
Ko‘paytirish, bo‘lish va qoldiqli bo‘lish.
Ko‘paytirish amali(*) ikki operandni ko‘paytirish orqali hosil bo‘lgan natijani qaytaradi. Standart ko‘paytirish amali int, uint, long, ulong, float, double i decimal tiplari uchun aniqlangan. Boshqa tipli kattaliklar uchun ham ko‘paytirish amalini qo‘llash mumkin, faqat ushbu tip uchun avtomatik o‘zgartirish amalga oshishi lozim bo‘lishi kerak. Natijaning tipi - agar katta tipli operand qiymati int tipidan kichik bo‘lmasa, shu operand tipida, aks xolda eng kamida int tipida bo‘ladi.

Download 0.85 Mb.

Do'stlaringiz bilan baham:
1   ...   6   7   8   9   10   11   12   13   ...   49




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling