Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Перечисление




Перечислимым называют тип, в котором описан набор пар, состоящих из символьного имени (набора именованных констант, который называется списком перечислителя) и числового значения. Перечислимые типы относятся к типам значениям. Ключевое слово enum используется для объявления перечисления. По умолчанию первому перечислителю задано значение, равное нулю, а значение каждого последующего оператора увеличивается на 1.

Пример

using System;

class Program

{

enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri };

static void Main()

{

Console.WriteLine(Days.Tue);

Console.WriteLine((int)Days.Tue);

}

}

В результате программа распечатает на экране

Tue

 

Пример использования перечисления см. также в п. 5 (Пример 5.5).

 

1.7. Основные операторы

 

К основным операторам отнесем операторы, которые позволяют описать типовые структуры алгоритмов:

условный оператор if реализует разветвление, т.е. переход на тот или другой блок (последовательность операторов) кода,

оператор цикла for реализует циклы с известным количеством повторений,

операторы цикла while и do-while реализуют циклы по условию (while – с предусловием, do – с постусловием),

оператор цикла foreach используется для организации последовательной обработки элементов массива, рассматривается в п. 3,

оператор выбора switch осуществляет выбор одного из нескольких фрагментов программы в зависимости от значения переменной или выражения,

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

Перечисленные операторы являются управляющими операторами, т.к. они управляют последовательностью исполнения строк программы.

К группе основных операторов отнесем также оператор присваивания, при помощи которого происходят изменения значений переменных программы (этот оператор рассмотрен выше).

Рассмотрим более подробно каждый из перечисленных операторов.

1.7.1. Условный оператор if позволяет выбрать одну из двух ветвей вычислительного процесса

Общий вид оператора

 

if (выражение)

{

Операторы1;

}

[Else

{

Операторы2;

}]

Выражение в скобках после if является логическим выражением, значением которого является одно из двух логических значений true (истина) или false (ложь). В первом случае выполняются Операторы1, во втором – Операторы2. Вторая ветвь (Операторы2) может отсутствовать. Об этом говорит наличие квадратных скобок в определении оператора. (То, что заключено в квадратные скобки, не является обязательным.) После выполнения какой-либо одной из ветвей условный оператор считается выполненным. Наличие фигурных скобок не является обязательным, если какая-либо ветвь содержит один оператор, в котором нет объявления переменных. Однако, рекомендуется фигурные скобки использовать всегда, что делает структуру программы более наглядной.

Например,

int i = 1, x;

if (i <= 10)

{

x = 5;

}

else

x = 0;

Console.WriteLine(x);

Если требуется выполнить более одного оператора после if или после else, то их все обязательно помещают внутри скобок {}. Эти операторы образуют блок. Например,

int i = 15, x;

if (i <= 10)

{

x = 5;

Console.WriteLine(x);

}

else

{

x = 2;

Console.WriteLine(x);

}

Каждый из двух блоков условного оператора (наличие обоих блоков необязательно) может содержать любые операторы, в том числе условные операторы. Если условный оператор входит в состав блока Операторы1, выполняемого после if, то он записывается и выполняется по общим правилам. Если проверка условия осуществляется после else, то используется оператор else if (условие), использование которого демонстрирует следующая схема:

 

if (условие1)

{

Операторы1;

}

else if (условие2)

{

Операторы2;

}

[else

{

Операторы3;

}]

Если истинно условие1, то выполняются Операторы1 и условный оператор заканчивает работу. Если условие1 ложно, то проверяется условие2, и, если оно истинно, то выполняются Операторы2, в противном случае выполняются Операторы3, если присутствует последний else,или конструкция не выполняет никаких действий. Последний else всегда относится к последнему if, для которого еще не было соответствующего else. Например,

int a = -4, x = 0;

if (a > 5)

x = 1;

else if (a > 0)

x = 2;

else

x = 3;

Console.WriteLine(x);

В результате при a = 3 будет x = 2; при a = - 4 будет x = 3.

