Foydalanilgan adabiyot
J.B. Dixit. Fundamentals of computer programming and Information texnology. India. 2009, (214-233 betlar).
5-MAVZU. TARMOQLANUVCHI JARAYONLARGA DASTURLAR TUZISH
Reja:
Mantiqiy Operatorlar
if - else operatori
Shartli operatorning umumiy ko‘rinishi
Tayanch so‘z va iboralar: Dastur, ifodalar, operator, operand, mantiqiy operatorlar, shartli operator, if ifodasi, if-else ifodasi (selector).
Taqqoslash Operatorlari
C++da taqqoslash operatorlari ikkita qiymatni solishtirish uchun ishlatiladi. Solishtirish natijasi true (1)yoki false (0) bo‘ladi.8.1-jadvalda taqqoslash operatorlari keltirilgan:
8.1-jadval. Taqqoslash operatorlari
Operator
|
Ma’nosi
|
Misol
|
>
|
Katta
|
a > b
|
>=
|
katta yoki teng
|
a >= b
|
<
|
kichik
|
a < b
|
<=
|
kichik yoki teng
|
a <= b
|
==
|
teng
|
a == b
|
!=
|
teng emas
|
a != b
|
Masalan, keling mos ravishda 20 va 25 qiymatlarga ega bo‘lgan a va b o‘zgaruvchilarni olaylik. Quyidagi jadvalda taqqoslash operatorlaridan foydalanish ko‘rsatilgan:
Ifoda
|
Natija
|
a > 10
a + b >= 50
a < b
a <= b
a + 5 == b
a != 10
|
True
FaIse
True
True
True
True
|
Suzuvchi nuqtali sonlar aniq qiymatli son bilan saqlanmaydi, shunday ekan ular ustida tenglik va tengsizliklarni solishtirish maqsadga muvofiq emas.42
Har doim ishorali va ishorasiz sonlarni solishtirishdan yiroq bo‘lish lozim. Ishorali qiymat ishorasiz qiymat bilan solishtirilganda ishorali qiymat ishorasiz sifatida qaraladi. Ishorali qiymat manfiy bo‘lganda u xuddi shu ishorali qiymat kabi bit shaklga ega ishorasiz butun qiymat sifatida qaraladi va natija ixtiyoriy bo‘lishi mumkin.
Agar ishorali va ishorasiz sonlarni solishtirish ehtiyoji tug’ilsa, biz har ikki qiymatning turini ikkalasi ham ishorali yoki ishorasiz bo‘lishi uchun almashtirishimiz (ma’lumot turini o‘zgartirishimiz) lozim. Turni almashtirish haqida shu bobda keyinroq batafsil keltiriladi.
Mantiqiy Operatorlar
Ikki yoki undan ortiq ifodalarni birlashtirishda foydalaniladi.
C++ tili !(INKOR), && (VA) va || (YOKI) mantiqiy operatorlarini taklif etadi.
! operatori. ! – unar operator bo‘lib, bitta operandni o‘z ichiga oladi. U operandning mantiqiy qiymatining teskarisidir. Shuni esda tutish lozimki, unar inkor operatori nolga tekshirishda foydali. Masalan,
int num;
cout <<"Butun son kiriting\n";
cin >> num; //qiymatni klaviaturadan kiritish
if (! num)
cout<< "Siz 0 kiritdingiz" << endl;
else
cout<<"Siz noldan farqli son kiritdingiz" << endl;
&&operatori. U ikki va undan ortiq mantiqiy ifodalarni birlashtiradi va barcha shartlar rost bo‘lganda rost qiymat qabul qiladi. Masalan,
int num;
cout<<"Butun son kiriting"<cin >> num; // qiymatni klaviaturadan kiritish
if((num != 0) && ((num %2) = =0))
cout << "Juft son kritildi" << endl;
else
cout<<"Butun toq son yoki 0 kiritildi" << endl;
// operatori. U ikki va undan ortiq mantiqiy ifodalarni birlashtiradi va shartlardan ixtiyoriysi rost bo‘lganda rost qiymat qabul qiladi. Masalan,
int num;
cout<<"100 yoki 200 sonini kiriting\n";
cin >> num; // qiymatni klaviaturadan kiritish
if((num == 100) || (num == 200))
cout<<"Siz yaxshi davom ettiryapsiz\n";
else cout<<"Siz boshqalarga ergashmayapsiz\n";43
Quyidagi ko‘rsatmalar mantiqiy operatorlardan foydalanishni esda saqlab qolishga yordam beradi:
(i) Mantiqiy operatorlarning ustunlik darajalari tartibi:
!
&&
||
|
Eng yuqori
O‘rta
Eng quyi
|
(ii) ! mantiqiy operatori boshqa ixtiyoriy taqqoslash yoki arifmetik operatorlarga nisbatan yuqori ustunlik darajasiga ega, shunday ekan doimo agar ifodada bu operatorlar qatnashganda qavsdan foydalangan holda ifodani o‘zgartirish mumkin.
(iii) The logical I I and logical && operator have a lower precedence than relational operators. || va && mantiqiy operatorlari taqqoslash operatorlariga nisbatan quyi ustunlik darajasiga ega.
Do'stlaringiz bilan baham: |