Оператор for

Оператор счетного цикла for представляет собой удобную конструкцию, позволяющую выполнить некоторое действие заданное количество раз. Он имеет такой синтаксис:

for (<Инициализация_счетчиков>; <Условие>; <Изменение_счетчиков>) <Оператор>

Здесь for — зарезервированное слово; <Инициализация_счетчиков> — присваивание счетчикам цикла начальных значений; <Условие> — условное выражение, определяющее продолжительность выполнения цикла; <Изменние_счетчиков> — выражения, определяющие изменение счетчиков цикла после каждой итерации; <Оператор> — тело цикла.

Цикл имеет одну или несколько целочисленных переменных, которые называются счетчиками цикла. Перед началом цикла им присваиваются некоторые начальные значения, затем проверятся истинность условия <Условие>: если условие истинно, выполняется тело цикла, после чего счетчики изменяют свои значения. Если условие ложно, оператор завершает свою работу.

Таким образом, в отличие от счетных операторов других языков программирования, с циклом можно связать несколько счетчиков. В большинстве случаев имеется единственный счетчик, но возможность использования нескольких счетчиков может оказаться весьма полезной особенностью цикла for. Для примера в листинге 7.1 представлена программа, анализирующая строку на предмет поиска палиндрома (файл Ch07\DemoFor\Program.cs). Палиндромом называется симметричная строка, одинаково читающаяся как слева направо, так и справа налево. Например: «шалаш», «казак», «а роза упала на лапу Азора».

Листинг 7.1. Анализ палиндрома

using System;

class For_Demo

{

public static bool PalindromTest(string s)

{

for (int i = 1, j = s.Length - 1; i < j; i++, j--)

if (s[i] != s[j])

return false;

return true;

}

static void Main()

{

string s;

Console.WriteLine("Анализ палиндромов\n\nВведите строку:");

s = Console.ReadLine();

if (PalindromTest(s))

Console.WriteLine("Эта строка не палиндром");

else Console.WriteLine("Эта строка - палиндром");

Console.ReadLine();

}

}

В этой простой программе с циклом связываются два счетчика — i и j. Первый монотонно нарастает и определяет индекс левого проверяемого символа строки, другой монотонно уменьшается и определяет индекс правого символа. Цикл завершится, когда после очередной итерации оба счетчика будут содержать одинаковые значения.

Обратите внимание — переменные-счетчики в нашем примере объявляются непосредственно в цикле, поэтому после завершения цикла они недоступны (их область видимости — тело цикла). Если в программе возникнет необходимость досрочного завершения цикла с помощью оператора break или другого оператора перехода, счетчики следует объявлять до цикла. В этом случае после срабатывания оператора перехода можно, при необходимости, проанализировать их значения.

Предлагаю ознакомиться с аналогичными статьями: