C++ relyatsion va mantiqiy operatorlar
C++ da relyatsion va mantiqiy operatorlar ikki yoki undan ortiq operandlarni solishtiradilar va true yoki false qiymatlarini qaytaradilar.
Biz qaror qabul qilishda ushbu operatorlardan foydalanamiz.
Ikki operand o'rtasidagi munosabatni tekshirish uchun relyatsion operator ishlatiladi. Masalan,
// a b dan katta ekanligini tekshiradi
a > b;
Bu yerda > relyatsion operatordir. U a b dan katta yoki yo'qligini tekshiradi.
Agar munosabat rost bo'lsa, u 1 ni, agar munosabat noto'g'ri bo'lsa, 0 ni qaytaradi.
Quyidagi jadvalda C++ tilida foydalaniladigan relyatsion operatorlar jamlangan.
Operatorning ma'nosi == 3 == 5 ga teng bo'lsa, bizga noto'g'ri != beradi 3 != 5 ga teng emas > dan kattaroq 3 > 5 bizga noto'g'ri < beradi 3 < 5 dan kichik >= XCODEX dan katta yoki tengdir XCODEXs bizga XCO1se yoki 3 <= 5 ga teng bizga haqiqatni beradi
== ga teng operator qaytariladi
-true - agar ikkala operand teng yoki bir xil bo'lsa
-false - agar operandlar teng bo'lmasa
Masalan,
int x = 10;
int y = 15;
int z = 10;
x == y // yolg'on
x == z // rost
[!NOTE]
==relyatsion operatori=tayinlash operatori bilan bir xil emas.=tayinlash operatori o'zgaruvchiga, doimiyga, massivga yoki vektorga qiymat beradi. U ikkita operandni solishtirmaydi.
!= ga teng bo'lmagan operator qaytariladi
-true - agar ikkala operand ham teng bo'lmasa
-false - agar ikkala operand teng bo'lsa.
Masalan,
int x = 10;
int y = 15;
int z = 10;
x != y // rost
x != z // yolg'on
> dan kattaroq operator qaytaradi
-true - agar chap operand o'ngdan katta bo'lsa
-false - agar chap operand o'ngdan kichik bo'lsa
Masalan,
int x = 10;
int y = 15;
x > y // yolg'on
y > x // rost
< operatoridan kamroq qaytariladi
-true - agar chap operand o'ngdan kichik bo'lsa
-false - agar chap operand o'ngdan katta bo'lsa
Masalan,
int x = 10;
int y = 15;
x < y // rost
y < x // yolg'on
>= dan katta yoki unga teng operator qaytaradi
-true - agar chap operand o'ngdan katta yoki teng bo'lsa
-false - agar chap operand o'ngdan kichik bo'lsa
Masalan,
int x = 10;
int y = 15;
int z = 10;
x >= y // yolg'on
y >= x // rost
z >= x // rost
<= operatoridan kichik yoki unga teng qaytariladi
-true - agar chap operand o'ngdan kichik yoki teng bo'lsa
-false - agar chap operand o'ngdan katta bo'lsa
Masalan,
int x = 10;
int y = 15;
x > y // yolg'on
y > x // rost
Relyatsion operatorlarni satrlar bilan qanday ishlatish mumkinligini bilish uchun bu yerdagi o'quv qo'llanmamizga murojaat qiling.
Ifodaning to'g'ri yoki noto'g'ri ekanligini tekshirish uchun biz mantiqiy operatorlardan foydalanamiz. Agar ifoda rost bo'lsa, u 1 ni, agar ifoda noto'g'ri bo'lsa, 0 ni qaytaradi.
Operator misoli Ma'nosi && ifoda1 && ifoda 2 Mantiqiy VA. to'g'ri faqat barcha operandlar rost bo'lsa. || ifodasi1 || ifoda 2 Mantiqiy OR. operandlardan kamida bittasi rost bo'lsa true. ! !ifoda Mantiqiy EMAS. operand noto'g'ri bo'lsagina rost.
&& mantiqiy AND operatori qaytadi
-true - agar va faqat barcha operandlar true bo'lsa.
-false - agar bir yoki bir nechta operandlar false bo'lsa.
&& Operatorining haqiqat jadvali
a va b ikkita operand bo'lsin. 0 noto'g'ri, 1 esa rostni bildiradi. Keyin,
a b a && b 0 0 0 0 1 0 1 0 0 1 1 1
Yuqoridagi haqiqat jadvalidan ko'rinib turibdiki, && operatori faqat a va b rost bo'lsa, true qiymatini qaytaradi.
[!NOTE] Mantiqiy VA operatori
&&ni Bitwise VA operatori&bilan aralashtirib yubormaslik kerak.
// && operatorining haqiqat jadvalini ko'rsatuvchi C++ dasturi
#include <iostream>
using namespace std;
int main() {
int a = 5;
int b = 9;
// noto'g'ri && noto'g'ri = noto'g'ri
cout << ((a == 0) && (a > b)) << endl;
// noto'g'ri && rost = noto'g'ri
cout << ((a == 0) && (a < b)) << endl;
// rost && noto'g'ri = noto'g'ri
cout << ((a == 5) && (a > b)) << endl;
// rost && rost = rost
cout << ((a == 5) && (a < b)) << endl;
return 0;
}
Chiqish
0
0
0
1
Ushbu dasturda biz ikkita int o'zgaruvchisini a va b mos ravishda 5 va 9 qiymatlari bilan e'lon qilamiz va ishga tushiramiz. Keyin mantiqiy ifodani chop etamiz
((a == 0) && (a > b))
Bu erda a == 0 false deb baholaydi, chunki a qiymati 5 . a > b ham false , chunki a qiymati b qiymatidan kichik. Keyin bu ikki ifodani birlashtirish uchun && AND operatoridan foydalanamiz.
&& operatorining haqiqat jadvalidan bilamizki, false && false (ya'ni 0 && 0 ) false ( 0 ) ni baholashga olib keladi. Bu biz chiqishda olingan natijadir.
Xuddi shunday, biz && operatorining haqiqat jadvalini to'liq ko'rsatadigan uchta boshqa ifodani baholaymiz.
|| mantiqiy OR operatori qaytadi
-true - agar bir yoki bir nechta operandlar true bo'lsa.
-false - agar va faqat barcha operandlar false bo'lsa.
||ning haqiqat jadvali Operator
a va b ikkita operand bo'lsin. Keyin,
a b a || b 0 0 0 0 1 1 1 0 1 1 1 1
Yuqoridagi haqiqat jadvalidan ko'rinib turibdiki, || operatori faqat a va b noto'g'ri bo'lsa, yolg'onni qaytaradi.
// || ko'rsatuvchi C++ dasturi operator haqiqat jadvali
#include <iostream>
using namespace std;
int main() {
int a = 5;
int b = 9;
// noto'g'ri && noto'g'ri = noto'g'ri
cout << ((a == 0) || (a > b)) << endl;
// noto'g'ri && rost = rost
cout << ((a == 0) || (a < b)) << endl;
// rost && false = rost
cout << ((a == 5) || (a > b)) << endl;
// rost && rost = rost
cout << ((a == 5) || (a < b)) << endl;
return 0;
}
Chiqish
0
1
1
1
Ushbu dasturda biz ikkita int o'zgaruvchisini a va b mos ravishda 5 va 9 qiymatlari bilan e'lon qilamiz va ishga tushiramiz. Keyin mantiqiy ifodani chop etamiz
((a == 0) || (a > b))
Bu erda a == 0 false deb baholaydi, chunki a qiymati 5 . a > b ham false , chunki a qiymati b qiymatidan kichik. Keyin bu ikki ifodani birlashtirish uchun || OR operatoridan foydalanamiz.
|| operatorining haqiqat jadvalidan bilamizki, false || false (ya'ni 0 || 0 ) false ( 0 ) ni baholashga olib keladi. Bu biz chiqishda olingan natijadir.
Xuddi shunday, biz || operatorining haqiqat jadvalini to'liq ko'rsatadigan uchta boshqa ifodani baholaymiz.
! mantiqiy NOT operatori unar operatordir, ya'ni u faqat bitta operandni oladi.
Operand noto'g'ri bo'lsa, u "true", "to'g'ri" bo'lsa, "false" qiymatini qaytaradi.
Haqiqat jadvali! Operator
a operand bo'lsin. Keyin,
// C++ dasturi namoyish etilmoqda! operator haqiqat jadvali
#include <iostream>
using namespace std;
int main() {
int a = 5;
// !false = rost
cout << !(a == 0) << endl;
// !to'g'ri = noto'g'ri
cout << !(a == 5) << endl;
return 0;
}
Chiqish
1
0
Ushbu dasturda biz 5 qiymatiga ega int a o'zgaruvchisini e'lon qilamiz va ishga tushiramiz. Keyin mantiqiy ifodani chop etamiz
!(a == 0)
Bu erda a == 0 false deb baholaydi, chunki a qiymati 5 . Biroq, biz a == 0 da ! NOT operatoridan foydalanamiz. a == 0 false ga baholaganligi sababli, ! operatori a == 0 natijalarini o'zgartiradi va yakuniy natija true bo'ladi.
Xuddi shunday, !(a == 5) ifodasi oxir-oqibat false ni qaytaradi, chunki a == 5 true .