2-ma’ruza mavzu: С++da sonlarning turlari va ular ustida amallar. Dastur yaratish jarayoni. Reja


Download 6.3 Mb.
bet6/10
Sana15.11.2023
Hajmi6.3 Mb.
#1775337
1   2   3   4   5   6   7   8   9   10
Bog'liq
S-D1-ma\'ruza-2

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:
1   2   3   4   5   6   7   8   9   10




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