11 / 90

C++ Relational & Logical Operators

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.

C++ aloqa operatorlari

Ikki operand o'rtasidagi munosabatni tekshirish uchun relyatsion operator ishlatiladi. Masalan,

example.cpp
// 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

== Operator

== ga teng operator qaytariladi

-true - agar ikkala operand teng yoki bir xil bo'lsa -false - agar operandlar teng bo'lmasa

Masalan,

example.cpp
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.

!= Operator

!= ga teng bo'lmagan operator qaytariladi

-true - agar ikkala operand ham teng bo'lmasa -false - agar ikkala operand teng bo'lsa.

Masalan,

example.cpp
int x = 10;
int y = 15;
int z = 10;

x != y   // rost
x != z   // yolg'on

> Operator

> dan kattaroq operator qaytaradi

-true - agar chap operand o'ngdan katta bo'lsa -false - agar chap operand o'ngdan kichik bo'lsa

Masalan,

example.cpp
int x = 10;
int y = 15;

x > y   // yolg'on
y > x   // rost

< Operator

< operatoridan kamroq qaytariladi

-true - agar chap operand o'ngdan kichik bo'lsa -false - agar chap operand o'ngdan katta bo'lsa

Masalan,

example.cpp
int x = 10;
int y = 15;

x < y   // rost
y < x   // yolg'on

>= Operator

>= 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,

example.cpp
int x = 10;
int y = 15;
int z = 10;

x >= y   // yolg'on
y >= x   // rost
z >= x   // rost

<= Operator

<= 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,

example.cpp
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.

C++ mantiqiy operatorlari

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.

C++ Mantiqiy VA Operatori

&& 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.

1-misol: C++ OR operatori

example.cpp
// && 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

kod
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

example.cpp
((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.

C++ Mantiqiy OR operatori

|| 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.

2-misol: C++ OR operatori

example.cpp
// || 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

kod
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

example.cpp
((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.

C++ Mantiqiy EMAS operatori!

! 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,

3-misol: C++! Operator

example.cpp
// 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

kod
1
0

Ushbu dasturda biz 5 qiymatiga ega int a o'zgaruvchisini e'lon qilamiz va ishga tushiramiz. Keyin mantiqiy ifodani chop etamiz

example.cpp
!(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 .