Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лекция Состав операторов языка C их синтаксис и семантика унаследованы от языка С

Работа добавлена на сайт samzan.net:


Лекция

Состав операторов языка C#, их синтаксис и семантика унаследованы от языка С++. Любое выражение, завершающееся точкой с запятой является оператором.

Блок или составной оператор

С помощью фигурных скобок несколько операторов языка (возможно, перемежаемых объявлениями) можно объединить в единую синтаксическую конструкцию, называемую блоком или составным оператором:

{

  оператор_1

  ...

  оператор_N

}

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

Пустой оператор

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

 for (int j=1; j<5; j++) //оператор цикла

      {;;;}; //пустой оператор

Она может рассматриваться как задержка по времени, работа на холостом ходе.

Операторы выбора (ветвления)

Как в С++ и других языках программирования, в языке C# для выбора одной из нескольких возможностей используются две конструкции - if и switch. Первую из них обычно называют альтернативным выбором, вторую - разбором случаев.

Оператор if

Синтаксис оператора if:

if(выражение_1) оператор_1;

else if(выражение_2) оператор_2

...

else if(выражение_K) оператор_K

else оператор_N

Выражения if должны заключаться в круглые скобки и быть булевого типа. По правилам синтаксиса языка С++, then-ветвь оператора следует сразу за круглой скобкой без ключевого слова then, типичного для большинства языков программирования. Каждый из операторов может быть блоком - в частности, if-оператором. Поэтому возможна и такая конструкция:

if(выражение1) if(выражение2) if(выражение3) ...

Ветви else и if, позволяющие организовать выбор из многих возможностей, могут отсутствовать. Может быть опущена и заключительная else-ветвь. В этом случае краткая форма оператора if задает альтернативный выбор - делать или не делать - выполнять или не выполнять then-оператор.

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

Примеры оператора if:

if (a<0) b=1;

if (a<b&& (a>d||a= =0) )  b=++; else {b*=a;a=0;}

if (a<b) if (a<c) m=a; else m=c; else if (b<c) m=b; else m=c;

Следует избегать проверки вещественных величин на равенство, вместо этого лучше сравнивать модуль их разности с некоторым малым числом:

float a,b;

if (a= =b) // не рекомендуется

if (Math.Abs(a-b)<1e-6)…//надежно!

Оператор switch (переключатель)

Частным, но важным случаем выбора из нескольких вариантов является ситуация, при которой выбор варианта определяется значениями некоторого выражения. Соответствующий оператор C#, унаследованный от C++, но с небольшими изменениями в синтаксисе, называется оператором switch. Вот его синтаксис:

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

{

  case константное_выражение_1: [операторы_1 оператор_перехода_1]

  ...

  case константное_выражение_K: [операторы_K оператор_перехода_K]

  [default: операторы_N оператор_перехода_N]

}

Выполнение оператора начинается с вычисления выражения. Тип выражения чаще всего целочисленный (включая char) или строковый. Затем управление передается первому оператору из списка, помеченному константным выражением, значение которого совпало с вычисленным.

Каждая ветвь переключателя должна заканчиваться явным оператором перехода, а именно оператором break, goto или return:

Выражение в switch должно иметь целочисленный тип (включая char) или строковый.

Ветвь default может отсутствовать. Заметьте, по синтаксису допустимо, чтобы после двоеточия следовала пустая последовательность операторов, а не последовательность, заканчивающаяся оператором перехода. Константные выражения в case должны иметь тот же тип, что и switch-выражение.

Семантика оператора switch такова. Вначале вычисляется значение switch-выражения. Затем оно поочередно в порядке следования case сравнивается на совпадение с константными выражениями. Как только достигнуто совпадение, выполняется соответствующая последовательность операторов case-ветви. Поскольку последний оператор этой последовательности является оператором перехода (чаще всего это оператор break), то обычно он завершает выполнение оператора switch. Если значение switch-выражения не совпадает ни с одним константным выражением, то выполняется последовательность операторов ветви default, если же таковой ветви нет, то оператор switch эквивалентен пустому оператору.

Разбор случаев - это часто встречающаяся ситуация в самых разных задачах. Применяя оператор switch, используйте его в правильном стиле. Заканчивайте каждую case-ветвь оператором break, но не применяйте goto.


Пример

using System;

namespace l1

{

   class Program

   {

       static void Main(string[] args)

       {

           int a, b, c;

           a = 2;

           b = 3;

           if (a < b) Console.WriteLine("a Меньше b");

              //Следующая инструкция ничего не отобразит на экране

           if (a == b) Console.WriteLine("Этого текста никто не увидит");

               Console.WriteLine();

           c=a-b;//Переменная с содержит -1

           Console.WriteLine("с содержит -1");

           if (c<0) Console.WriteLine("Значение с отрицательно");

           else if (c>=0) Console.WriteLine("Значение с неотрицательно");

           Console.WriteLine();

           c = b - a;//Переменная с содержит 1

           Console.WriteLine("с содержит 1");

           if (c < 0) Console.WriteLine("Значение с отрицательно");

           else Console.WriteLine("Значение с неотрицательно");

           Console.ReadKey();//Ожидание нажатия клавиши

       }

   }

}

Пример case

Console.WriteLine("Впиши номер Лабы");

           string y = Console.ReadLine(); считывание строки

           switch (Convert.ToInt16(y)) //Получение номера варианта

               {

               case 1:

                       laba1(); //Запуск функции лаба по работе с массивом двумерным

                       break;

               case 2: laba2();

                       break;

               case 3: laba3();

                       break;

               case 4: laba4(); //Лаба одномерный массив

                       break;

               case 5: laba5();

                       break;

               default : Console.WriteLine("Такой лабы нету повторите попытку");

                       break;

               }




1. Об образовании говорится о том что образовательное учреждение создает условия гарантирующие охрану и ук
2. Финансовая политика России на современном этапе
3. Основные фонды ~ произведенные активы используемые не однократно или постоянно в течении длительного
4. Лекция 16 РАЗДЕЛ III
5. FOUR ROOMS Screenply by llison nder
6. Человек рождается свободным но оказывается скованным цепями
7. Тема 2- Практична психологія як галузь професійної діяльності
8. тема- 1 1 Введение в менеджмент 1 2
9. Поэтому в походах выходного дня следует отрабатывать движение по азимуту по лесным массивам например пере
10. тематика Д. искусство география биология верны все ответы
11. Школа здоровья 384 Эстетическое развитие личности школ
12. Дипломная работа Имитационная модель автоматизированного участка обработки деталей
13. Тема 17 Оценка стоимости финансовых активов корпорации 2 ч
14. тема ведения и анализа графика исполненного движения
15. Введение Бесчисленные примеры непонятных и не поддающихся объяснению явлений происходящих на глазах за
16. Наша кожа состоит из нескольких слоев- эпидермис наружный слой дермис и подкожная ткань
17.  Личные качества Елена Уайт не была такой угрюмой как многие себе представляют Любительница красоты и пр
18. Электроника Электропроводность полупроводников
19. Центром некоторой линии называется такая точка плоскости по отношению к которой точки этой линии распо
20. черноногие18061831 г