6. if va else — shartlar¶
Oldingi bo‘limda operatorlar bilan tanishdik.
Masalan:
int yosh = 18;
Endi dasturga savol berishni o‘rganamiz.
Masalan:
Agar yosh 18 yoki undan katta bo‘lsa, ekranga nima chiqaramiz?
Buning uchun if ishlatiladi.
if nima?¶
if ingliz tilida "agar" degan ma'noni anglatadi.
C tilida if yordamida shart tekshiriladi.
Oddiy ko‘rinishi:
if (shart) {
// kod
}
Masalan:
int yosh = 18;
if (yosh >= 18) {
printf("Siz voyaga yetgansiz.");
}
Bu dastur:
yosh18 yoki undan katta bo‘lsa, xabarni chiqar.
degan ma'noni anglatadi.
Natija:
Siz voyaga yetgansiz.
if qanday ishlaydi?¶
Quyidagi kodga qarang:
int yosh = 20;
if (yosh >= 18) {
printf("Voyaga yetgan.");
}
Dastur quyidagicha ishlaydi:
yosh = 20
20 >= 18 ?
↓
Ha
↓
"Voyaga yetgan." chiqariladi
Agar shart to‘g‘ri bo‘lsa, { va } orasidagi kod bajariladi.
Shart noto‘g‘ri bo‘lsa¶
Masalan:
int yosh = 15;
if (yosh >= 18) {
printf("Voyaga yetgan.");
}
Bu yerda:
15 >= 18
noto‘g‘ri.
Shuning uchun printf() ishlamaydi.
Dastur hech narsa chiqarmaydi.
else nima?¶
Ba'zan shart to‘g‘ri bo‘lmasa, boshqa kodni bajarishimiz kerak.
Buning uchun else ishlatiladi.
else — "aks holda" degan ma'noni anglatadi.
Masalan:
int yosh = 15;
if (yosh >= 18) {
printf("Voyaga yetgan.");
} else {
printf("Voyaga yetmagan.");
}
Natija:
Voyaga yetmagan.
if va else qanday ishlaydi?¶
Dasturimiz:
if (yosh >= 18) {
printf("Voyaga yetgan.");
} else {
printf("Voyaga yetmagan.");
}
quyidagicha ishlaydi:
Shart to‘g‘rimi?
|
┌───┴───┐
Ha Yo‘q
| |
if kodi else kodi
Ya'ni:
- shart to‘g‘ri bo‘lsa →
ifishlaydi; - shart noto‘g‘ri bo‘lsa →
elseishlaydi.
> operatori bilan if¶
if ichida turli taqqoslash operatorlaridan foydalanish mumkin.
Masalan:
int son = 10;
if (son > 5) {
printf("Son 5 dan katta.");
}
Natija:
Son 5 dan katta.
< operatori bilan if¶
int son = 3;
if (son < 10) {
printf("Son 10 dan kichik.");
}
Natija:
Son 10 dan kichik.
== operatori bilan if¶
Ikki qiymat tengligini tekshirish uchun == ishlatiladi.
Masalan:
int son = 10;
if (son == 10) {
printf("Son 10 ga teng.");
}
Natija:
Son 10 ga teng.
Bu yerda:
==
"tengmi?" degan savolni beradi.
!= operatori¶
!= ikki qiymat teng emasligini tekshiradi.
Masalan:
int son = 10;
if (son != 5) {
printf("Son 5 ga teng emas.");
}
Natija:
Son 5 ga teng emas.
else if¶
Ba'zan ikkita emas, bir nechta shartni tekshirishimiz kerak.
Bunday holatda else if ishlatiladi.
Masalan:
int ball = 80;
if (ball >= 90) {
printf("A");
} else if (ball >= 70) {
printf("B");
} else {
printf("C");
}
Bu dasturda:
90 yoki undan yuqori → A
70 yoki undan yuqori → B
qolgan holatlar → C
ball 80 bo‘lgani uchun:
B
chiqadi.
Bir nechta else if¶
Istalgancha else if ishlatish mumkin.
Masalan:
int ball = 65;
if (ball >= 90) {
printf("A");
} else if (ball >= 80) {
printf("B");
} else if (ball >= 70) {
printf("C");
} else if (ball >= 60) {
printf("D");
} else {
printf("F");
}
Natija:
D
bo‘ladi.
Shartlar tartibi muhim¶
if va else if yuqoridan pastga qarab tekshiriladi.
Masalan:
int ball = 95;
if (ball >= 60) {
printf("D");
} else if (ball >= 90) {
printf("A");
}
Natija:
D
bo‘ladi.
Nega?
Chunki birinchi shart:
95 >= 60
to‘g‘ri.
Shuning uchun dastur keyingi else if ga o'tmaydi.
To‘g‘ri tartib:
if (ball >= 90) {
printf("A");
} else if (ball >= 60) {
printf("D");
}
Oddiy yosh tekshirish dasturi¶
Keling, kichik dastur yozamiz:
#include <stdio.h>
int main() {
int yosh = 20;
if (yosh >= 18) {
printf("Siz voyaga yetgansiz.");
} else {
printf("Siz voyaga yetmagansiz.");
}
return 0;
}
Natija:
Siz voyaga yetgansiz.
yoshni:
int yosh = 15;
qilsak, natija:
Siz voyaga yetmagansiz.
bo‘ladi.
Juft yoki toq son¶
if yordamida sonning juft yoki toq ekanini ham aniqlash mumkin.
Buning uchun % operatoridan foydalanamiz.
#include <stdio.h>
int main() {
int son = 10;
if (son % 2 == 0) {
printf("Juft son.");
} else {
printf("Toq son.");
}
return 0;
}
Natija:
Juft son.
Chunki:
10 % 2 = 0
Agar son:
int son = 7;
bo‘lsa, natija:
Toq son.
bo‘ladi.
if ichida bir nechta kod¶
if ichida faqat bitta buyruq emas, bir nechta buyruq yozish mumkin.
Masalan:
int yosh = 20;
if (yosh >= 18) {
printf("Voyaga yetgan.\n");
printf("Siz dasturdan foydalanishingiz mumkin.");
}
Natija:
Voyaga yetgan.
Siz dasturdan foydalanishingiz mumkin.
Ichma-ich if¶
Bir if ichida yana boshqa if yozish mumkin.
Masalan:
int yosh = 20;
if (yosh >= 18) {
if (yosh < 60) {
printf("Siz katta yoshdagi odamsiz.");
}
}
Hozircha bunday kodlarni ko‘p ishlatmaymiz.
Oddiy if va else ni yaxshi tushunish muhimroq.
Amaliy mashqlar¶
1-mashq¶
Quyidagi dasturdagi yosh qiymatini o‘zgartirib ko‘ring:
int yosh = 15;
if (yosh >= 18) {
printf("Kirish mumkin.");
} else {
printf("Kirish mumkin emas.");
}
18 dan kichik va katta qiymatlar bilan tekshirib ko‘ring.
2-mashq¶
Sonning musbat yoki manfiy ekanini aniqlaydigan dastur yozing.
Masalan:
son = 10
Natija:
Musbat son
bo‘lishi kerak.
3-mashq¶
Son juft yoki toq ekanini aniqlaydigan dastur yozing.
Masalan:
son = 7
Natija:
Toq son
bo‘lishi kerak.
4-mashq¶
Ballga qarab baho chiqaradigan dastur yozing:
90-100 → A
80-89 → B
70-79 → C
60-69 → D
0-59 → F
5-mashq¶
Quyidagi kod nima chiqaradi?
int son = 25;
if (son > 30) {
printf("A");
} else {
printf("B");
}
Avval javobni o‘ylang, keyin dasturni ishga tushirib tekshiring.
Muhim narsalarni eslab qoling¶
if:
if (shart) {
// shart to‘g‘ri bo‘lsa
}
else:
if (shart) {
// to‘g‘ri
} else {
// noto‘g‘ri
}
Bir nechta shart:
if (shart1) {
} else if (shart2) {
} else {
}
Eng ko‘p ishlatiladigan taqqoslash operatorlari:
> katta
< kichik
>= katta yoki teng
<= kichik yoki teng
== teng
!= teng emas
Xulosa¶
if dasturga qaror qabul qilish imkonini beradi.
Masalan:
if (yosh >= 18) {
printf("Kirish mumkin.");
} else {
printf("Kirish mumkin emas.");
}
Bu yerda dastur yoshga qarab ikki xil natijadan birini tanlaydi.