Оператор циклу for - студопедія

for (<оператор1>;<выражение>;<оператор2>) <оператор3>;

дозволяє організувати повторюється обчислювальний процес і називається оператором циклу. Як правило, оператор1 і оператор2 є операторами присвоювання або зверненнями до функції, а вираження1 - умовним виразом.

Цикл for зручно використовувати в тих випадках, коли заздалегідь відомо кількість повторень тіла циклу, або є явно виражена змінна, керуюча циклом. В цьому випадку вираження1 обчислюється один раз і задає ініціалізацію керуючоїзмінної.

Вираз1 є умовою завершення циклу, а оператор2 задає збільшення керуючоїзмінної.

Наприклад, наступна конструкція

for (i = l; i;

є широко поширеною і дозволяє «перебрати» перші п натуральних чисел. З першого рядка циклу for можна відразу дізнатися всю інформацію про параметрах циклу: початкове значення змінної i, її кінцеве значення, а також наскільки збільшується значення змінної i при кожному виконанні тіла циклу.

Будь-який з операторів і виразів в циклі for може бути опущений, хоча крапка з комою при цьому повинна залишатися. Якщо відсутня оператор1 або оператор2, то він просто випадає з обчислень. Якщо ж відсутня вираження1, то вважається, що воно завжди істинно.

Існують різноманітні можливості застосування циклу for:

1) можна застосовувати операцію зменшення для рахунку в порядку убування замість рахунку в порядку зростання

2) при бажанні можна вести рахунок двійками, десятками і т.д.

3) можна вести підрахунок за допомогою символів, а не тільки чисел

printf ( "Beлічінa коду ASCII для% з дорівнює .. \ n", ch, ch);

4) можна перевірити виконання деякого довільного умови, відмінного від умови, що накладається на число ітерацій

5) можна зробити так, щоб значення деякої величини зростала не в арифметичній, а в геометричній прогресії

6) в якості третьої вираження можна використовувати будь-який правильно складене вираз; яке б вираз ви ні вказали, його значення буде змінюватися при кожній ітерації

for (x = I; у<=75;у=5*(х++)+10)

7) можна навіть опустити одне або більше виразів (але при цьому не можна опускати символи ";"); необхідно тільки включити в тіло циклу кілька операторів, які врешті-решт призведе до завершення його роботи

буде виконуватися нескінченну кількість разів, оскільки пусте умова завжди вважається дійсним;

8) перше вираз не обов'язково має ініціювати змінну; замість цього, наприклад, там міг би стояти оператор printf () деякого спеціального виду; необхідно пам'ятати, що перший вираз обчислюється тільки один раз перед тим, як інші частини циклу почнуть виконуватися

for (printf ( "3апомінайте введені числа! \ n"); num = 6;)

printf ( "ЕTO якраз те, що я хочу! \ n");

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

9) параметри, що входять у вирази, що знаходяться в специфікації циклу, можна змінити при виконанні операцій в тілі циклу; припустимо, наприклад, що є цикл зі специфікацією такого вигляду:

і якщо після декількох ітерацій програма вирішує, що величина параметраdaltaслішком мала або велика, оператор if всередині циклу може змінити значення цього параметра (в діалогової програми користувач може ізменітьетот параметр в процесі виконання циклу).

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

У специфікацію циклу for може бути включено декілька ініціюючих або коригувальних виразів. Наприклад, два вкладених циклу можна записати двома різними способами:

У наступній програмі змінні х, у, z змінюються паралельно.

Схожі статті