Главная » Просмотр файлов » Г. Шилдт - С# 3.0 Полное руководство. 2010

Г. Шилдт - С# 3.0 Полное руководство. 2010 (1160798), страница 24

Файл №1160798 Г. Шилдт - С# 3.0 Полное руководство. 2010 (Г. Шилдт - С# 3.0 Полное руководство. 2010) 24 страницаГ. Шилдт - С# 3.0 Полное руководство. 2010 (1160798) страница 242019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 24)

Операторы 115 х=10/у*(127ьх)т х = 10 / у * (127 ь х)т Скобки могут служить для группирования подвыражений, по существу, повышая порядок предшествования заключенных в них операций, как в алгебре. Применение лишних или дополнительных скобок не приводит к ошибкам и не замедляет вычисление выражения. Поэтому скобки рекомендуется использовать, чтобы сделать более ясным и понятным порядок вычисления как для самого автора программы, так и для тех, кто будет разбираться в ней впоследствии.

Например, какое из двух приведенных ниже выражение легче читается? х = у/3-34*Сеирь1274 х = (у/3) — (34*сеир) ь 1274 Предшествование операторов В табл. 4.2 приведен порядок предшествования всех операторов в С№: от самого высокого до самого низкого. В таблицу включен ряд операторов, рассматриваемых далее в этой книге. Таблица 4.2. Предшеотвование операторов в С№ Нвтвпыиий порппок Нвиииипий передок ГЛАВА Управляющие операторы в этой главе речь пойдет об операторах, управляющих ходом выполнения программы на С)). Управляющие операторы разделяются на три категории: операторы выбора, к числу которых относятся операторы 1й и зивссп, итерационные операторы, в том числе операторы цикла йог, ип11е, бо-иЫ1е и 1огеасЬ, а также операторы перехода: Ьгеах, сопгхппе, оого, гегпгп и СЬгож За исключением оператора сьгои, который является неотъемлемой частью встроенного в С)) механизма обработки исключительных ситуаций, рассматриваемого в главе 13, все остальные управляющие операторы представлены в этой главе.

Оператор ~й Оператор 1й уже был представлен в главе 2, а здесь он рассматривается более подробно. Ниже приведена полная форма этого оператора. 1Г)условие) оператор; е1ве оператор; где условие — это некоторое условное выражение, а оператор — адресат операторов 1й и е1зе. Оператор е1зе не является обязательным. Адресатом обоих операторов, 1й и е1зе, могут также служить блоки операторов.

