Информатика




Download 7,16 Mb.
Pdf ko'rish
bet146/308
Sana30.05.2024
Hajmi7,16 Mb.
#257687
1   ...   142   143   144   145   146   147   148   149   ...   308
Bog'liq
Информатика

Birga 
oshirish 
va 
kamaytirish 
operatorlari
(INCREMENT 
and 
DECREMENT).
C++
da bir argument oluvchi inkrenet (++) va dekrement (--) 
operatorlari mavjuddir. Bular ikki ko`rinishda ishlatiladi, biri o`zgaruvchidan oldin 
(++f - preinkrement, --d - predekrement), boshqasi o`zgaruvchidan keyin (s++ - 
postinkrement, s-- - postdekrement) ishlatilgan holi. 
Postinkrementda o`zgaruvchining qiymati ushbu o`zgaruvchi qatnashgan 
ifodada ishlatiladi va undan keyin qiymati birga oshiriladi. Preinkrementda esa 
o`zgaruvchining qiymati birga oshiriladi, va bu yangi qiymat ifodada qo`llaniladi. 
Predekrement va postdekrement ham aynan shunday ishlaydi Lekin qiymat birga 
kamaytiriladi. Bu operatorlar faqatgina o`zgaruvchining qiymatini birga oshirish, 
kamaytirish uchun ham ishlatilinishi mumkin, ya`ni boshqa ifoda ichida 
qo`llanilmasdan. Bu holda pre va post formalarining farqi yo`q. Masalan, 
++r; r++; 
Yuqoridagilarning funksional jihatdan hech qanday farqi yo`q, chunki bu 
ikki operator faqat r ning qiymatini oshirish uchun qo`llanilmoqda. Bu 
operatorlarni oddiy holda yozsak: 
r = r + 1; d = d - 1; 
Lekin bizning inkrement/dekrement operatorlarimiz oddiygina qilib 
o`zgaruvchiga bir qo`shish/ayirishdan ko`ra tezroq ishlaydi. Yuqoridagi 
operatorlarni qo`llagan holda bir dastur yozaylik.


230 
6a-listing. 
Output: 
# include
int main() 
{ int k = 5, l = 3, m = 8; 
cout << k++ << endl;
l += 4;
cout << --m << endl;
m = k + (++l);
return (0); } 
//ekranga 5 yozildi, k = 6 bo`ldi.
// l = 7 bo`ldi. 
// m = 7 bo`ldi va ekranga 7 chiqdi. // 
m = 6 + 8 = 14; 
Dasturdagi o`zgaruvchilar e`lon qilindi va boshlang`ich qiymatlarni olishdi. 
cout << k++ << endl;
ifodasida ekranga oldin 
k
ning boshlang`ich qiymati 
chiqarildi, keyin esa uning qiymati 1 da oshirildi. 
l += 4;
da l ning qiymatiga 4 
soni qo`shildi va yangi qiymat l da saqlandi. cout 
<< --m <<
endl;
ifodasida m 
ning qiymati oldin predekrement qilindi,va undan so`ng ekranga chiqarildi. m = k 
+ (++l); da oldin l ning qiymati birga oshirildi va l ning yangi qiymati k ga 
qo`shildi. m esa bu yangi qiymatni oldi. Oshirish va kamaytirish operatorlari va 
ularning argumentlari orasida bo`shliq qoldirilmasligi kerak. Bu operatorlar sodda 
ko`rinishdagi o`zgaruvchi-larga nisbatan qo`llanilishi mumkin xalos. Masalan,
++(f * 5); 
ko`rinish noto`g`ridir. 

Download 7,16 Mb.
1   ...   142   143   144   145   146   147   148   149   ...   308




Download 7,16 Mb.
Pdf ko'rish