Читаем C# 4.0: полное руководство полностью

Нередко переменная, управляющая циклом for, требуется только для выполнения самого цикла и нигде больше не используется. В таком случае управляющую переменную можно объявить в инициализирующей части оператора цикла for. Например, в приведенной ниже программе вычисляется сумма и факториал чисел от 1 до 5, а переменная i, управляющая циклом for, объявляется в этом цикле.


// Объявить переменную управления циклом в самом цикле for.

using System;

class ForVar {

  static void Main() {

    int sum = 0;

    int fact = 1;

    // вычислить факториал чисел от 1 до 5

    for(int i = 1; i <= 5; i++)    {

      sum += i; // Переменная i действует в цикле,

      fact *= i;

    }

    // А здесь переменная i недоступна.

    Console.WriteLine("Сумма равна " + sum);

    Console.WriteLine("Факториал равен " + fact);

  }

}


Объявляя переменную в цикле for, не следует забывать о том, что область действия этой переменной ограничивается пределами оператора цикла for. Это означает, что за пределами цикла действие данной переменной прекращается. Так, в приведенном выше примере переменная i оказывается недоступной за пределами цикла for. Для того чтобы использовать переменную управления циклом в каком-нибудь другом месте программы, ее нельзя объявлять в цикле for.

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


Оператор цикла while

Еще одним оператором цикла в C# является оператор while. Ниже приведена общая форма этого оператора:


while (условие) оператор;


где оператор — это единственный оператор или же блок операторов, а условие означает конкретное условие управления циклом и может быть любым логическим выражением. В этом цикле оператор выполняется до тех пор, пока условие истинно. Как только условие становится ложным, управление программой передается строке кода, следующей непосредственно после цикла.

Ниже приведен простой пример программы, в которой цикл while используется для вычисления порядка величины целого числа.


// Вычислить порядок величины целого числа,

using System;

class WhileDemo {

  static void Main() {

    int num;

    int mag;


    num = 435679;

    mag = 0;

    Console.WriteLine("Число: " + num);

    while(num > 0) {

      mag++;

      num = num / 10;

    };

    Console.WriteLine("Порядок величины: " + mag);

  }

}


Выполнение этой программы дает следующий результат.


Число: 435679

Порядок величины: 6


Приведенный выше цикл while действует следующим образом. Сначала проверяется значение переменной num. Если оно больше нуля, то переменная mag, выполняющая роль счетчика порядка величины, инкрементируется, а значение переменной num делится на 10. Цикл повторяется до тех пор, пока значение переменной num остается больше нуля. Как только оно окажется равным нулю, цикл завершается, а в переменной mag остается порядок величины первоначального числового значения.

Как и в цикле for, в цикле while проверяется условное выражение, указываемое в самом начале цикла. Это означает, что код в теле цикла может вообще не выполняться, а также избавляет от необходимости выполнять отдельную проверку перед самим циклом. Данное свойство цикла while демонстрируется в следующем примере программы, где вычисляются целые степени числа 2 от 0 до 9.


// Вычислить целые степени числа 2.

using System;

class Power {

  static void Main() {

    int e;

    int result;

    for (int i=0; i < 10; i++) {

      result = 1;

      e = i;

      while (e > 0) {

        result *= 2;

        e--;

      }

      Console.WriteLine ("2 в степени " + i + " равно " + result);

    }

  }

}


Результат выполнения этой программы приведен ниже.


2 в степени 0 равно 1

2 в степени 1 равно 2

2 в степени 2 равно 4

2 в степени 3 равно 8

2 в степени 4 равно 16

2 в степени 5 равно 32

2 в степени 6 равно 64

2 в степени 7 равно 128

2 в степени 8 равно 256

2 в степени 9 равно 512


Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных