Ma’ruza mashg`ulot uchun
Operatsiya(amal belgilari) va ifodalar
Download 0.85 Mb.
|
1-semestr maruzalar
- Bu sahifa navigatsiya:
- 3.1- jadval. C ning amal belgilari Kategoriyasi Amal belgisi
- 3.3. C da asosiy amallari Inkrement va decrement
- Unar ayirish amali .
- Razryadli ayirish ( ) amali
- Tiplarni oshkor o‘zgartirish amali .
- ( tip ) ifoda.
- Ko‘paytirish, bo‘lish va qoldiqli bo‘lish . Ko‘paytirish amali(*)
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 – 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling