Shart operatorlari (if, if-else) — dasturga “aql” beradigan tushuncha. Shu paytgacha o’rgangan hamma narsa — o’zgaruvchilar, operatorlar, mantiqiy qiymatlar — aynan shu yerda birlashib, dasturning qaror qabul qilishini ta’minlaydi. Shartsiz dastur ketma-ket bajariladi; shart bilan esa u vaziyatga qarab turli yo’l tanlaydi.
Shart operatori — berilgan shart rost bo’lgandagina ma’lum kod blokini bajaradigan tuzilma. C’da u
if,else ifvaelseorqali quriladi.
Oddiy if
Eng sodda shakl — agar shart rost bo’lsa, blok bajariladi:
#include <stdio.h>
int main(void) {
int yosh = 20;
if (yosh >= 18) {
printf("Siz voyaga yetgansiz\n");
}
return 0;
}
Siz voyaga yetgansiz
Shart dumaloq qavs ( ) ichida, bajariladigan blok esa jingalak qavs { } ichida yoziladi.
if-else
else shart rost bo’lmagan holatni ushlaydi:
#include <stdio.h>
int main(void) {
int yosh = 15;
if (yosh >= 18) {
printf("Kirish ruxsat etildi\n");
} else {
printf("Yoshingiz yetarli emas\n");
}
return 0;
}
Yoshingiz yetarli emas
Shart yolg’on bo’lgani uchun dastur else blokini bajardi.
if-else if-else
Ko’p variantli qarorlar uchun else if ishlatiladi. Shartlar yuqoridan pastga tekshiriladi:
#include <stdio.h>
int main(void) {
int ball = 85;
if (ball >= 90) {
printf("A'lo\n");
} else if (ball >= 70) {
printf("Yaxshi\n");
} else if (ball >= 50) {
printf("Qoniqarli\n");
} else {
printf("Qoniqarsiz\n");
}
return 0;
}
Yaxshi
ball 85 bo’lgani uchun birinchi shart yolg’on, ikkinchisi rost — shu blok bajarilib, tekshiruv to’xtadi. Shartlarni qattiqroqdan yumshoqroqqa joylash muhim.
Qisqa (ternar) shart
C bir qatorli shartni ham qo’llab-quvvatlaydi:
#include <stdio.h>
int main(void) {
int yosh = 20;
char *holat = (yosh >= 18) ? "voyaga yetgan" : "voyaga yetmagan";
printf("%s\n", holat);
return 0;
}
voyaga yetgan
Bu shakl shart ? rost_natija : yolg'on_natija tarzida o’qiladi. Ternar operator kodni ixcham qiladi, ammo murakkab holatlarda oddiy if o’qilroq.
Xulosa
Bu bo’limda if, else if, else va qisqa ternar shartni ko’rib chiqdik. Shart operatori — dastur mantig’i va moslashuvchanligining asosi. Keyingi darsda switch — ko’p tarmoqli tanlash operatoriga o’tamiz.