Darsliklar C Operatorlar (Amallar)

C C Operatorlar (Amallar)

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.

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