Оператори циклів - потужний засіб записати деяку послідовність операторів один раз і повторити її багаторазово. Завдяки циклам продуктивність праці програміста підвищується в багато разів.
У мові Сі існує три види циклів: цикл з параметром або цикл типу for, цикл з передумовою або цикл типу while, цикл з умовою поста або цикл типу do. while.
Формат запису циклу будь-якого типу складається з заголовка циклу і тіла циклу. У заголовку циклу вказується вид циклу і визначаються умови його початку, продовження і завершення, в тілі циклу поміщаються оператори, які потрібно виконати в циклі.
У циклі типу for число повторень відомо заздалегідь, в циклах типу while і do. while число повторень циклу заздалегідь невідомо, проводиться перевірка умови повторення циклу: в циклі типу while - перед циклом, в циклі типу do. while - після його закінчення.
У циклах типів for і while повторюється частина (тіло циклу) складається з одного оператора, якщо потрібно виконати в циклі кілька операторів, вони полягають у фігурні дужки, утворюючи складовою оператор. У циклі типу do. while тіло циклу поміщається між зарезервованими словами мови do і while, фігурні дужки також потрібні, в назві циклу його тіло умовно позначається трьома крапками.
У всіх типах циклів умова продовження циклу полягає в круглі дужки. Для циклу типу for заголовок циклу складається з трьох розділів: ініціалізації (привласнення початкових значень), перевірки умови повторення, модифікації (зміни параметрів). Роздільником між розділами заголовка циклу типу for служить крапка з комою.
Не завжди число повторень циклу відомо заздалегідь, в цих випадках застосовуються цикли з передумовою (перевірка умови перед циклом) або з умовою поста (перевірка умови після циклу).
Формат запису циклу з умовою поста:
Оператори, що становлять тіло циклу, поміщаються в фігурних дужках між ключовими словами do (виконати) і while (поки). Після ключового слова while в круглих дужках записується умова продовження циклу. Поки ця умова істинно, цикл триватиме, як тільки умова стане хибним, цикл завершиться і відбудеться перехід до наступного оператору. Звернемо увагу, що в мові Паскаль, на відміну від Сі, цикл з умовою поста типу repeat. until виконується, поки умова помилкова.
Оскільки перевірка умови продовження циклу проводиться після виконання циклу, цей цикл повинен виконатися принаймні 1 раз.
Наведемо приклад. Нехай потрібно вирішити деякий рівняння, наприклад, tg x - 2x = 0. Перевіркою переконуємося, що x = 0 є рішення рівняння. Знайдемо нетривіальний позитивний корінь рівняння методом половинного ділення.
Позначимо через l і r лівий і правий кінці інтервалу, на яких функція приймає значення різних знаків. Розділимо відрізок [l. r] навпіл і виберемо ту половину, на кінцях якої функція приймає значення різних знаків. Будемо продовжувати поділ до тих пір, поки довжина інтервалу не стане менше заданої точності, як результат виведемо середину останнього інтервалу.
//pol_del.c рішення рівняння методом половинного ділення
printf ( "% s", "Введіть лівий і правий кінці інтервалу, точність \ n");