Тоshkеnт ахborot техnоlоgiyаlari univеrsiтетi



Yüklə 418 Kb.
səhifə9/42
tarix17.10.2023
ölçüsü418 Kb.
#156478
1   ...   5   6   7   8   9   10   11   12   ...   42
С РАХМ

# include
int main()
{
int k = 5, l = 3, m = 8;
cout << k++ << endl; //ekranga 5 yozildi, k = 6 bo'ldi.
l += 4; // l = 7 bo'ldi.
cout << --m << endl; // m = 7 bo'ldi va ekranga 7 chiqdi.
m = k + (++l); // m = 6 + 8 = 14;
return (0);
}
Dasturdagi o'zgaruvchilar e'lon qilindi va boshqangich qiymatlarni olishdi.
cout << k++ << endl; ifodasida ekranga oldin k ning boshlangich 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 ishirildi 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 halos. Masalan:
++(f * 5);
ko'rinish noto'g'ridir.
MANTIQIY OPERATORLAR
Bosqaruv strukturalarida shart qismi bor dedik. Shu paytgacha ishlatgan shartlarimiz ancha sodda edi. Agar bir necha shartni tekshirmoqchi bo'lganimizda ayri-ayri shart qismlarini yozardik. Lekin C++ da bir necha sodda shartni birlashtirib, bitta murakkab shart ifodasini tuzishga yordam beradigan mantiqiy operatorlar mavjuddir. Bilar mantiqiy VA - && (AND), mantiqiy YOKI - || (OR) va mantiqiy INKOR - ! (NOT). Bular bilan misol keltiraylik. Faraz qilaylik, bir amalni bajarishdan oldin, ikkala shartimiz (ikkitadan ko'p ham bo'lishi mumkin) true (haqiqat) bo'lsin.
if (i < 10 && l >= 20){...}
Bu yerda {} qavslardagi ifodalar bloki faqat i 10 dan kichkina va l 20 dan katta yoki teng bo'lgandagina ijro ko'radi.
AND ning (&&) jadvali:
ifoda1 ifoda2 ifoda1 && ifoda2
false (0) false (0) false (0)
true (1) false (0) false (0)
false (0) true (1) false (0)
true (1) true (1) true (1)
Bu yerda true ni yeriga 1, false ni qiymati o'rniga 0 ni qo'llashimiz mumkin.
Boshqa misol:
while (g<10 || f<4){
...
}
Bizda ikki o'zgaruvchi bor (g va f). Birnchisi 10 dan kichkina yoki ikkinchisi 4 dan kichkina bo'lganda while ning tanasi takrorlanaveradi. Yani shart bajarilishi uchun eng kamida bitta true bo'lishi kerak, AND da (&&) esa hamma oddiy shartklar true bo'lishi kerak.
OR ning (||) jadvali:
ifoda1 ifoda2 ifoda1 || ifoda2
false (0) false (0) false (0)
true (1) false (0) true (1)
false (0) true (1) true (1)
true (1) true (1) true (1)
&& va || operatorlari ikkita argument olishadi. Bulardan farqli o'laroq, ! (mantiqiy inkor) operatori bitta argumet oladi, va bu argumentidan oldin qo'yiladi. Inkor operatori ifodaning mantiqiy qiymatini teskarisiga
o'zgartiradi. Yani false ni true deb beradi, true ni esa false deydi.
Misol uchun:
if ( !(counter == finish) )
cout << student_bahosi << endl;
Agar counter o'zgaruvchimiz finish ga teng bo'lsa, true bo'ladi,bu true qiymat esa ! yordamida false ga aylanadi. false qiymatni olgan if esa ifodasini bajarmaydi. Demak ifoda bajarilishi uchun bizga counter finish ga teng bo'lmagan holati kerak. Bu yerda ! ga tegishli ifoda () qavslar ichida bo'lishi kerak. Chunki mantiqiy operator-lar tenglilik operatorlaridan kuchliroqdir. Ko'p hollarda ! operatori o'rniga mos keladigan mantiqiy tenglilik yoki solishtirish operatorlarini ishlatsa bo'ladi, masalan
yuqoridagi misol quyidagi ko'rinishda bo'ladi:
if (counter != finish)
cout << student_bahosi << endl;
NOT ning jadvali:
ifoda !(ifoda)
false (0) true (1)
true (1) false (0)

Yüklə 418 Kb.

Dostları ilə paylaş:
1   ...   5   6   7   8   9   10   11   12   ...   42




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin