Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 1.6.1 Оператор циклу з передумовою шПіІе - Програмування С, С++теорія та практика (частина 1) - Studbook
Главная->Інформатика та програмування->Содержание->1.6.1 Оператор циклу з передумовою шПіІе

Програмування С, С++теорія та практика (частина 1)

1.6.1 Оператор циклу з передумовою шПіІе

Оператор м>кіІе використовується для організації циклічного виконання оператора або серії операторів, поки виконується певна умова.

Синтаксис :

мИІІе (<логічний вираз>) оператор;

Рис. 1.7. Синтаксис оператора мііііе

 

Цикл закінчується у наступних випадках :

1.       умовний вираз у заголовку приймає нульове значення;

2.       у тілі циклу досягнуто місця, де розташований оператор Ьгеак;

3.       у тілі циклу виконаний оператор геґигп;

У перших двох випадках керування передається оператору, розташованому безпосередньо за циклом, у третьому випадку активна на той момент функція завершує свою роботу, повертаючи якесь значення.

Знову ж таки нерідкою помилкою програмістів, що працювали раніше на Паскалі, є використання замість оператора порівняння (==) оператора присвоювання (=). Наприклад, наступний фрагмент створить нескінчений цикл:

/* некоректне використання оператору циклу */ іп£ таіп^оігі.)

{

іп£ і=5 ;

мЬі1е(і=5) /* змінній і присвоїти значення 5 */

{

ргіп^£("%гі\п",і);

:++;

}

}

Компілятор Сі попередить про некоректне присвоювання в даному випадку, виправити яке особливих труднощів не викличе.

Втім, часто такий цикл використовується для перевірки відповіді користувача на питання з програми ("так чи ні ?"): /* фрагмент використання мЬіІе */

ргіп^£ ("Підтверджуєте ? Так чи ні ?(у/п);");

зсап£("%с",&сЬ);

мЬіІе (сЬ!='у' && сЬ!='п')

{

ргіп^£("\п Відповідайте так чи ні .  .    (у/п);");

зсап£("%с",&сЬ);

}

Тіло циклу почне виконуватися, якщо користувач введе будь-який символ, відмінний від у або п. Цикл виконується доти, доки користувач не введе або ‘у ’ , або ‘п ’.

Цікаво розглянути й наступний приклад, що застосовує оператор м>кіІе у функції підрахунку факторіалу:

Іопд £асЬогіа1(іп£ питЬег)

{

1опд ■Ьо'ЬаІ;

£о'Ьа1=пиліЬег ; мЬіІе (--питЬег)

£о£а1*=питЬег; ге'Ьигп £о£а1;

}

 

34