Prefiks va postfiks. Inkrement operatori ham, dekrement operatori ham ikki variantda ishlaydi:
prefiksli va postfiksli. Perefiksli variantda ular o'zgaruvchidan oldin (++Age), postfiksli variantda esa o'zgaruvchidan keyin (Age++) yoziladi.
Oddiy ifodalarda bu variantlarni qo'llanishida farq katta emas, lekin bir o'zgaruvchiga boshqa o'zgaruvchining qiymatini o'zlashtirishda ularning qo'llanilishi boshqacha xarakterga ega. Perefeksli operator qiymat o'zlashtirilguncha, postfiksli operator esa qiymat o'zlashtirilgandan keyin bajariladi.
Buni quyidagi listingdan ko'rishimiz mumkin:
Prefiksli va postfiksli operatorlarni qo'llanishi.
# include < iostream. h > int main() { int myAge = 39; int yourAge = 39; cout << “Men” << MyAge <<”yoshdaman \n”; cout << “Siz” << yourAge <<“yoshdasiz \n”; myAge++ ; // postfiksli inkrement ++yourAge; // prefeksli inkrement cout << “Bir yil o`tdi …\ n”; cout << “Men” << MyAge <<”yoshdaman \n”; cout << “Siz” << yourAge <<“yoshdasiz \n”; cout << “Yana bir yil o`tdi \n”; cout <<” Men”<< myAge++ <<“yoshdaman \n”; cout <<”Siz”<<++yourAge<<“yoshdasiz \n”; cout << “Ma`lumotlarni qaytadan” cout << “chiqaraylik \n”; cout <<” Men”<< myAge<<“yoshdaman \n”; cout <<”Siz”< } NATIJA:
Men 39 yoshdaman Siz 39 yoshdasiz
Bir yil o`tdi …
Men 40 yoshdaman Siz 40 yoshdasiz
Yana bir yil o`tdi … Men 40 yoshdaman
Siz 41 yoshdasiz
Ma`lumotlarni qaytadan chiqaraylik
Men 41 yoshdaman
Siz 41 yoshdasiz
Operatorlar prioriteti. Murakkab ifodalarda qaysi amal birinchi navbatda bajariladi, qo'shishmi yoki ko'paytirishmi? Masalan:
x=5+3*8; ifodada agarda birinchi qo'shish bajarilsa natija 64 ga, agarda ko'paytirish
birinchi bajarilsa natija 29 ga teng bo'ladi.
Har bir operator prioritet qiymatiga ega. Ko'paytirish qo'shishga nisbatan yuqoriroq prioritetga ega. Shuning uchun bu ifoda qiymati 29 ga teng bo'ladi.
Agarda ikkita matematik ifodaning prioriteti teng bo'lsa, ular chapdan o'ngga qarab ketma – ket bajariladi.
Demak x=5+3+8*9+6*4 ifodada birinchi ko'paytirish amallari chapdan o'ngga qarab bajariladi 8*9=72
va 6*4=24. Keyin bu ifoda soddaroq ko'rinish hosil qiladi.
x=5+3+72+24
Endi qo'shishni ham xuddi shunday chapdan unga qarab bajaramiz:
5+3=8; 8+72= 80; 80+24=104;
Lekin, barcha operatorlar ham bu tartibga amal qilmaydi. Masalan, o'zlashtirish operatori o'ngdan chapga qarab bajariladi. Ichki qavslar Murakkab ifodalarni tuzishda ichki qavslardan foydalaniladi. Masalan, sizga sekundlarning umumiy soni keyin esa barcha qaralayotgan odamlar soni, undan keyin esa ularning ko'paytmasini hisoblash kerak bo'lsin. TotalPersonSeconds=((NumMinutesToThink+
NumMinutesToType)*60*(PeopleInTheOffice+ PeopleOnVocation ))
Bu ifoda quyidagicha bajariladi. Oldin NumMinutesToThink o'zgaruvchisining qiymati NumMinutesToType o'zgaruvchisi qiymatiga qo'shiladi. Keyin esa hosil qilingan yig'indi 60 ga ko'paytiriladi. Bundan keyin PeopleInTheOffice o'zgaruvchi qiymati PeopleOnVocation qiymatiga qo'shiladi. Keyin esa sekundlar soni kishilar soniga ko'paytiriladi.