do/while sikli
do/while sikli
do/while sikli while siklining bir ko‘rinishidir. Bu sikl shart rostligini tekshirishdan oldin kod blokini bir marta bajaradi, so‘ngra shart rost bo‘lib turguncha siklni takrorlaydi.
Sintaksis
do {
// bajariladigan kod bloki
}
while (condition);
Quyidagi misolda do/while siklidan foydalanilgan. Shart yolg‘on bo‘lsa ham, sikl kamida bir marta bajariladi, chunki kod bloki shart tekshirilishidan oldin bajariladi:
Shartda ishlatilgan o‘zgaruvchini oshirishni unutmang, aks holda sikl hech qachon tugamaydi!
Shart boshidanoq yolg‘on bo‘lsa
Yuqoridagi misolda i < 5 sharti boshida rost (true) edi, shuning uchun sikl bir necha marta bajarildi. Ammo shart boshidanoq yolg‘on (false) bo‘lsa-chi?
Quyidagi misolda i o‘zgaruvchisi 10 dan boshlanadi, shuning uchun i < 5 sharti darhol yolg‘on bo‘ladi — shunga qaramay do/while sikli baribir bir marta bajariladi:
Misol
Shart boshidanoq yolg‘on bo‘lsa ham, kod bloki baribir bir marta bajariladi:
int i = 10;
do {
printf("i is %d\n", i);
i++;
} while (i < 5);
O‘zingiz sinab ko‘ring »
Xulosa
do/while sikli shart allaqachon yolg‘on bo‘lsa ham, har doim kamida bir marta bajariladi. Bu oddiy while siklidan farq qiladi: u shart boshida yolg‘on bo‘lsa, siklni butunlay o‘tkazib yuboradi.
Bu xususiyat do/while siklini biror amal kamida bir marta bajarilishini ta’minlash kerak bo‘lganda, masalan, xabar ko‘rsatish yoki foydalanuvchidan ma’lumot so‘rashda foydali qiladi.
Amaliy misol: foydalanuvchi kiritishi
Bu misol foydalanuvchidan musbat son kiritishni qayta-qayta so‘raydi. Foydalanuvchi 0 yoki manfiy son kiritganda sikl to‘xtaydi:
Misol
int number;
do {
printf("Enter a positive number: ");
scanf("%d", &number);
} while (number > 0);
Misolni ishga tushirish »
Eslatma: scanf() funksiyasi va foydalanuvchi kiritishi haqida keyingi boblarda batafsil bilib olasiz.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