Ниже приведена общая форма оператора 1Г, в котором используются блоки операторов. хй)условие) ( последовательиость операторов ) е1ве ( последовательиость операторов ) Если условное выражение оказывается истинным, то выполняется адресат оператора Ей. В противном случае выполняется адресат оператора е1 ее, если таковой существуег. Но одновременно не может выполняться и то и другое. Условное выражение, управляющее оператором 1г, должно давать результат типа Ьоо1. 118 часть (. йзмк с№ Ниже приведен пример простой программы, в которой операторы 1г и е1зе используются для того, чтобы сообщить, является ли число положительным или отрицательным. // Определить, является ли числовое значение // цоложительннм или отрицательньвт.

сагнэ зузвеит с1ааз Розпеп ( атаС1с чо1т( Ма1п() ( 1пв 1) Гос(1=-5т 1 <= 5; 1++) ( Сопао1е.нттье("Проверка " + 1 + ": "); 1№(1 < 0) Сопао1е.нтааеьгпе("отрицательное число"); е1ае Сопао1е.нтгветгпе("положительное число"); ) ) Результат выполнения этой программы выглядит следующим образом: Проверка -5: отрицательное число Проверка -4: отрицательное число Проверка -3: отрицательное число Проверка -2: отрицательное число Проверка -1: отрицательное число Проверка О: положительное число Проверка 1: положительное число Проверка 2: положительное число Проверка 3: положительное число Проверка 4: положительное число Проверка 5: положительное число Если в данном примере значение переменной 1 оказывается меньше нуля, то выполнятся адресат оператора 1г.

В противном случае выполняется адресат оператора е1зе. Но одновременно не выполняется ни то ни другое. Вложенные операторы ~Е Вложенным называется такой оператор 1г, который является адресатом другого оператора 11 или же оператора е1зе. Вложенные операторы 11 очень часто применяются в программировании. Что же касается их применения в С№, то не следует забывать, что любой оператор е1зе всегда связан с ближайшим оператором 1т, т.е. с тем оператором 11, который находится в том же самом блоке, где и оператор е1зе, но не с другим оператором е1ае. Рассмотрим следующий пример.

11 (1 == 10) ( 1№(3 < 20) а = Ьт 11 ()< > 100) с С) е1ае а = с; // этот оператор е1ае связан с // оператором 11(К > 100) ) е1зе а = о) // этот оператор е1ае связан с // оператором 11(1 == 10) Глава 5. упраеяеюо(ве операторы 119 Как следует из комментариев к приведенному выше фрагменту кода, последний оператор е1яе не связан с оператором 1г (З < 20), поскольку они не находятся в одном и том же блоке, несмотря на то, что зтот оператор является для него ближайшим оператором 11 без вспомогательного оператора е1яе. Напротив, последний оператор е1яе связан с оператором 1г (1 == 10). А внутренний оператор е1яе связан с оператором 1г ()< > 100), поскольку зтот последний является для него ближайшим оператором 1г в том же самом блоке. В приведенном ниже примере программы демонстрируется применение вложенного оператора 11. В представленной ранее программе определения положительных и отрицательных чисел о нуле сообщалось как о положительном числе. Но, как правило, нуль считается числом, не имеющим знака.

Позтому в следующей версии данной программы о нуле сообщается как о числе, которое не является ни положительным, ни отрицательным. // Определить, является ли числовое значение // положительным, отрицательным или нулевым. цягпо Буяоепы с1аяя Рояыееяеко ( ягакгс чо1б Иатп() ( 1по 1; ток(1=-5т 1 <= 5; 1+т) ( Сопяо1е.икгсе("Проверка " т 1 + ": ")т 11(1 < О) СОПяО1Е.ИК1СЕП1ПЕ(жбтрнцатЕЛЬНОЕ ЧИСЛО" ); е1яе 11(1 == О) Сопяо1е.Икгое11пе("число без знака"); е1яе Сопяо1е.ик1те51пе("полояоттельное число"); ) ) ) Ниже приведен результат выполнения этой программы.

Конструкция ~й-елее-й.й В программировании часто применяется многосшулеичатая конструкция 11-е1яе-гг, состоящая нз вложенных операторов 11. Ниже'приведена ее общая форма. 11 ( условие) оператор) е1яе 11 (условие) оператор; е1яе 11 (условие) Проверка Проверка Проверка Проверка Проверка Проверка Проверка Проверка Проверка Проверка Проверка -5: отрицательное число -4: отрицательное число -3: отрицательное число -2: отрицательное число -1: отрицательное число 0: число без знака 1: положительное число 2: положительное число 3: положительное число 4: положительное число 5: положительное число 120 Часть (.

Язык С№ оператор; е1зе оператор; Условные выражения в такой конструкции вычисляются сверху вниз. Как только обнаружится истинное условие, выполняется связанный с ним оператор, а все остальные операторы в многоступенчатой конструкции опускаются. Если ни одно из условий не является истинным, то выполняется последний оператор е1зе, который зачастую служит в качестве условия, устанавливаемого по умолчанию. Когда же последний оператор е1зе отсутствует, а все остальные проверки по условию дают ложный результат, то никаких действий вообще не выполняется. В приведенном ниже примере программы демонстрируется применение многоступенчатой конструкции 11-е18 е-11.

В этой программе обнаруживается наименьший множитель заданного целого значения, состоящий из одной цифры. // Определить наименьший множитель заданного // целого значения, состояший из одной цифры. цвапч зувсеш) с1авв Ьаеп(ег ( всасас чо1п( Маап() ( Ьпс пппш Гог(пцш = 2) пцш < 12) пцшь+) ( 11((пцш а 2) == О) Сопво1е.нг1сеЬ1пе("Наименьший множитель числа " + пцш + " равен 2."); е1зе 11((ппш $ 3) == О) Сопво1е.Иг1сеь№пе("Наименьший множитель числа " + пцш + " равен 3.")т е1ве 11((пшп Ъ 5) == О) Сопво1е.ИгасеЬЬпе("Наименьший множитель числа " + ппш + " равен 5.")) е1зе 18((пцш й 7) == О) Сопзо1е.нг1сеЬ1пе("Наименьший множитель числа " + пап + " 1з 7.")) е1ве Сопво1е.иг1гецапе(пцш + " не делится на 2, 3, 5 или 7.")т ) ) ) Вот к какому результату приводит выполнение этой программы: Наименьший множитель числа 2 равен 2 Наименьший множитель числа 3 равен 3 Наименьший множитель числа 4 равен 2 Наименьший множитель числа 5 равен 5 Наименьший множитель числа б равен 2 Наименьший мнопоктель числа 7 равен 7 Наименьший множитель числа 8 равен 2 Глава 5, Управляющие операторы 121 Наименьший множитель числа 9 равен 3 Наименьший множитель числа 10 равен 2 11 не делится на 2, 3, 5 нли 7.

Как видите, последний оператор е1зе выполняется лишь в том случае, если не удается выполнить ни один из предыдущих операторов. Оператор ви~1сь Вторым оператором выбора в С№ является оператор зн)гсЬ, который обеспечивает многонаправленное ветвление программы. Следовательно, этот оператор позволяет сделать выбор среди нескольких альтернативных вариантов дальнейшего выполнения программы. Несмотря на то что многонаправленная проверка может быть организована с помощью последовательного ряда вложенных операторов 1Г, во многих случаях более эффективным оказывается применение оператора зм№ссЬ.

