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 змінюються паралельно.