8-dars. Shart operatori
Dars Maqsadlari:
- C Dasturlash Tilida Taqqoslash Operatorlari
- Taqqoslash operatorlari bilan tanishtirish va ularning ishlash tamoyillarini tushunish.
- Har bir taqqoslash operatorining qanday ishlashini amaliy misollar yordamida ko‘rish.
- C Dasturlash Tilida Mantiqiy Operatorlar
- Mantiqiy operatorlarni tushunish: AND, OR, NOT.
- Ularning turli qiymatlar bilan qanday ishlashini o‘rganish.
- If, If-Else va Else-If Operatorlari
- If, If-Else, Else-If operatorlarini mukammal tushunish.
- Ularning dasturda qanday ishlashini hayotiy misollar bilan tushunish.
- Ternary Operator (?:)
- Ternary operator (?:) haqida batafsil ma'lumotga ega bo’lish.
- Ularning dasturda qanday ishlashini misollar bilan tushunish.
- Switch Case, Range va Default
switchcase operatorini tushunish.switchcase ichidagi range (oraliq) va ularni qanday ishlatishni ko'rish.defaultbo'limini tushunish va undan foydalanish.
C Dasturlash Tilida Taqqoslash Operatorlari
Kirish
Dasturlashda turli qiymatlarni solishtirish juda muhim. Masalan, biz ikkita sonni teng yoki teng emasligini bilishimiz mumkin, yoki qaysidir qiymat kattaroq yoki kichikroq ekanligini aniqlashimiz kerak bo'ladi. C dasturlash tilida bunday solishtirishlarni amalga oshirish uchun taqqoslash operatorlaridan foydalanamiz.
Tenglik Operatori (==)
Tushunish: Tenglik operatori ikkita qiymat teng ekanligini tekshiradi va ularning bir xil ekanligini aniqlaydi. Agar ular teng bo‘lsa, operator 1 qiymatini, aks holda 0 qiymatini qaytaradi.
Misol:
- Tasavvur qiling, siz do‘stlaringiz bilan o‘yin o‘ynayapsiz va o‘yin qoidasiga ko‘ra, kimdir 50 ball yig‘sa, yutadi. Biz buni tenglik operatori bilan tekshirgan bo'lardik.
Kod:
#include <stdio.h>
int main() {
int ball = 50;
int yutish_ball = 50;
printf("Yutish holati: %d\n", ball == yutish_ball);
return 0;
}
Bu kodda ball == yutish_ball qismi bizga 1 (rost) yoki 0 (yolg'on) qiymatini qaytaradi. Chunki ikkala ball ham teng.
Teng Emas Operatori (!=)
Tushunish: Bu operator ikkita qiymat teng emasligini aniqlaydi. Agar qiymatlar teng bo‘lmasa, 1 qaytaradi, aks holda 0.
Misol:
- Siz kinoga borishni rejalashtiryapsiz va bilet olishdan oldin, vaqt jadvalini tekshirasiz. Lekin siz bilasizki, sevimli filmlaringiz bir xil vaqtga to‘g‘ri kelmaydi.
Kod:
#include <stdio.h>
int main() {
int kino_vaqti = 18;
int dost_kino_vaqti = 20;
printf("Film vaqtlari farqlanadimi? %d\n", kino_vaqti != dost_kino_vaqti);
return 0;
}
Bu yerda kino_vaqti != do'st_kino_vaqti teng emasligini tekshiramiz. 1 qaytadi, chunki ular bir xil vaqt emas.
Katta Operatori (>)
Tushunish: Bu operator birinchi qiymat ikkinchisidan kattami yoki yo‘qligini tekshiradi. Agar birinchi qiymat kattaroq bo‘lsa, 1, aks holda 0 qaytaradi.
Misol:
- Siz sport musobaqasini kuzatayapsiz va kimning ko'proq ball to'plaganini bilmoqchisiz. Kim yutganini aniqlash kerak.
Kod:
#include <stdio.h>
int main() {
int birinchi_ball = 85;
int ikkinchi_ball = 80;
printf("Birinchi jamoa ko'proq ball to'plaganmi? %d\n", birinchi_ball > ikkinchi_ball);
return 0;
}
birinchi_ball > ikkinchi_ball qismi, agar birinchi jamoa ko'proq ball to'plagan bo'lsa, 1 qaytaradi.
Kichik Operatori (<)
Tushunish: Bu operator birinchi qiymat ikkinchisidan kichikmi yoki yo‘qligini tekshiradi. Agar birinchi qiymat kichik bo‘lsa, 1 qaytaradi, aks holda 0.
Misol:
- Siz tanlovda qatnashmoqdasiz va boshqa ishtirokchilarning ballarini kuzatayapsiz. Siz ulardan kamroq ball to‘plaganmisiz?
Kod:
#include <stdio.h>
int main() {
int sizning_ball = 75;
int raqib_ball = 85;
printf("Sizning ballingiz raqib ballidan kammi? %d\n", sizning_ball < raqib_ball);
return 0;
}
sizning_ball < raqib_ball qismi, agar siz kamroq ball to'plagan bo'lsangiz, 1 qaytaradi.
Katta yoki Teng Operatori (>=)
Tushunish: Bu operator birinchi qiymat ikkinchisidan kattami yoki tengligini tekshiradi. Agar birinchi qiymat katta yoki teng bo‘lsa, 1, aks holda 0 qaytaradi.
Misol:
- Siz musobaqada qatnashyapsiz va eng yuqori ballni to‘plashga intilyapsiz. Yoki siz eng yubori ball olgan bilan teng ball olasizmi?
Kod:
#include <stdio.h>
int main() {
int sizning_ball = 90;
int maksimal_ball = 90;
printf("Siz maksimal yoki undan yuqori ball to'pladingizmi? %d\n", sizning_ball >= maksimal_ball);
return 0;
}
Bu yerda sizning_ball >= maksimal_ball qismi, agar siz maksimal yoki undan yuqori ball to'plagan bo'lsangiz, 1 qaytaradi.
Kichik yoki Teng Operatori (<=)
Tushunish: Bu operator birinchi qiymat ikkinchisidan kichikmi yoki tengligini tekshiradi. Agar birinchi qiymat kichik yoki teng bo‘lsa, 1, aks holda 0 qaytaradi.
Misol:
- Siz biror test yoki baholash jarayonida eng past bahoni bilmoqchisiz.
Kod:
#include <stdio.h>
int main() {
int baho = 70;
int minimal_baho = 70;
printf("Siz minimal yoki undan past baho oldingizmi? %d\n", baho <= minimal_baho);
return 0;
}
Bu yerda baho <= minimal_baho qismi, agar siz minimal yoki undan past baho olgan bo'lsangiz, 1 qaytaradi.
Xulosa:
Shunday qilib, taqqoslash operatorlari har xil qiymatlarni solishtirish uchun ishlatiladi va har bir solishtirish 1 yoki 0 qiymatini qaytaradi. Bu operatorlar juda ko‘p joyda ishlatiladi, va ulardan foydalanishni o‘rganish dasturchi uchun juda muhimdir.
C Dasturlash Tilida Mantiqiy Operatorlar
Kirish
Dasturlashda mantiqiy operatorlar aynan mantiqiy muammolarni yechishda juda muhim rol o‘ynaydi. Bu operatorlar turli qiymatlarni birlashtirib, dasturimizning qanday ishlashini hal qiladi. Mantiqiy operatorlar matematikaning Boole algebrasi (mantiqiy algebra) asosida ishlaydi. Buni shunday tasavvur qilishimiz mumkin: o‘qituvchi sizga “yoki darsni qilish kerak, yoki dam olish mumkin” deb aytsa, siz bu mantiqiy operatsiyani qabul qilasiz va qaror qabul qilasiz. Xuddi shunday, mantiqiy operatorlar ham dasturga nimani qilish kerakligini aytadi.
AND Operatori (&&)
Tushunish: AND operatori ikkita shartni bir vaqtning o‘zida bajarilganini tekshiradi. Ya’ni, ikkala shart ham rost bo‘lsa, natija rost (1) bo‘ladi, lekin agar bitta shart yolg‘on bo‘lsa, natija yolg‘on (0) bo‘ladi.
Misol:
Tasavvur qiling, sizga do'stingiz "Sen kinoga borish uchun 18 yoshdan katta bo'lishing va bilet olishing kerak" dedi. Bu yerda ikkita shart bor: yoshi va bilet olish. Ikkala shart bajarilganida siz kinoga borasiz.
Kod:
#include <stdio.h>
int main() {
int yosh = 19;
int bilet_olgan = 1; // 1: bilet olgan, 0: bilet olmagan
printf("Kinoga kirish mumkinmi? %d\n", (yosh >= 18) && (bilet_olgan == 1));
return 0;
}
Bu kodda, agar sizning yoshingiz 18 yoki undan katta bo‘lsa va bilet olgan bo‘lsangiz, natija 1 (rost) bo‘ladi. Aks holda, natija 0 (yolg‘on) bo‘ladi.
OR Operatori (||)
Tushunish: OR operatori ikkita shartdan kamida bittasi bajarilganini tekshiradi. Ya’ni, bitta shart rost bo‘lsa, natija rost (1) bo‘ladi. Faqat ikkala shart ham yolg‘on bo‘lsa, natija yolg‘on (0) bo‘ladi.
Misol:
O‘qituvchi sizga: “Bu topshiriqni bajarishingiz mumkin yoki shunchaki hozirgi darsga e'tibor qarating” dedi. Bu yerda ikkita imkoniyat bor, va bitta shartni bajarish kifoya.
Kod:
#include <stdio.h>
int main() {
int topshiriq_bajarildi = 1; // 1: bajardi, 0: bajarmadi
int darsda_diqqat = 0; // 1: diqqat, 0: e'tibor yo'q
printf("O'qituvchi sizni maqtab beradimi? %d\n", topshiriq_bajarildi || darsda_diqqat);
return 0;
}
Bu kodda, agar siz topshiriqni bajarsangiz yoki darsda diqqatli bo‘lsangiz, natija 1 (rost) bo‘ladi. Faqat ikkalasi ham bajarmagan bo‘lsa, natija 0 (yolg‘on) bo‘ladi.
NOT Operatori (!)
Tushunish: NOT operatori qiymatni teskari qiladi. Agar qiymat rost bo‘lsa, uni yolg‘on qiladi, va aksincha. Bu operator shunchaki qiymatni “teskari” qiladi.
Misol:
Do‘stingiz sizga "Qanday bo‘lmasin, to‘xtamang!" deb aytadi. Bu yerda mantiqiy bo‘lmagan narsa shundaki, "to‘xtamang" degani, "davom eting" deganidir. Bu operator shu kabi ishlaydi: u qiymatni teskarisiga o‘giradi.
Kod:
#include <stdio.h>
int main() {
int toxtadi = 0; // 1: toxtadi, 0: davom etyapti
printf("Davom etyaptimi? %d\n", !toxtadi);
return 0;
}
Bu kodda, toxtadi 0 bo‘lsa (ya’ni to‘xtamadi), NOT operatori uni teskari qilib 1 (rost) ga o‘giradi, ya’ni davom etayotganini bildiradi.
Misollar orqali amaliyot
Misol 1: Kinoga borishda Yoshni Tekshirish
Siz kinoga do‘stlaringiz bilan borishni xohlaysiz. Lekin kinoga faqat 18 yoshdan katta odamlar kirishi mumkin, va sizning do‘stlaringizning yoshi turlicha. Keling, bu yerda AND operatorini ishlatamiz!
#include <stdio.h>
int main() {
int yosh1 = 19;
int yosh2 = 17;
printf("Ikkala do'st ham kirishi mumkinmi? %d\n", (yosh1 >= 18) && (yosh2 >= 18));
return 0;
}
Natija: Ikkala do‘st ham 18 yoshdan katta emas, shuning uchun 0 qaytariladi.
Misol 2: Sport Musobaqasi
Siz va do‘stlaringiz sport musobaqasida qatnashmoqdasiz. Musobaqani yutish uchun siz kamida bitta turda g‘olib bo‘lishingiz kerak. Bu yerda OR operatorini ishlatamiz.
#include <stdio.h>
int main() {
int birinchi_urinish = 1; // 1: yutdi, 0: yutqazdi
int ikkinchi_urinish = 0; // 1: yutdi, 0: yutqazdi
printf("Siz musobaqada g'olib bo'ldingizmi? %d\n", birinchi_urinish || ikkinchi_urinish);
return 0;
}
Natija: Birinchi urinishda g‘olib bo‘lganingiz uchun 1 (g‘olib) qaytariladi.
Xulosa:
Bu qismda biz mantiqiy operatorlar bilan tanishdik. Ushbu operatorlar juda ko‘p dasturlash muammolarini hal qilish uchun kerak bo‘ladi.
If, If-Else va Else-If Operatorlari
Kirish
Dasturlash olamida sizning birinchi qadamlaringizdan biri bu qaror qabul qilish qoidalarini o‘rganish. Faqat hisob-kitoblar yoki ma’lumotlarni kiritish bilan cheklanib qolish emas, balki qachon va qanday harakat qilish kerakligini belgilovchi if-else kabi operatorlarni tushunishimiz juda muhim.
Tasavvur qiling: Siz do'stingiz bilan shokolad tanlash uchun magazinga kirdingiz. Do'stingiz sizga: "Agar qora shokolad bo'lsa, uni olamiz, bo'lmasa sutli shokolad, agar ikkalasi ham yo'q bo'lsa, keks olamiz," – dedi. Bu if-else operatorlariga misol bo‘ladi. Biz dasturlarda ham huddi shunday qarorlar qabul qilamiz.
If Operatori
Tushunish: "If" operatori shunchaki: "Agar bu shart to‘g‘ri bo‘lsa, bu ishni qil" degani. Ya'ni, agar ma’lum bir shart bajarilsa, ushbu shart uchun kod bajariladi.
Misol:
O‘zingizni supermarketda deb tasavvur qiling:
- Agar sutli shokolad bo‘lsa, uni ol. Shart: agar supermarketda sutli shokolad bo‘lsa (shart rost bo‘lsa), siz uni xarid qilasiz.
Kod:
#include <stdio.h>
int main() {
int sutli_shokolad = 1; // 1: bor, 0: yo'q
if (sutli_shokolad) {
printf("Sutli shokolad olindi!\n");
}
return 0;
}
Natija: Agar shokolad bo‘lsa, "Sutli shokolad olindi!" chiqadi.
If-Else Operatori
Tushunish: "If-else" operatori quyidagi holatlarni qamrab oladi: "Agar bu shart bajarilsa, shu ishni qil, aks holda boshqa ishni bajar". Ya’ni, agar bir shart bajarilmasa, boshqa bir variant (boshqa kod) ishlaydi.
Misol:
Siz yana o‘sha supermarketda bo‘lasiz:
- Agar qora shokolad bo‘lsa, uni ol, aks holda sutli shokoladni ol. Bu yerda ikkita shart bor: avval qora shokoladni tekshirasiz, agar u bo‘lmasa, sutli shokoladga o'tasiz.
Kod:
#include <stdio.h>
int main() {
int qora_shokolad = 0; // 1: bor, 0: yo'q
int sutli_shokolad = 1; // 1: bor, 0: yo'q
if (qora_shokolad) {
printf("Qora shokolad olindi!\n");
} else {
printf("Sutli shokolad olindi!\n");
}
return 0;
}
Natija: Agar qora shokolad bo‘lmasa, "Sutli shokolad olindi!" chiqadi.
Else-If Operatori
Tushunish: "Else-if" operatori bir nechta shartlarni ketma-ket tekshiradi: "Agar bu shart to‘g‘ri bo‘lsa, uni bajaring, agar bo‘lmasa keyingi shartni tekshiring". Bu operator ko‘p shartlar qachon bir-biridan farqlanishi kerakligini bildiradi.
Misol:
Yana supermarketga qaytamiz:
- Agar qora shokolad bo'lsa, uni ol, aks holda sutli shokoladni ol, agar u ham bo‘lmasa, keksni ol.
Kod:
#include <stdio.h>
int main() {
int qora_shokolad = 0; // 1: bor, 0: yo'q
int sutli_shokolad = 0; // 1: bor, 0: yo'q
int keks = 1; // 1: bor, 0: yo'q
if (qora_shokolad) {
printf("Qora shokolad olindi!\n");
} else if (sutli_shokolad) {
printf("Sutli shokolad olindi!\n");
} else {
printf("Keks olindi!\\n");
}
return 0;
}
Natija: Agar qora va sutli shokolad bo‘lmasa, "Keks olindi!" chiqadi.
If-Else Misollari orqali Amaliyot
Misol 1: Haroratga qarab kiyinish
Siz tashqarida qanday harorat bo‘lishiga qarab, qanday kiyinishni qaror qilasiz.
- Agar harorat 30°C yoki undan yuqori bo'lsa, yupqa kiyiladi, aks holda agar harorat 20°C dan yuqori bo‘lsa, o’rtacha kiyiladi, va agar harorat 20°C dan past bo‘lsa, qalin kiyiladi.
#include <stdio.h>
int main() {
int harorat = 25; // Haroratni kiriting (misol uchun, 25 daraja)
if (harorat >= 30) {
printf("Yupqa kiying!\n");
} else if (harorat > 20) {
printf("O'rtacha kiying!\n");
} else {
printf("Qalin kiying!\n");
}
return 0;
}
Xulosa
Bu qismda biz if, if-else, va else-if operatorlarini mukammal o‘rgandik. Endi biz kodga qaror qabul qilish mexanizmi qo‘shishimiz mumkin. Buning yordamida dastur o‘z holatiga qarab mos ishni bajaradi.
Ternary (Uchlik) Operator (?:)
Kirish
Dasturlashda siz ko'plab shartlar bilan ishlaysiz. Shartlarni tekshirishda eng ko'p ishlatiladigan metodlardan biri bu ternary operator. U ko'pincha shartli ifodalarda tez va samarali natijalar olish uchun ishlatiladi.
Ternary Operatorni Tushunish
Ternary Operator Nima?
Ternary operator dasturlash tillarida shartlarni tekshirish uchun ishlatiladigan maxsus sintaksis. U shart bo‘lganda bir qiymatni, aks holda esa boshqa qiymatni qaytaradi.
Ternary operator quyidagi ko‘rinishga ega:
shart ? qiymat1 : qiymat2;
- shart: Tekshiriladigan shart.
- qiymat1: Agar shart to'g'ri bo'lsa, qaytariladigan qiymat.
- qiymat2: Agar shart noto'g'ri bo'lsa, qaytariladigan qiymat.
Misol
Keling, ushbu operatorni hayotiy misol bilan ko‘rib chiqamiz. Tasavvur qiling, siz do‘stingizga yuk mashinasining qiymatini bilish uchun so'rayapsiz.
- Agar yuk mashinasi yangi bo'lsa, qiymati 25,000$, aks holda qiymati 15,000$.
Ushbu shartni ternary operator yordamida kodga aylantiramiz:
#include <stdio.h>
int main() {
int yangi = 1; // 1: yangi, 0: eski
int qiymat = yangi ? 25000 : 15000;
printf("Yuk mashinasi qiymati: $%d\n", qiymat);
return 0;
}
Natija: Agar yuk mashinasi yangi bo‘lsa, "Yuk mashinasi qiymati: $25000" deb chiqadi.
Ternary Operatorning Afzalliklari
Ternary operatorlardan foydalanishning ko‘plab afzalliklari bor:
- Qisqa sintaksis: Ternary operatorlar, if-else operatorlariga nisbatan ancha qisqaroq va o‘qilishi oson.
- Oson foydalanish: Katta dasturlarda oddiy shartlarni tez va oson tekshirish imkonini beradi.
- O'zgaruvchilarni tayinlash: Siz shartga ko'ra o'zgaruvchini bir vaqtning o'zida tayinlashingiz mumkin.
Ternary operatorlar dasturlashda ko‘plab kodlarni qisqartirishi va o'qilishi oson bo‘lishiga yordam beradi.
Ternary Operatorlar bilan Birgalikda Ishlash
Keling, ternary operatorlar yordamida murakkab shartlarni tekshirishni ko‘rib chiqamiz. Misol uchun, siz do‘stingizga daromadiga qarab baholash uchun shartlar qo'yasiz:
- Agar daromad 100,000$ dan yuqori bo'lsa, “Boy”;
- Agar daromad 50,000$ dan yuqori bo'lsa, “O'rta”;
- Agar daromad 50,000$ dan past bo'lsa, “Kambag'al”.
#include <stdio.h>
int main() {
int daromad = 60000; // Daromadni kiriting
char *tavsif;
tavsif = (daromad > 100000) ? "Boy" :
(daromad > 50000) ? "O'rta" : "Kambag'al";
printf("Daromad ta'rifi: %s\n", tavsif);
return 0;
}
Natija: Agar daromad 60,000$ bo‘lsa, "Daromad ta'rifi: O'rta" chiqadi.
Dasturiy Shartlar
Barcha shartlar ketma-ketligini tashkil qilishda ternary operatorlar sizga imkoniyat yaratadi. Biroq, siz har doim shartlarni o‘zingiz xohlagan tarzda joylashtirishingiz mumkin. Ammo, unutmang, kodni o‘qilishi oson qilish har doim muhim.
Xulosa
Bu qismda biz ternary operator haqida bilib oldik. Bu dasturlashda shartlarni oson va samarali tekshirish imkoniyatini beruvchi qulay vositadir.
Switch Case, Range va Default
Kirish
Bu qismda biz dasturlashda muhim va keng qo‘llaniladigan switch case operatorini o‘rganamiz. Bu operator shartlarni tekshirishda va qiymatlarni taqqoslashda yordam beradi. Agar siz biror narsa qilishda bir necha imkoniyatlar o'rtasida tanlov qilishingiz kerak bo'lsa, switch case sizga yordam beradi!
switch Case Operatori
switch Nima?
switch operatori dasturlashda turli shartlarni tekshirish uchun ishlatiladi. Agar siz bir necha shartlar o'rtasida tanlov qilmoqchi bo'lsangiz, switch operatoridan foydalanishingiz mumkin.
Sintaksisi:
switch (ifoda) {
case qiymat1:
// kod
break;
case qiymat2:
// kod
break;
default:
// kod
}
- ifoda: Tekshiriladigan qiymat.
- case qiymatX: Agar ifoda qiymati
qiymatXga teng bo'lsa, ushbu kod bajariladi. - break: Har bir case oxirida ishlatiladi, shunda dastur case dan chiqib ketadi.
- default: Agar hech bir case mos kelmasa, bajariladigan kod.
Misol
Tasavvur qiling, sizda bir taom menyusi bor va siz do'stingizga taomni tanlashda yordam berasiz. Misol uchun:
#include <stdio.h>
int main() {
int taom = 2; // Taom tanlovi
switch (taom) {
case 1:
printf("Pizza tanlandi.\n");
break;
case 2:
printf("Sushi tanlandi.\n");
break;
case 3:
printf("Burgers tanlandi.\n");
break;
default:
printf("Noaniq tanlov.\n");
break;
}
return 0;
}
Natija: Agar taom 2 bo'lsa, ekranda "Sushi tanlandi." chiqadi.
switch Case ichidagi Range
Range (Oraliq) Qanday Ishlaydi?
Ba'zan siz bir nechta qiymatlar o'rtasida oraliq (range) ko'rsatish orqali tanlov qilmoqchisiz. switch case da shartlarni case bloklarida bir nechta qiymatni taqqoslash orqali amalga oshirishingiz mumkin. Ammo, siz switch da to'g'ridan-to'g'ri oraliq ishlata olmaysiz. Biroq, oraliq qiymatlarni tekshirish uchun bir nechta case bloklarini birlashtirib ishlatishingiz mumkin.
Misol:
#include <stdio.h>
int main() {
int ball = 85; // Ballni kiriting
switch (ball / 10) { // Ballni 10 ga bo'lib, oraliqni hisoblash
case 10:
case 9:
printf("A! Juda yaxshi!\n");
break;
case 8:
printf("B! Yaxshi!\n");
break;
case 7:
printf("C! O‘rta.\n");
break;
default:
printf("D yoki F! Qayta urinib ko‘ring!\n");
break;
}
return 0;
}
Natija: Agar ball 85 bo'lsa, ekranda "B! Yaxshi!" chiqadi.
default Bo'limi
default Nima?
default bo'limi switch case da ifoda hech qaysi case ga mos kelmasa, bajariladigan kodni belgilaydi. Bu, asosan, kutilmagan qiymatlar uchun foydalaniladi.
Misol:
#include <stdio.h>
int main() {
int rang = 5; // Rang tanlovi
switch (rang) {
case 1:
printf("Qizil.\n");
break;
case 2:
printf("Yashil.\n");
break;
case 3:
printf("Moviy.\n");
break;
default:
printf("Bunday rang yo'q.\n");
break;
}
return 0;
}
Natija: Agar rang 5 bo'lsa, ekranda "Bunday rang yo'q." chiqadi.
Xulosa
Bu qismda biz switch case operatori, uning ichida range ishlatish va default bo'limini qanday qo'llashni o'rgandik.