Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 21-24.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
181 Кб
Скачать
☆

Ініціалізуючий вираз

Ініціалізуючий вираз обчислюється лише один раз – на початку виконання циклу. Обчислене значення ініціалізує лічильник циклу. В нашому прикладі

for (j=0;j<15;j++)

змінна j одержує початкове значення 0.

Умова виконання циклу

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

cout<<endl;

Інкрементуючий вираз

Інкрементуючий вираз призначений для зміни значення лічильника циклу. Часто такі зміни зводяться до інкрементації лічильника. Модифікація лічильника відбувається після того, як тіло циклу повністю виконалося. В нашому прикладі збільшення j на 1 відбувається кожного разу після завершення тіла циклу.

Число виконань циклу

В нашому прикладі цикл виконується 15 раз. Вперше він виконується при нульовому значенні j. Останнє виконання тіла циклу настає при j=14, оскільки умовою виконання циклу є j<15. Коли j приймає значення 15, виконання циклу переривається. Як правило, подібну схему використовують, коли необхідні дії потрібно виконувати фіксоване число раз. Присвоюючи лічильнику початкове значення, рівне 0, в якості умови продовження циклу ставлять порівняння лічильника з бажаним числом виконань і збільшують лічильник на одиницю кожен раз, коли виконання тіла циклу завершується.

Кілька операторів в тілі циклу

Найчастіше нам потрібно виконати в тілі циклу не один, а кілька операторів. Тоді ці кілька операторів слід включити у фігурні дужки, як ми це робили з тілом функції.

Наступний приклад демонструє використання кількох операторів в тілі одного циклу.

#include <iostrem>

#include <iomanip>

using namespace std;

int main()

{int numb;

for(numb=1;numb<=10;numb++)

{

cout<<setw(4)<<numb;

int cube=numb*numb*numb;

cout<<setw(6)<<cube<<endl;

}

return 0;

}

Звернемо увагу на те, що після закриваючої фігурної дужки не ставиться крапка з комою, початкове значення лічильника може бути довільним (в нашому випадку 1), а умова перевірки містить операцію «менше або рівне».

Якщо в тілі нашого циклу містить лише один оператор, його все одно можна взяти у фігурні дужки. Тоді легше читати програмний код.

Блоки і області видимості змінних

Тіло циклу, включене у фігурні дужки, називається блоком. Важливою особливістю блоку є те, що змінні, визначені всередині блоку, невидимі за його межами. В нашому прикладі ми визначили змінну cube всередині блоку

int cube=numb*numb*numb;

Дістати доступ до цієї змінно ззовні циклу неможливо – вона видима лише всередині фігурних дужок. Якщо ми спробуємо присвоїти значення змінній cube поза блоком

cube=0;

то компілятор видасть повідомлення про те, що змінна з іменем cube не визначена.

Перевагою такого обмеження області видимості змінних є те, що одне і те ж ім’я змінної можна використовувати кілька раз в різних блоках програми. Відмітимо ще, що такий спосіб оформлення змінних характерний для С++, але рідко використовується в С.

Щоб легше читати код, можна «зсунути» тіло циклу вправо порівняно з заголовком. На роботу компілятора це не впливає.