Operatorlar (amallar) — qiymatlar ustida amal bajaradigan maxsus belgilar. Ular dasturning barcha hisob-kitobi va mantig’ining asosi. C operatorlarni bir necha guruhga ajratadi: arifmetik, o’zlashtirish, solishtirish va mantiqiy. Ularni tizimli ko’rib chiqamiz.
Operator — bir yoki bir necha operand ustida ma’lum amalni bajaradigan belgi. Natijasi yangi qiymat bo’ladi.
Arifmetik operatorlar
Bular sonlar ustida matematik amal bajaradi:
#include <stdio.h>
int main(void) {
int a = 15, b = 4;
printf("%d\n", a + b); /* qo'shish */
printf("%d\n", a - b); /* ayirish */
printf("%d\n", a * b); /* ko'paytirish */
printf("%d\n", a / b); /* butun bo'lish */
printf("%d\n", a % b); /* qoldiq */
return 0;
}
19
11
60
3
3
Diqqat: 15 / 4 natijasi 3 bo’ldi, chunki ikkala son ham int. Qoldiq operatori (%) bo’lishdan qolgan qismni beradi. % amaliyotda juda foydali — masalan, son juft yoki toq ekanini aniqlashda.
O’zlashtirish operatorlari
O’zlashtirish operatorlari o’zgaruvchiga qiymat beradi va amalni qisqartiradi:
| Operator | Ma’nosi | Teng yozuvi |
|---|---|---|
= |
oddiy o’zlashtirish | x = 5 |
+= |
qo’shib o’zlashtirish | x = x + 3 |
-= |
ayirib o’zlashtirish | x = x - 3 |
++ |
bittaga oshirish | x = x + 1 |
-- |
bittaga kamaytirish | x = x - 1 |
Amalda:
#include <stdio.h>
int main(void) {
int hisob = 100;
hisob += 50;
hisob++;
printf("%d\n", hisob);
return 0;
}
151
Solishtirish operatorlari
Solishtirish operatorlari natijada 1 (rost) yoki 0 (yolg’on) qaytaradi:
#include <stdio.h>
int main(void) {
int yosh = 26;
printf("%d\n", yosh > 18); /* katta */
printf("%d\n", yosh == 30); /* teng */
printf("%d\n", yosh != 30); /* teng emas */
return 0;
}
1
0
1
Natijalar 1 va 0 bo’lib chiqdi — C’da mantiqiy qiymatlar sonlar bilan ifodalanadi. Diqqat: solishtirish uchun ikkita teng (==), o’zlashtirish uchun bitta teng (=) ishlatiladi.
Mantiqiy operatorlar
Bir necha shartni birlashtirish uchun && (VA), || (YOKI), ! (EMAS) ishlatiladi:
#include <stdio.h>
int main(void) {
int yosh = 26, faol = 1;
printf("%d\n", yosh > 18 && faol); /* ikkalasi ham rost */
printf("%d\n", yosh > 30 || faol); /* kamida bittasi rost */
printf("%d\n", !faol); /* teskarisiga */
return 0;
}
1
1
0
&& — barchasi rost bo’lsagina rost; || — kamida bittasi rost bo’lsa rost; ! — teskarisiga o’giradi.
Xulosa
Bu bo’limda arifmetik, o’zlashtirish (+=, ++), solishtirish (==, >) va mantiqiy (&&, ||, !) operatorlarni ko’rib chiqdik. C’da mantiqiy natijalar 1 va 0 sifatida chiqadi. Keyingi darsda matematik funksiyalarga o’tamiz.