Этот оператор действует следующим образом. Значение выражения последовательно сравнивается с константами выбора из заданного списка. Как только будет обнаружено совпадение с одним из условий выбора, выполняется последовательность операторов, связанных с этим условием. Ниже приведена общая форма оператора зм)сстт. знгссЬ(нырзженне) ( сазе константа1: последовательность операторов Ьтеаит сазе константа2; последовательность аператорое Ьтеаам сазе константа3: последовательность операторов Ьтеащ Невач1тм последовательность операторов Ьтеаам Заданное выражение в операторе змйссЬ должно быть целочисленного типа (сЬаг, Ьусе, зпогс или 1пс), перечислимого или же строкового. (О перечислениях и символьных строках типа зсг1по речь пойдет далее в этой книге.) А выражения'других типов, например с плавающей точкой, в операторе зм1ссЬ не допускаются.

Зачастую выражение, управляющее оператором змььсЬ, просто сводится к одной переменной. Кроме того, константы выбора должны иметь тип, совместимый с типом выражения. В одном операторе зн1ссЬ не допускается наличие двух одинаковых по значению констант выбора. Последовательность операторов из ветви с3егао1ь выполняется в том случае, если ни одна из констант выбора не совпадает с заданным выражением. Ветвь стегао1Ь не является обязательной. Если же она отсутствует и выражение не совпадает ни с одним из условий выбора, то никаких действий вообще не выполняется. Если же происходит совпадение с одним из условий выбора, то выполняются операторы, связанные с этим условием, вплоть до оператора Ьгеак.

122 Часть). Язык С№ Ниже приведен пример программы, в котором демонстрируется применение оператора знтссп. // Продемонстрировать применение оператора зн1гсЬ. цзьпд Бузгеш; с1азз зиьгсвпешо ( зсас1с чоьб Маьп() ( ьпс 1; Гог(1=0) 1<10) 1++) зи1ссЬ (1) ( сазе 0: Сопзо1е.Иг1севьпе("1 Ьгеак; сазе 1: Сопзо1е.игьсепьпе("). Ьгеакк сазе 2: Сопзо1е.игькевьпе("). Ьгеавш сазе 3: Сопзо1е.иг1се11пе("1 Ьгеавш сазе 4: Сопзо1е.Иг1сепьпе("1 Ьгеа)<) бетао1Г: Сопзо1е.иг1ке11пе("1 Ьгеакп ) равно нулю"); равно единице") равно двум"); равно трем"); равно четырем"); равно или больше пяти"); Результат выполнения этой программы выглядит следуюшим образом.

Характеристики

Тип файла
DJVU-файл
Размер
6,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Г. Шилдт - С# 3.0 Полное руководство
C_sharp_3TCR_code
Apndx.lst
Chap2.lst
Chap3.lst
Chap4.lst
Chap5.lst
Chap6.lst
Chap7.lst
Chap8.lst
Chap9.lst
Chap10.lst
Chap11.lst
Chap12.lst
Chap13.lst
Chap14.lst
Chap15.lst
Chap16.lst
Chap17.lst
Chap18.lst
Chap19.lst
Chap20.lst
Chap21.lst
Chap22.lst
Chap23.lst
Chap24.lst
Chap25.lst
Chap26.lst
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее