Operatorlar va ifodalar

Operator – kompyuterga bir yoki bir nechta qiymatlar bo’yicha ma’lum bir matematik yoki mantiqiy amalni bajarishni bildiruvchi belgi.

Masalan, + operatori kompyuterga ikkita qiymatni birga qo’shishni aytadi.

Ifoda – operatorlar va qiymatlarning kombinatsiyasi bo’lib, ma’lum bir natijani beradi.

Masalan, 2 + 3 ifoda bo’lib, uning natijasi 5 ga teng.

C tilidagi operatorlarning turlari

C tilida operatorlarning ko’p turlari mavjud. Ularni quyidagi asosiy toifalarga guruhlash mumkin:

  • Arifmetik operatorlar: Bu operatorlar qoʻshish, ayirish, koʻpaytirish, boʻlish va modul (qoldiq) kabi asosiy matematik amallarni bajaradi. Masalan, a + b, a – b, a * b, a / b va a % b arifmetik ifodalardir.
  • Aloqa operatorlari: Bu operatorlar ikkita qiymatni taqqoslaydi va taqqoslash natijasiga ko’ra mantiqiy qiymatni qaytaradi (noto’g’ri uchun 0 yoki rost uchun 1). Masalan, a < b, a > b, a <= b, a >= b, a == b va a != b munosabatlar ifodasidir.
  • Mantiqiy operatorlar: Bu operatorlar mantiqiy qiymatlarda AND, OR, va NOT kabi mantiqiy amallarni bajaradi. Masalan, a && b, a || b, va !a mantiqiy ifodalardir.
  • Bitli operatorlar: Bu operatorlar butun sonning alohida bitlari ustida amallarni bajaradi. Masalan, a & b, a | b, a ^ b, ~a, a << b va a >> b bitli ifodalardir.
  • Tayinlash operatorlari: Bu operatorlar o’zgaruvchiga qiymat beradi. Masalan, a = b, a o’zgaruvchisiga b ning qiymatini o’zlashtiradi.
  • Shartli operator: Bu operator shartni baholaydi va shartning rost yoki noto’g’riligiga qarab ikkita qiymatdan birini qaytaradi. Masalan, a ? b : c agar a rost bo’lsa b ning qiymatini, a noto’g’ri bo’lsa c ning qiymatini qaytaradi.

Operatorlarning ustuvorligi va assotsiativligi

Agar ifoda bir nechta operatorni o’z ichiga olgan bo’lsa, baholash tartibi operatorlarning ustuvorligi va assotsiativligi bilan belgilanadi. Ustunlik – operatorning boshqasidan ustunligi. Assotsiativlik – bu ikki operator bir xil ustunlikka ega bo’lganda baholash yo’nalishi.

Quyidagi jadval C tilidagi operatorlarning ustuvorligi va assotsiativligini ko’rsatadi. Operatorning ustuvorligi yuqoridan pastga qarab sustlashib boradi.

OperatorIzohAssotsiativlik
()Qavslarchapdan o’ngga
*/, %Ko’payitish, bo’lish va qoldiqchapdan o’nnga
+, –Qo’shish va ayirishchapdan o’ngga
=O’zlashtirisho’ngdan chapga

Quyidagi dasturni sinab ko’ring:

Izoh:

Yuqoridagi kod parchasi yettita butun oʻzgaruvchini eʼlon qiladigan va ishga tushiradigan va printf funksiyasi yordamida ularning qiymatlarini chop etadigan C dasturidir.

O’zgaruvchilarga turli xil arifmetik ifodalar beriladi, ular operatorlarning ustuvorligi va assotsiativligiga qarab baholanadi.

Printf funksiyasi o‘zgaruvchilarning butun son ekanligini ko‘rsatish uchun %d format spetsifikatsiyasidan foydalanib, ularning qiymatlarini chop etish uchun ishlatiladi. \n belgisi har bir qiymatdan keyin yangi qatorni chop etish uchun ishlatiladi. Dasturning chiqishi quyidagicha:

a = 5
b = 6
c = -1
d = 2
e = 14
f = 20
g = 4
  • a = 5, chunki (+) qo’shishni amalga oshiradi
  • b = 6, chunki (*) ko’paytirishni amalga oshiradi
  • c = -1, chunki (-) ayirishni amalga oshiradi
  • d = 2, chunki (/) bo’lishni amalga oshiradi
  • e = 14, chunki ko’paytirish (*) operatori qo’shish (+) operatoridan ustunlikka ega va birinchi bo’lib amalga oshiriladi
  • f = 20, chunki qavslar () ko’paytirish (*) operatoridan ustunlikka ega va birinchi bo’lib amalga oshiriladi
  • g = 4, chunki bo’lish (/) operatori qo’shish(+) operatoridan ustunlikka ega va birinchi bo’lib amalga oshiriladi
Scroll to Top

Akkauntizga kirish uchun e-mail va parolingizni kiriting