Darsliklar C O'zgaruvchilar

C C O'zgaruvchilar

O’zgaruvchilar — dasturlashning eng bazaviy tushunchasi. Har qanday ma’lumot — foydalanuvchi ismi, mahsulot narxi, hisob natijasi — o’zgaruvchida saqlanadi. C’da o’zgaruvchi turi majburiy e’lon qilinadi; bu tilning qat’iyligi va past darajali nazoratining sababi.

O’zgaruvchixotiraning nomlangan, ma’lum turdagi qiymatni saqlaydigan qismi. C’da har bir o’zgaruvchining turi oldindan aniqlanadi va u xotirada aniq joy egallaydi.

O’zgaruvchi e’lon qilish

C’da o’zgaruvchi tur nom = qiymat; shaklida e’lon qilinadi:

#include <stdio.h>

int main(void) {
    int yosh = 26;
    double narx = 15000.50;
    char daraja = 'A';

    printf("Yosh: %d, narx: %.2f, daraja: %c\n", yosh, narx, daraja);
    return 0;
}
Yosh: 26, narx: 15000.50, daraja: A

Turni oldin yozish shart: int yosh — butun son, char daraja — belgi. C turni qiymatga qarab o’zi aniqlamaydi.

E’lon va qiymat berishni ajratish

O’zgaruvchini avval e’lon qilib, keyin qiymat berish mumkin:

#include <stdio.h>

int main(void) {
    int son;         /* e'lon qilindi */
    son = 42;        /* qiymat berildi */
    son = 100;       /* qiymat o'zgartirildi */
    printf("%d\n", son);
    return 0;
}
100

Diqqat: C’da e’lon qilingan, ammo qiymat berilmagan o’zgaruvchida “axlat” (tasodifiy) qiymat bo’ladi. Shuning uchun o’zgaruvchini imkon boricha darhol qiymat bilan boshlang.

Bir turdagi bir necha o’zgaruvchi

Bir turdagi bir necha o’zgaruvchini bir qatorda e’lon qilish mumkin:

#include <stdio.h>

int main(void) {
    int a = 5, b = 10, c = 15;
    printf("%d\n", a + b + c);
    return 0;
}
30

Turlar farqidan kelib chiqadigan natija

Turni chalkashtirish C’da xatolarga olib keladi. Butun sonlar bo’lishida kasr qismi yo’qoladi:

#include <stdio.h>

int main(void) {
    int butun = 7 / 2;             /* butun bo'lish */
    double kasr = 7.0 / 2;         /* kasr bo'lish */
    printf("butun: %d\n", butun);
    printf("kasr: %.1f\n", kasr);
    return 0;
}
butun: 3
kasr: 3.5

7 / 2 — ikkala son ham int bo’lgani uchun natija butun (3); 7.0 / 2 da esa double ishtirok etgani uchun aniq kasr (3.5) chiqdi. Bu nozik farqni yodda tuting.

Xulosa

Bu bo’limda C’da o’zgaruvchi e’lon qilish, turlarni belgilash, e’lon va qiymatni ajratish hamda tur farqidan kelib chiqadigan natijalarni ko’rib chiqdik. C’da tur — qat’iy shartnoma. Keyingi darsda o’zgarmaslarga o’tamiz.