Циклы. Прерывание выполнения цикла

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

С помощью оператора break можно в любой момент прервать цикл. Например, в следующем примере мы прервем работу цикла, если переменная i станет больше пяти

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

Безусловный переход

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

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

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();

}

}

}

Массивы. Одномерные массивы

Массивом называют упорядоченную совокупность одного типа. Каждый элемент массива имеет свой порядковый номер (индекс).

Количество элементов определяет размерность массива. Индексы элементов задаются целочисленным типом данных. Массивы бывают статические и динамические.

Объявление одномерного массива:

тип[ ] имя= new тип [количество элементов];

Объявление массива с отложенной инициализацией:

int[ ] d= new int[5]

Если элементы массива не задали при объявление массива они либо вычисляются, либо вводятся пользователем. Синтаксис объявления динамических массив совпадает с объявлением статических массивов. Выражение задающее количество элементов в динамическом массиве содержит переменные. Значения этих переменных должны быть заданы до объявление массива.

Пример:

static void Main(string[] args)

{

//объявление массивов

int[] x = { 5, 5, 6, 6, 7 };

int[] A = new int[5], B = new int[5], C = new int[5];

int i, j;

const int N = 5;

Random rand = new Random();

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

A[i] = rand.Next(10);

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

{

Массивы. Динамические массивы

Массивом называют упорядоченную совокупность одного типа. Каждый элемент массива имеет свой порядковый номер (индекс).

Количество элементов определяет размерность массива. Индексы элементов задаются целочисленным типом данных. Массивы бывают статические и динамические. Для статических массивов количество элементов задается константными выражениями, значения которых известны на этапе компиляции программы.

Динамические массивы позволяют определить количество элементов в процессе выполнения программы. Нумерация элементов в массиве начинается с 0. Синтаксис объявления динамических массивов совпадает с объявлением статических массивов. Выражение задающее количество элементов в динамическом массиве содержит переменные. Значения этих переменных должны быть заданы до объявления массива.

Пример:

static void Main(string[] args)

{

//объявление динамического массива A1

Console.WriteLine("Введите число элементов массива A1");

int size = Convert.ToInt32(Console.ReadLine());

int[] A1 = new int[size];

for (int i = 0; i < size; i++)

{

Console.Write("Введите элемент " + (i + 1) + ": ");

A1[i] = Convert.ToInt32(Console.ReadLine());

}

Console.Write("\n\nРезультат: \n");

for (int i = 0; i < size; i++)

Console.Write(" " + A1[i]);

Console.ReadKey();

}