2-ma’ruza mavzu: С++da sonlarning turlari va ular ustida amallar. Dastur yaratish jarayoni. Reja
Download 6.3 Mb.
|
S-D1-ma\'ruza-2
- Bu sahifa navigatsiya:
- 2.12. Inkrement va dekrement operatorlar Key Point.
2.11. O’rnatilgan qoidali operatorlar
Key Point. +, –, *, / va % operatorlari ifodali operator ko’rinishidan o’rnatilgan qoidali operatorlarga o’girilishi mumkin. Mazkur o’zgaruvchiga qiymat berish qoidasi tez-tez qo’llanilgan, qayta ishlangan va keyin yana dastlabki holatiga qaytarilgan. Masalan, quyidagi satrda keltirilgan qoidaga ko’ra, hisoblash o’zgaruvchisi 1 qiymatga oshirilishi ko’rsatilgan: hisobla = hisobla + 1; C++ belgilash va qo’shish operatorlarini o’rnatilgan operator ko’rinishiga o’tkazilishiga ruxsat beradi. Buni quyidagicha yozish mumkin: hisobla += 8 “+=” operatori – o’rnatilgan qo’shish operatori deb ataladi. Boshqa o’rnatilgan operatorlar ro’yxati 2.3-jadvalda berilgan. 2.3-jadval. O’rnatilgan belgilash operatorlari O’rnatilgan qoida amali hisoblanuvchi ifodadagi qolgan barcha operatorlardan so’ng, oxirida bajariladi. Masalan: x /= 4+ 5.5* 1.5; yoki quyidagicha x = x / (4+ 5.5* 1.5); 2.12. Inkrement va dekrement operatorlar Key Point. Inkrement (++) va dekrement (– –) operatorlari o’zgaruvchini 1 birlikka oshirish yoki kamaytirish uchun ishlatiladi. ++ va – – operatorlari o’zgaruvchini 1 birlikka oshirish yoki kamaytirish uchun ishlatiladi. Bu operatorlar dasturlashda ancha foyda beradi. Chunki, ko’pincha dasturlash jarayonida o’zgaruvchining qiymatini tez-tez o’zgartirish zarurati paydo bo’lib turadi. Misol uchun, quyidagi kodda i o’zgaruvchining 1 qiymatga oshirilishi va j o’zgaruvchining 1 qiymatga kamaytirilishi ko’rsatilgan: int i = 3, j = 3; i++; // i ning qiymati 4 ga o’zgaryapti j--; // j ning qiymati 2 ga o’zgaryapti i++ operatori “i plyus plyus” deb, i—operatori esa “i minus minus” - deb o’qiladi. Bu operatorlar postfiks inkrement (postinkrement) va postfiks dekrement (postdekrement) nomlari bilan tanilgan. Chunki bunda operatorlar o’zgaruvchidan keyin keladi. Bu operatorlar o’zgaruvchidan oldin ham kelishi mumkin. Masalan quyidagicha: int i = 3, j = 3; ++i; // i ning qiymati 4 ga o’zgaryapti --j; // j ning qiymati 2 ga o’zgaryapti ++i i ni bittaga oshiradi, --j j ni bittaga kamaytiradi. Bu operatorlar prefiks inkrement (preinkrement) va prefiks dekrement (predekrement) deb nomlanadi. Ko’rib turganimizdek, i++ va ++i yoki i-- va --i operatorlari bir xil vazifalarni bajarisadi. Ammo biz ulardan hisoblash jarayonidan foydalanganimizda ularning effektlar turlicha bo’ladi. 2.4-jadvalda ularning farqlari va ularga oid misollar keltirilgan. 2.4-jadval. Inkrement va dekrement operatorlar. Quyida postfiks va prefiks shakllariga oid misollarni ko’rib chiqamiz. Ushbu kodni tahlil qilamiz: Bu yerda i birinchi galda o’zining eski qiymati bilan ishtirok etyapti, keyinchalik, uning qiymati bittaga oshirilayapti. Shuning uchun ham “newNum” o’zgaruvchisi 100 qiymatini qabul qilyapti. Agar bu yerda i++ ni ++i ga o’zgartirsak qanday bo’larkin … ? Bu yerda i birinchi galda o’zining qiymatini bittaga oshirib olyapti, keyin esa ifoda bajarilayapti. Shuning uchun ham “newNum” o’zgaruvchisi 110 qiymatini qabul qilyapti. Download 6.3 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling