Операторы управления потоком выполнения программы (break, continue, return, goto). Назначение, синтаксис описания, примеры.

Оператор break

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

int i;

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

{

if (i > 5)

break;

System.Console.WriteLine("{0}",i);

}

System.Console.ReadLine();

На экран в итоге выведется 0 1 2 3 4 5

Оператор continue

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

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

{

if (i<9)

{

continue;

}

Console.WriteLine(i);

}

Оператор return

Оператор return организует возврат из метода. Его можно также использовать для возврата значения. Имеются две формы оператора return: одна — для методов типа void, т.е. тех методов, которые не возвращают значения, а другая — для методов, возвращающих конкретные значения.

class ReturnTest

{

static double CalculateArea(int r)

{

double area = r*r*Math.PI;

return area;

}

static void Main()

{

int radius = 5;

double result = CalculateArea(radius);

Console.WriteLine(“The area is {0:0.00}”, result);

Console.WriteLine(“Press any key to exit.”);

Console.ReadKey();

}

}

Оператор goto

Имеющийся в С# оператор goto представляет собой оператор безусловного перехода. Когда в программе встречается оператор goto, ее выполнение переходит непосредственно к тому месту, на которое указывает этот оператор. Он уже давно "вышел из употребления" в программировании. Главный недостаток оператора goto с точки зрения программирования заключается в том, что он вносит в программу беспорядок и делает ее практически неудобочитаемой. Для выполнения оператора goto требуется метка — действительный в С# идентификатор с двоеточием. Метка должна находиться в том же методе, где и оператор goto, а также в пределах той же самой области действия.

Пример использования оператора goto:

class Program

{

static void Main(string[] args)

{ // Обычный цикл for выводящий числа от 1 до 5

Console.WriteLine("Обычный цикл for:");

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

Console.Write("\t{0}",i); // Реализуем то же самое с помощью оператора goto

Console.WriteLine("\n\nА теперь используем goto:");

int j = 1;

link1:

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

j++;

if (j <= 5) goto link1;

Console.ReadLine();

}

}

}

Класс Math. Назначение, основные поля и методы. Примеры.

Кроме переменных и констант, первичным материалом для построения выражений являются функции. Класс Math из пространства имен System содержит статические методы для работы с тригонометрическими, логарифмическими и другими математическими функциями. Практически все функции перегружены и принимают различные типы параметров, например: double, float, int и т.д. Этот класс содержит два статических поля, задающих константы E и PI, а также 23 статических метода. Методы задают:

· тригонометрические функции - Sin, Cos, Tan;

· обратные тригонометрические функции - ASin, ACos, ATan, ATan2 (sinx, cosx);

· гиперболические функции - Tanh, Sinh, Cosh;

· экспоненту и логарифмические функции - Exp, Log, Log10;

· модуль, корень, знак - Abs, Sqrt, Sign;

· функции округления - Ceiling, Floor, Round;

· минимум, максимум, степень, остаток - Min, Max, Pow, IEEEReminder.

double angle = 180.0;

double sinAngle = Math.Sin(angle);

double cosAngle = Math.Cos(angle);

double res;

// res = (cos(angle) + x2)/( angle + 1)

res = (Math.Cos(angle) + Math.Pow(x, 2))/(Math.Sqrt(angle) + 1);