Оператори do-while
Оператори do-while, мисли while, дар ҳолате истифода мешавад, ки шумораи такрор пешакӣ маълум нест. Намуди умумии он:
Агар тан танҳо аз як оператор иборат бошад, қавсҳои { } ҳатмӣ нестанд, вале барои тартиб онҳоро мегузоранд.
Тарзи кор:
- Тан як маротиба иҷро мешавад.
- Шарт ҳисоб мешавад.
- Агар шарт ҳақ бошад, тан аз нав иҷро мешавад (боз ба қадами 2). Агар дурӯғ бошад, сикл тамом мешавад ва идора ба оператори баъдӣ меравад.
Азбаски шарт баъд аз тан санҷида мешавад, тани сикл ҳамеша ақаллан як маротиба иҷро мегардад.
while | do-while |
|---|---|
| Аввал шарт, баъд тан | Аввал тан, баъд шарт |
| Тан шояд ягон маротиба иҷро нашавад | Тан ақаллан як маротиба иҷро мешавад |
Баъд аз ) нуқтавергул нест | Баъд аз while (...) ; ҳатмист |
Мисоли 1: ҷамъи 100 адади натуралии аввалин
Натиҷа:
s – ҷамъ, i – адади ҷорӣ. Дар ҳар такрор i ба s илова мешавад, баъд i як адад зиёд мешавад. Сикл то он вақт давом мекунад, ки n >= i ҳақ аст. Ҷамъи .