Оператори while
Агар миқдори такроршавии сикл пешакӣ маълум набошад, одатан while истифода мебаранд.
Дар ин ҷо ифода – шарти идомаи сикл (ифодаи мантиқӣ ё нисбӣ). Дар while аввал қимати ифода ҳисоб мешавад. Агар ҳақ бошад, тани сикл иҷро мешавад ва ифода аз нав санҷида мешавад. Агар дурӯғ бошад, идоракунӣ ба оператори баъди блок мегузарад.
Мисоли 1. Суммаи 100 адади натуралии аввал бо while:
Натиҷа:
Дар for се қисм дар як сатр буд; дар while онҳо ҷудо: инитсиализатсия (i = 1) – пеш, шарт – дар while, қадам (i++) – дар тани сикл. Ду шакл як маъно доранд:
Натиҷа:
Агар шарт аз аввал дурӯғ бошад:
Натиҷа:
Тан ягон бор иҷро нашуд.
Миқдори номаълуми такрор
Хондани ададҳо то 0:
Натиҷа:
Дар ин ҷо ҳангоми x = 0 сикл мемонад: шарт x != 0 дурӯғ аст. Диққат: дар тани сикл бояд чизе тағйир ёбад, ки ба дурӯғ шудани шарт оварда расонад (дар ин ҷо – cin >> x). Агар не, сикл беохир мешавад.
Рақамҳои адад
Бо n % 10 рақами охирин ва бо n /= 10 ҳама рақамро бурида мешавад. Суммаи рақамҳои 472:
Натиҷа: