Qiymat berish ( =, - =, *=, va x.k) amallari. Qiymat berish amallari dasturda tugallangan operatorlari kabi ishlatilishi mumkin.
Oddiy qiymat berish ( =) amali formati:
operand_1 = operand_2 Birinchi operand L-qiymat, ikkinchisi – ifoda bo’lishi lozim. Dastlab amalning o’ng qismidan ifoda hisoblanandi, so’ngra uning natijasi chap qismida ko’rsatilgan xotira sohasiga yoziladi (mnemonik qoida: «qiymat berish - bu ma’lumotlrni “chapga” uzatish»). Bu xotira sohasida oldin saqlangan ma’lumotlar tabiiyki, yo’qoladi.
#include int main( ) {
int a = 3, b = 5, с = 7;
a = b; b = a; с = с + 1;
cout << "a = " << a;
cout << "\t b = " << b;
cout << "\t с = " << c;
return 0;
}
Результат работы программы:
a = 5 b = 5 c = 8
DIQQAT Qiymat berishda ifoda tipidagi L-qiymat qiymat tipiga almashtirish bajariladi, bu esa ma’lumot yo’qolishiga olib kelishi mumkin.
( +=, *=, /=, ) qiymat berish murakkab amallarida o’ng qismida turgan ifodani hisoblashda chapchap qismidagi L- qiymatdan ham foydalaniladi. Masalan, qiymat berishli qo’shishda ikkinchi operndga birinchisi qo’shiladi va natija birinchi operandga yoziladi, ya’ni a+=b ifoda a=a+b ifodaning kompaktlarga yozuvi hisoblanadi.
Shartli amal( ?:). Bu amal ternar, ya’ni uchta operandga ega. Uning formati:
operand_1 ? operand_2 : operand_3
Birinchi operand arifmetik tipga ega bo’lishi yoki ko’rsatkich bo’lishi mumkin. U uning nolga ekvivalentligi nuqtai-nazaridan baholanadi (nolga teng operand false kabi, nolga teng bo’lmasa- true deb qaraladi). Agar operand hisoblash natijasi true ga teng bo’lsa, u holda shartli amal natijasi ikkinchi operand qiymati, aks holda – uchinchi operand qiymati bo’ladi. Hamma vaqt yo ikkinchi, yoki uchinchi operand hisoblanadi. Ularning tipi farq qilishi mumkin. Shartli amal if shartli operatorning qisqartma shakli bo’lib hisoblanadi.
#inc1ude int main(){
int a = 11, b = 4, max;
max = (b > a)? b : a;
printf(“eng katta son: %d", max);
return 0;
}
Dastur ishi natijasi:
eng katta son: 11
Sharli amalni qo’llashga boshqa misol. Biror butun miqdorni 1ga orttirish kerak, agar uning qiymati n dan oshmasa, aks holda 1 qiymat qabul qilishi talab qilinadi:
i = (1