Применение операторов: «for» и «while» 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Применение операторов: «for» и «while»



Применение операторов: «for» и «while»

 

Операторы циклов

 

В С# имеются четыре различных вида циклов (for, while, do-while и foreach), позволяющие выполнять блок кода повторно до тех пор, пока удовлетворяется определенное условие. В этой статье мы познакомимся с циклами for и while.

Цикл for

Цикл for в С# предоставляет механизм итерации, в котором определённое условие проверяется перед выполнением каждой итерации. Синтаксис этого оператора показан ниже:

for (<инициализатор>; <условие>; <итератор>)

{

// Код цикла выполняющийся при каждой итерации

// Оператор или операторы

}

 

Здесь: инициализатор ― это выражение, вычисляемое перед первым выполнением тела цикла (обычно инициализация локальной переменной в качестве счетчика цикла). Инициализация, как правило, представлена оператором присваивания, задающим первоначальное значение переменной, которая выполняет роль счетчика и управляет циклом;

Условие― это выражение, проверяемое перед каждой новой итерацией цикла (должно возвращать true, чтобы была выполнена следующая итерация).

Итератор ― выражение, вычисляемое после каждой итерации (обычно приращение значения счетчика цикла).

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

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

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace LC_Console

{

class Program

{

// Данный метод выводит таблицу умножения

// размерностью b x b

static void tab(byte b)

{

Console.WriteLine("Таблица умножения {0} x {0}\n", b);

// Этот цикл проходит по строкам

for (int i = 1; i <= b; i++)

{

// Этот цикл проходит по столбцам

for (int j = 1; j <= b; j++)

Console.Write("{0}\t", j * i);

Console.WriteLine();

}

Console.WriteLine();

}

 

static void Main(string[] args)

{

tab(8);

// Применение нескольких переменных управления циклом

for (byte i = 0, j = 20; i <= j; i += 5, j -= 5)

Console.WriteLine("i = {0}, j = {1}", i, j);

Console.WriteLine();

// Использование условного выражения в цикле

bool b = false;

for (byte i = 1, j = 100;!b; i++, j--)

if (i < Math.Sqrt(j))

Console.WriteLine("Число {0} меньше квадратного корня из {1}", i, j);

else b = true;

// Отсутствие части цикла

int k = 0;

for (; k < 10;)

{

k++;

Console.Write(k);

}

Console.WriteLine("\n");

// Цикл без тела

int sum = 0;

for (int i = 1; i <= 10; sum += ++i);

Console.WriteLine("Значение суммы: {0}", sum);

Console.WriteLine("Для продолжения нажмите любую клавишу... ");

Console.ReadKey();

}

}

}

 

Рис. 2. 1. Результат работы кода выше

 

Цикл while

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

 

while (<условие>)

{

// Код выполняющийся пока активно условие

// Оператор или операторы

}

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

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

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace LC_Console

{

class Program

{

static void Main(string[] args)

{

// Пример возведения числа в несколько степеней

byte l = 2, i = 0;

int result = 1;

 

while (i < 10)

{

i++;

result *= l;

Console.WriteLine("{0} в степени {1} равно {2}", l, i, result);

}

Console.WriteLine("Для продолжения нажмите любую клавишу... ");

Console.ReadKey();

}

}

}

 

Рис. 3. 1. Результат работы кода выше



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 302; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.140.185.147 (0.006 с.)