Skip to content

Do/While Loop (Do/While tsikli)

do/while tsikli while tsiklining bir ko'rinishidir. Ushbu tsikl kod blokini shartning rostligini tekshirishdan oldin bir marta bajaradi. Keyin, shart rost bo'lgan vaqt davomida tsiklni takrorlaydi.

SINTAKSIS
cpp
do {
  // bajariladigan kod bloki
}
while (shart);

ESLATMA

while (shart) qismidan keyin nuqtali vergul (;) qo'yilishi shart!


Do/While Misol

Quyidagi misolda do/while tsikli ishlatilgan. Tsikl har doim kamida bir marta bajariladi, hatto shart yolg'on bo'lsa ham, chunki kod bloki shart tekshirilishidan oldin bajariladi.

MISOL

cpp
int i = 0;
do {
  cout << i << "\n";
  i++;
}
while (i < 5);

DIQQAT

Shartda ishlatiladigan o'zgaruvchini oshirishni (i++) unutmang, aks holda tsikl hech qachon tugamaydi!


Shart boshidanoq yolg'on bo'lsa

Yuqoridagi misolda i < 5 sharti boshida true edi, shuning uchun tsikl bir necha marta bajarildi. Ammo shart boshidanoq false (yolg'on) bo'lsa nima bo'ladi?

Quyidagi misolda i o'zgaruvchisi 10 dan boshlanadi, shuning uchun i < 5 sharti darhol yolg'on bo'ladi - shunga qaramay, do/while tsikli bir marta ishlaydi:

MISOL

cpp
int i = 10;
do {
  cout << "i ning qiymati: " << i << "\n";
  i++;
} while (i < 5);

Xulosa:do/while tsikli har doim kamida bir marta ishlaydi, hatto shart allaqachon yolg'on bo'lsa ham. Bu oddiy while tsiklidan farq qiladi, chunki while agar shart boshidanoq yolg'on bo'lsa, tsiklni butunlay o'tkazib yuboradi.


Amaliy misol: Foydalanuvchi kiritishi

Ushbu dastur foydalanuvchidan musbat son kiritishni so'rashda davom etadi. Tsikl foydalanuvchi 0 yoki manfiy son kiritganda to'xtaydi:

MISOL

cpp
int number;
do {
  cout << "Musbat son kiriting: ";
  cin >> number;
} while (number > 0);

Bu kabi holatlarda do/while juda qulay, chunki biz foydalanuvchidan kamida bir marta son so'rashimiz kerak.