Оператори do-while, while

Поряд з оператором for для запису циклічних алгоритмів використовуються також оператори do-while та while. Синтаксис:

while(<вираз>)<оператор>

Дія: поки істинний <вираз>, виконується <оператор>. Синтаксис:

do<оператор>while(<вираз>)

Дія: виконується <оператор>, поки істинний <вираз>.

Для уявлення про відмінність у цих операторах розглянемо два простих фрагменти програм:

int i=10;

while(i>0)

{i--;

printf("%d',i);

}

int i=10;

do

{i--;

printf("%d',i);

}

while(i>0);

В обох фрагментах друкується значення змінної і, починаючи з 10, однак у першому останнім надрукованим значенням є "0", а в другому – "-1". Дійсно, у другому фрагменті спочатку виконується тіло оператора, а вже потім перевіряється умовний вираз. Якщо він хибний, то оператор більше не виконується.

При використанні циклів не варто забувати ініціалізувати змінні, що виступають як лічильники. Розглянемо фрагмент програми, у якій деяке повідомлення має друкуватись 10 разів:

main(){/*друк фрази 10 разів*/int i;while(i<10){printf("%d-й раз\n",i+1);i++;}}

Тут автоматична змінна i не проініціалізована й містить не 0, а якесь довільне значення. Цикл може виконуватись не 10, а довільну кількість разів (у тому числі й 0). Тому у відповідному рядку необхідно написати int i=0;

У цьому фрагменті програми було б ще краще використовувати цикл for, у якому всі операції над індексом циклу зібрані в заголовку циклу:

for(i=0;i<10;i++) printf(...);

Оператор continue

Синтаксис: continue; Передає керування на наступну ітерацію в циклах. Нагадаємо, що в циклах while та do наступна ітерація починається з обчислення умовного виразу, а в операторі for – виразу-приросту (а потім умовного виразу). Розглянемо фрагмент програми:

i=10;

while(i>0)

{

i--;

if (i%2==0) continue;

printf("%d',i);

}

У цьому фрагменті надруковані непарні значення змінної і від 9 до 1. Якщо значення змінної i виявляється парним, то виконується оператор continue, який перериває виконання циклу, і виконується наступ­на ітерація.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: