x=3*(y-2.45); y=Summa(a,9,c); Inkrement va dekrement amallari S++ tilida operand qiymatini birga oshirish va kamaytirish-ning samarali vositalari mavjud. Bular inkrement (++) va dekrement (--) unar amallardir.
Operandga nisbatan bu amallarning prefiks va postfiks ko‘ri-nishlari bo‘ladi. Prefiks ko‘rinishda amal til ko‘rsatmasi bo‘yicha ish bajarilishidan oldin operandga qo‘llaniladi. Postfiks holatda esa amal til ko‘rsatmasi bo‘yicha ish bajarilgandan keyin operandga qo‘llaniladi.
Prefiks yoki postfiks amal tushunchasi faqat qiymat berish bilan bog‘liq ifodalarda o‘rinli:
x=y++; // postfiks index =--i; // prefiks count++; // unar amal, ”++count;” bilan ekvivalent abc-- ; // unar amal, ”--abc; ” bilan ekvivalent Bu erda y o‘zgaruvchining qiymatini x o‘zgaruvchisiga o‘zlashtiri-ladi va keyin bittaga oshiriladi, i o‘zgaruvchining qiymati bittaga kamaytirib, index o‘zgaruvchisiga o‘zlashtiriladi.
sizeof amali Har xil turdagi o‘zgaruvchilar kompyuter xotirasida turli sondagi baytlarni egallaydi. Bunda, hattoki bir turdagi o‘zgaruvchilar ham qaysi kompyuterda yoki qaysi operatsion sistemada amal qilinishiga qarab turli o‘lchamdagi xotirani band qilishi mumkin.
S++ tilida ixtiyoriy (tayanch va hosilaviy) turdagi o‘zgaruv-chilarning o‘lchamini sizeof amali yordamida aniqlanadi. Bu amalni o‘zgarmasga, turga va o‘zgaruvchiga qo‘llanishi mumkin.
Quyida keltirilgan programmada kompyuterning platforma-siga mos ravishda tayanch turlarining o‘lchamlari chop qilinadi.
int main() { cout<<”int turi o‘lchami:”< cout<<”float turi o‘lchami:”< cout<<”double turi o‘lchami:”< cout<<”char turi o‘lchami:”< return 0;} Razryadli mantiqiy amallar Programma tuzish tajribasi shuni ko‘rsatadiki, odatda qo‘yilgan masalani echishda biror holat ro‘y bergan yoki yo‘qligini ifodalash uchun 0 va 1 qiymat qabul qiluvchi bayroqlardan foydala-niladi. Bu maqsadda bir yoki undan ortiq baytli o‘zgaruvchilardan foydalanish mumkin. Masalan, bool turidagi o‘zgaruvchini shu maqsadda ishlatsa bo‘ladi. Boshqa tomondan, bayroq sifatida bayt-ning razryadlaridan foydalanish ham mumkin. CHunki razryadlar faqat ikkita qiymatni - 0 va 1 sonlarini qabul qiladi. Bir baytda 8 razryad bo‘lgani uchun unda 8 ta bayroqni kodlash imkoniyati mavjud.
Faraz qilaylik, qo‘riqlash tizimiga 5 ta xona ulangan va tizim taxtasida 5 ta chiroqcha (indikator) xonalar holatini bildiradi: xona qo‘riqlash tizimi nazoratida ekanligini mos indikatorning yonib turishi (razryadning 1 qiymati) va xonani tizimga ulanmagan-ligini indikator o‘chganligi (razryadning 0 qiymati) bildiradi. Tizim holatini ifodalash uchun bir bayt etarli bo‘ladi va uning kichik razryadidan boshlab beshtasini shu maqsadda ishlatish mumkin:
7
6
5
4
3
2
1
0
ind5
ind4
ind3
ind2
ind1
Masalan, baytning quyidagi holati 1, 4 va 5 xonalar qo‘riqlash tizimiga ulanganligini bildiradi:
7
6
5
4
3
2
1
0
x
x
x
1
1
0
0
1
Quyidagi jadvalda S++ tilida bayt razryadlari ustida mantiqiy amallar majmuasi keltirilgan.
3.1-jadval. Bayt razryadlari ustida mantiqiy amallar