КАТЕГОРИИ: Архитектура-(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) |
Оператор if
Пустой оператор Блок или составной оператор Лекция Состав операторов языка C#, их синтаксис и семантика унаследованы от языка С++. Любое выражение, завершающееся точкой с запятой является оператором. С помощью фигурных скобок несколько операторов языка (возможно, перемежаемых объявлениями) можно объединить в единую синтаксическую конструкцию, называемую блоком или составным оператором: { оператор_1... оператор_N}Синтаксически блок воспринимается как единичный оператор и может использоваться всюду в конструкциях, где синтаксис требует одного оператора. Тело цикла, ветви оператора if, как правило, представляются блоком. Пустой оператор - это "пусто", завершаемое точкой с запятой. Он используется когда по синтаксису оператор требуется, а по смыслу- нет. Иногда полезно рассматривать отсутствие операторов как существующий пустой оператор. Синтаксически допустимо ставить лишние точки с запятой, полагая, что вставляются пустые операторы. Например, синтаксически допустима следующая конструкция: for (int j=1; j<5; j++) //оператор цикла {;;;}; //пустой операторОна может рассматриваться как задержка по времени, работа на холостом ходе. Операторы выбора (ветвления) Как в С++ и других языках программирования, в языке C# для выбора одной из нескольких возможностей используются две конструкции - if и switch. Первую из них обычно называют альтернативным выбором, вторую - разбором случаев. Синтаксис оператора if: if(выражение_1) оператор_1;else if(выражение_2) оператор_2... else if(выражение_K) оператор_Kelse оператор_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; }
Дата добавления: 2014-01-05; Просмотров: 747; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |