Цикл з параметром for має наступний формат:
for ( ініціалізація; вираз; модифікації ) оператор;
Ініціалізація служить для оголошення величин, використовуваних в циклі, і привласнення ним початкових значень. У цій частині можна записати декілька операторів, розділених комою, наприклад:
for (int i = 0, j = 20; ...
Зоною дії змінних, оголошених в частині ініціалізації циклу, є цикл. Ініціалізація виконується один раз на початку виконання циклу.
Вираз типу bool визначає умову виконання циклу: якщо його результат рівний true, цикл виконується. Інакше виконується вихід з циклу. Цикл з параметром реалізований як цикл з передумовою.
Модифікації виконуються після кожної ітерації циклу і служать зазвичай для зміни параметрів циклу. У частині модифікацій можна записати декілька операторів через кому, наприклад:
for ( int i = 0, j = 20; i< 5 && j > 10; i ++ , j-- ) ...
Простим або складеним оператором є тіло циклу. Будь-яка з частин оператора for може бути відсутня але крапки з комою треба залишити на своїх місцях.
Для прикладу обчислимо суму чисел від 1 до 100:
int s = 0;
for ( int i = 1 , i <= 100; i ++ )s += i;
На лістингу 4.10 показаний приклад виведення значень аргументу і функцій з використанням оператора for ( на лістингу 4.5. цей же приклад був реалізований з використанням оператора while).
Лістинг 4.10. Використання оператора for
using System;
namespace ConsoleApplicationl
{
class Classl
{
static void Main()
{
double Xn = -2, Xk = 12, dX = 2, t = 2, y;
Console.WriteLine( " | x | у |" );
for (double x = Xn; x <= Xk; x += dX)
{
y = t;
if (x >= 0 && x < 10) y = t * x;
if (x >= 10) y = 2 * t;
Console.WriteLine(" | {0,6} | {1,6} |", x, y);
}
}
}
}
Як бачите, в цьому варіанті програми все управління цілком зосереджене в його заголовку. Це робить програму зрозуміліше. Крім того, зоною дії службової змінної х є цикл, а не вся функція, як це було в лістингу 4.5, що переважно, оскільки змінна х поза циклом не потрібна.
Будь-який цикл while може бути приведений до еквівалентного йому циклу for і навпаки.