Замечания. 1. В рассмотренном примере после каждого условия следует один оператор и фигурные скобки необязательны.

2. В языке C# существует упрощенный вариант записи условного оператора, называемый оператором проверки, который можно использовать в выражении. Общий вид оператора проверки

(условие)? значение1: значение2;

Например,

int i = 4>m? 6: 8;

Здесь, если, например, m = 9, то условие не выполняется (имеет значение false) и переменной i будет присвоено значение 8. При использовании оператора проверки следует помнить о правилах приоритета, т.к. в этом операторе могут использоваться арифметические, логические операторы и операторы отношений.

1.7.2. Оператор цикла for предназначен для выполнения одного оператора или группы (блока) операторов заданное количество раз.

Общий вид оператора for

 

for ([ инициализация]; [условие];[приращение])

{

Операторы;

}

Если в цикле выполняется один оператор, то фигурные скобки необязательны. Однако, их рекомендуется использовать и в этом случае для повышения наглядности. Например,

 

using System;

class Program

{

static void Main()

{

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

{

Console.WriteLine(i);

}

Console.ReadKey();

}

}

В последовательные строки будут выведены натуральные числа от 1 до 5.

Оператор for выполняется следующим образом: переменной цикла i присваивается начальное значение 1. Проверяется условие. Здесь при i = 1 оно выполняется (имеет значение true). Далее выполняется оператор в цикле и на консоль выводится значение 1. Затем i увеличивается на 1 и снова проверяется условие, И так до тех пока не станет i > 5 (условие получает значение false) и происходит выход из цикла. Заметим, что первая проверка условия производится перед первым выполнением оператора (операторов), расположенных после for и таким образом возможна ситуация, когда этот оператор (операторы) не будет выполнен ни разу. Цикл for относится к циклам с предусловием.

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

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

{

if (i <= 5)

break;

Console.WriteLine(i);

}

Console.ReadKey();

Здесь проверка условия происходит внутри цикла и прерывание выполнения цикла происходит при помощи оператора прерывания break. Оператор continue возобновляет выполнение цикла с первого оператора, игнорируя следующие за ним операторы. Например,

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

{

Console.WriteLine(i);

if (i<=5)

continue;

else

break;

}

Console.ReadKey();

Здесь пока i не достигло 5 цикл возобновляет свою работу с самого начала. При i>5 выполнение цикла прервется оператором break.

Примеры использования цикла for в программах см. также в п. 2.

1.7.3. Оператор while реализует цикл по условию с проверкой условия до первого прохождения цикла (цикл с предусловием). В отличии от цикла for количество проходов цикла while неизвестно до начала выполнения цикла. Общий вид цикла

While (условие)

{

Операторы

}

Операторы выполняются пока условие имеет значение true. Например:

 

using System;

class Program

{

static void Main()

{

int i = 1;

while (i<6)

{

Console.WriteLine(i);

i++;

}

Console.ReadKey();

}

}

 

В последовательные строки выводятся числа от1 до 5.

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

1.7.4. Операторы цикла do-while реализуют цикл по условию с проверкой условия после первого прохождения цикла (цикл с постусловием). Общий вид цикла

do

{

Операторы

}

While (условие);

Операторы выполняются до тех пор пока условие имеет значение true. Например:

using System;

class Program

{

static void Main()

{

int i = 1;

do

{

Console.WriteLine(i);

i++;

}

while (i < 6);

Console.ReadKey();

}

}

Результат выполнения программы будет тот же, что и в предыдущем примере.

Цикл можно прервать оператором break. Для перехода непосредственно к оператору вычисления выражения While (проверке условия) используется оператор continue.

Примеры программ с использованием циклов по условию см. в п.2.

 

1.7.5. Оператор выбора switch обеспечивает выполнение одного из многих фрагментов программы (блоков), расположенных последовательно друг за другом, в зависимости от значения некоторой переменной или выражения целочисленного типа. Общий вид оператора

switch (выражение)

{

case n1:

Операторы1

break;

case n2:

Операторы2

break;




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 314; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.044 сек.