10 / 90

C++ Operators

C++ operatorlari

Operatorlar - o'zgaruvchilar va qiymatlar ustida amallarni bajaradigan belgilar. Misol uchun, + qo'shish uchun ishlatiladigan operator, - esa ayirish uchun ishlatiladigan operatordir.

C++ tilidagi operatorlarni 6 turga bo‘lish mumkin:

  1. Arithmetic Operators
  2. Assignment Operators
  3. Relational Operators
  4. Logical Operators
  5. Bitwise Operators
  6. Other Operators

1. C++ arifmetik operatorlari

Arifmetik operatorlar o'zgaruvchilar va ma'lumotlar ustida arifmetik amallarni bajarish uchun ishlatiladi. Masalan,

example.cpp
a + b;

Bu erda + operatori ikkita o'zgaruvchini a va b qo'shish uchun ishlatiladi. Xuddi shunday C++ da boshqa turli arifmetik operatorlar mavjud.

Operator Operation + Addition - Subtraction * Multiplication / Division % Modulo Operation (Remainder after division)

1-misol: Arifmetik operatorlar

example.cpp
#include <iostream>
using namespace std;

int main() {
    int a, b;
    a = 7;
    b = 2;

    // a va b yig'indisini chop etish
    cout << "a + b = " << (a + b) << endl;

    // a va b ning farqini chop etish
    cout << "a - b = " << (a - b) << endl;

    // a va b mahsulotini chop etish
    cout << "a * b = " << (a * b) << endl;

    // a ning b ga bo'linishini chop etish
    cout << "a / b = " << (a / b) << endl;

    // a ning modulini b ga bosib chiqarish
    cout << "a % b = " << (a % b) << endl;

    return 0;
}

Chiqish

kod
a + b = 9
a - b = 5
a * b = 14
a / b = 3
a % b = 1

Bu yerda + , - va * operatorlari biz kutganimizdek mos ravishda qo‘shish, ayirish va ko‘paytirishni hisoblaydi.

/ Bo'lim operatori

Dasturimizdagi (a / b) operatsiyasiga e'tibor bering. / operatori bo'linish operatori hisoblanadi.

Yuqoridagi misoldan ko'rinib turibdiki, agar butun son boshqa butun songa bo'linsa, biz qismni olamiz. Biroq, agar bo'luvchi yoki dividend suzuvchi nuqtali son bo'lsa, natijani o'nli kasrlarda olamiz.

example.cpp
In C++,

7/2 is 3
7.0 / 2 is 3.5
7 / 2.0 is 3.5
7.0 / 2.0 is 3.5

% Modulo operatori

% modul operatori qolgan qismini hisoblab chiqadi. a = 9 b = 4 ga bo'linganda, qolgan 1 bo'ladi.

[!NOTE] % operatoridan faqat butun sonlar bilan foydalanish mumkin.

O'stirish va kamaytirish operatorlari

C++ ham oshirish va kamaytirish operatorlarini taqdim etadi: mos ravishda ++ va -- .

-++ operand qiymatini 1 ga oshiradi

  • -- decreases it by 1

Masalan,

example.cpp
int num = 5;

// oshirish operatori
++num;  // 6

Bu erda ++num; kodi num qiymatini 1 ga oshiradi.

2-misol: oshirish va kamaytirish operatorlari

example.cpp
// O'stirish va kamaytirish operatorlarining ishlashi

#include <iostream>
using namespace std;

int main() {
    int a = 10, b = 100, result_a, result_b;

    // a ni 1 ga oshirish va natijani result_a da saqlash
    result_a = ++a;
    cout << "result_a = " << result_a << endl;

    // b ni 1 ga kamaytirish va natijani natija_b da saqlash
    result_b = --b;
    cout << "result_b = " << result_b << endl;

    return 0;
}

Chiqish

kod
result_a = 11
result_b = 99

Yuqoridagi dasturda biz ++ va -- operatorlarini prefiks sifatida ishlatganmiz (++a va --b). Biroq, biz ushbu operatorlardan postfiks sifatida ham foydalanishimiz mumkin (a++ va b--).

Qo'shimcha ma'lumot olish uchun increment and decrement operators ga tashrif buyuring.

2. C++ tayinlash operatorlari

C++ tilida o‘zgaruvchilarga qiymatlarni belgilash uchun belgilash operatorlari qo‘llaniladi. Masalan,

example.cpp
// a ga 5 ni belgilang
a = 5;

Bu erda biz a o'zgaruvchisiga 5 qiymatini tayinladik.

Operator Example Equivalent to = a = b; a = b; += a += b; a = a + b; -= a -= b; a = a - b; *= a *= b; a = a * b; /= a /= b; a = a / b; %= a %= b; a = a % b;

3-misol: tayinlash operatorlari

example.cpp
#include <iostream>
using namespace std;

int main() {
    int a, b;

    // 2 a ga tayinlangan
    a = 2;

    // 7 b ga tayinlangan
    b = 7;

    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "\nAfter a += b;" << endl;

    // a va b ning yig'indisini a ga belgilash
    a += b;  // a = a +b
    cout << "a = " << a << endl;

    return 0;
}

Chiqish

kod
a = 2
b = 7

After a += b;
a = 9

3. C++ relyatsion 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.

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

4-misol: Relyatsion operatorlar

example.cpp
#include <iostream>
using namespace std;

int main() {
    int a, b;
    a = 3;
    b = 5;
    bool result;

    result = (a == b);   // yolg'on
    cout << "3 == 5 is " << result << endl;

    result = (a != b);  // rost
    cout << "3 != 5 is " << result << endl;

    result = a > b;   // yolg'on
    cout << "3 > 5 is " << result << endl;

    result = a < b;   // rost
    cout << "3 < 5 is " << result << endl;

    result = a >= b;  // yolg'on
    cout << "3 >= 5 is " << result << endl;

    result = a <= b;  // rost
    cout << "3 <= 5 is " << result << endl;

    return 0;
}

Chiqish

kod
3 == 5 is 0
3 != 5 is 1
3 > 5 is 0
3 < 5 is 1
3 >= 5 is 0
3 <= 5 is 1

[!NOTE] Relyatsion operatorlar qaror qabul qilishda va sikllarda qo'llaniladi.

4. C++ mantiqiy operatorlari

Mantiqiy operatorlar ifodaning to'g'ri yoki noto'g'ri ekanligini tekshirish uchun ishlatiladi. Agar ifoda rost bo'lsa, u 1 ni, agar ifoda noto'g'ri bo'lsa, 0 ni qaytaradi.

Operator misoli Ma'nosi && ifoda1 && ifoda2 Mantiqiy VA.True faqat barcha operandlar rost bo'lsa. || ifodasi1 || ifoda2 Mantiqiy OR.True operandlardan kamida bittasi rost bo'lsa. ! !ifoda Mantiqiy YO'Q.True faqat operand noto'g'ri bo'lsa.

C++ tilida mantiqiy operatorlar odatda qaror qabul qilishda ishlatiladi. Mantiqiy operatorlarni tushunish uchun quyidagi misollarni ko'rib chiqamiz:

example.cpp
Suppose,
a = 5
b = 8

Then,

(a > 3) && (b > 5) evaluates to true
(a > 3)  && (b < 5) evaluates to false

(a > 3) || (b > 5) evaluates to true
(a > 3) || (b < 5) evaluates to true
(a < 3) || (b < 5) evaluates to false

!(a < 3) evaluates to true
!(a > 3) evaluates to false

5-misol: Mantiqiy operatorlar

example.cpp
#include <iostream>
using namespace std;

int main() {
    bool result;

    result = (3 != 5) && (3 < 5);     // rost
    cout << "(3 != 5) && (3 < 5) is " << result << endl;

    result = (3 == 5) && (3 < 5);    // yolg'on
    cout << "(3 == 5) && (3 < 5) is " << result << endl;

    result = (3 == 5) && (3 > 5);    // yolg'on
    cout << "(3 == 5) && (3 > 5) is " << result << endl;

    result = (3 != 5) || (3 < 5);    // rost
    cout << "(3 != 5) || (3 < 5) is " << result << endl;

    result = (3 != 5) || (3 > 5);    // rost
    cout << "(3 != 5) || (3 > 5) is " << result << endl;

    result = (3 == 5) || (3 > 5);    // yolg'on
    cout << "(3 == 5) || (3 > 5) is " << result << endl;

    result = !(5 == 2);    // rost
    cout << "!(5 == 2) is " << result << endl;

    result = !(5 == 5);    // yolg'on
    cout << "!(5 == 5) is " << result << endl;

    return 0;
}

Chiqish

kod
(3 != 5) && (3 < 5) is 1
(3 == 5) && (3 < 5) is 0
(3 == 5) && (3 > 5) is 0
(3 != 5) || (3 < 5) is 1
(3 != 5) || (3 > 5) is 1
(3 == 5) || (3 > 5) is 0
!(5 == 2) is 1
!(5 == 5) is 0

Mantiqiy operator dasturini tushuntirish

-(3 != 5) && (3 < 5) 1 ga baholanadi, chunki (3 != 5) va (3 < 5) ikkala operand ham 1 (to'g'ri). -(3 == 5) && (3 < 5) 0 ga baholanadi, chunki (3 == 5) operand 0 (noto'g'ri). -(3 == 5) && (3 > 5) 0 ga baholanadi, chunki (3 == 5) va (3 > 5) operandlari ham 0 (noto‘g‘ri). -(3 != 5) || (3 < 5) 1 ga baholanadi, chunki (3 != 5) va (3 < 5) ikkala operand ham 1 (to'g'ri). -(3 != 5) || (3 > 5) 1 ga baholanadi, chunki (3 != 5) operand 1 (to'g'ri). -(3 == 5) || (3 > 5) 0 ga baholanadi, chunki (3 == 5) va (3 > 5) operandlari ham 0 (noto‘g‘ri). -!(5 == 2) 1 ga baholanadi, chunki (5 == 2) operand 0 (noto'g'ri). -!(5 == 5) 0 ga baholanadi, chunki (5 == 5) operand 1 (to'g'ri).

5. C++ Bitwise operatorlari

C++ tilida bitli operatorlar alohida bitlar ustida amallarni bajarish uchun ishlatiladi. Ular faqat char va int ma'lumotlar turlari bilan birga ishlatilishi mumkin.

Operator Description & Binary AND | Binary OR ^ Binary XOR ~ Binary One's Complement << Binary Shift Left >> Binary Shift Right

Qo'shimcha ma'lumot olish uchun C++ bitwise operators ga tashrif buyuring.

6. Boshqa C++ operatorlari

Bu erda C++ tilida mavjud bo'lgan boshqa umumiy operatorlar ro'yxati keltirilgan. Biz ular haqida keyingi darslarda bilib olamiz.

Operator tavsifi sizeof misoli sizeof(int); // 4 maʼlumotlar turi hajmini qaytaradi ?: shartga asoslangan qiymatni qaytaradi string result = (5 > 0) ? "even" : "odd"; // "even" & operandning xotira manzilini ifodalaydi &num; // address of num . tuzilma oʻzgaruvchilari yoki sinf obʼyektlari aʼzolariga kirishadi s1.marks = 92; -> XCODEX varillariga kirish uchun koʻrsatkichlar bilan foydalaniladi XCODEX yoki X190 chop etish uchun. cout << 5; >> chiqish qiymati cin >> num; kirish qiymatini oladi

Shuningdek o'qing: