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

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

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

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

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

В приведенном выше примере оператором зи№ссп управляла перемеииая 1 типа 1пс. Как поясиялось ранее, для управления оператором зигссЬ может быть использоваио вы- славе 5, упраеллющие операторы 123 ражение любого целочисленного типа, включая и сЬаг. Ниже приведен пример примене- ния выражения и констант выбора типа сЬаг в операторе зизссЬ. // Испольэовать элементы типа спаг для управления // оператором ви1ссп.

пвьпо Яузсели с1авз ЯигссЬВето2 ( всастс уо1с( На1п() ( спаг спт лог(оп='Л'т оп<= 'Е'т сп.н.) ви1ссЬ(СЬ) ( саве 'й'с Сопзо1е.иггсеньпе("сЬ ЬгеаКт сазе 'В': Сопзо1е.ИггпеЬ1пе("сп ЬгеаК; сазе 'С': Сопзо1е.ИгесеЬ1пе("с)т Ьгеа)с) саве 'Р': Сопво1е.иг1севгпе("сЬ Ьгеа)с; сазе 'Е': Сопзо1е.иг1сеЬ1па("сп Ьгеа)ст содержит а")) содержит В") содержит С")) содержит В") содержит Е") Вот какой результат дает выполнение этой программы: СЬ содержит Л сЬ содержит В сп содержит С сп содержит В сп содержит Е Обратите внимание в данном примере на отсутствие ветви с)егаи1Ь в операторе ви1ссь. Напомним, что ветвь с)егап1с не является обязательной. Когда она не нужна, ее можно просто опустить. Переход последовательности операторов, связанных с одной ветвью сазе, в следующую ветвь сазе считается ошибкой, поскольку в С(т должно непременно соблюдаться правило недопущения "провалов" в передаче управления ходом выполнения программы.

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

Последовательность 124 часть (. язык Сз операторов в ветви с(еуап11 также должна быть лишена "провалов", поэтому она завершается, как правило, оператором )огеа)г. Правило недопущения "провалов" относится к тем особенностям языка С(г, которыми он отличается от С, С++ и Зава. В этих языках программирования одна ветвь саяе может переходить (т.е. "проваливаться") в другую.

Данное правило установлено в С() для ветвей саяе по двум причинам. Во-первых, оно дает компилятору возможность свободно изменять порядок следования последовательностей операторов из ветвей саяе для целей оптимизации. Такая реорганизация была бы невозможной, если бы одна ветвь саяе могла переходить в другую. И во-вторых, требование завершать каждую ветвь саяе явным образом исключает непроизвольные ошибки программирования, допускающие переход одной ветви саяе в другую. Несмотря на то что правило недопущения "провалов" не допускает переход одной ветви саяе в другую, в двух или более ветвях саяе все же разрешается ссылаться с помощью меток на одну и ту же кодовую последовательность, как показано в следующем примере программы. // Пример "проваливания" пустых ветвей саве.

овьпп Зувгет; с1авя Еиргусаяевсапга11 ( всагьс уо1к( Ма1п () ( 1пс 1; Гог(1=1; 1 < 54 1++) вн1ссп(1) ( саве 1: саве 2: саяе 3: Сопво1е.игьгецьпе("1 равно 1, 2 или 3"); ыеахп саве 4: Сопво1е.нг1гецьпе("1 равно 4"): ьгеахп Ниже приведен результат выполнения этой программы. 1 равно 1, 2 или 3 1 равно 1, 2 или 3 1 равно 1, 2 или 3 1 равно 4 Бели значение переменной 1 в данном примере равно 1, 2 или 3, то выполняется первый оператор, содержащий вызов метода Иг1гернпе () .

Такое расположение нескольких меток ветвей саяе подряд не нарушает правило недопущения "провалов", поскольку во всех этих ветвях используется одна и та же последовательность операторов. Расположение нескольких меток ветвей саяе подряд зачастую применяется в том случае, если у нескольких ветвей имеется общий код. Благодаря этому исключается излишнее дублирование кодовых последовательностей. Глаеа 5, Улраеллющие операторы 125 Вложенные операторы вой.~со Один оператор янггсЬ может быть частью последовательности операторов другого, внешнего оператора яы1гсЬ. И такой оператор янйссЬ называется вложенным.

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

Ниже приведена общая форма оператора гог для повторного выполнения единственного оператора. Гсг(инициализация) условие; итерация) оператор; А вот как выглядит его форма для повторного выполнения кодового блока. Гог(инициализация) условие; итерация) ( послепонательность операторов; где инициализация, как правило, представлена оператором присваивания, задающим первоначальное значение переменной, которая выполняет роль счетчика и управляет циклом; условие — это логическое выражение, определяющее необходимость повторения цикла; а итерация — выражение, определяющее величину, на которую должно изменяться значение переменной, управляющей циклом, при каждом повторе цикла.

Обратите внимание на то, что зти три основные части оператора цикла лог должны быть разделены точкой с запятой. Выполнение цикла лог будет продолжаться до тех пор, пока проверка условия дает истинный результат. Как только эта проверка даст ложный результат, цикл завершится, а выполнение программы будет продолжено с оператора, следуюшего после цикла Гог. Цикл гог может продолжаться как в положительном, так и в отрицательном направлении, изменяя значение переменной управления циклом на любую величину. В приведенном ниже примере программы выводятся числа, постепенно уменьшающиеся от 100 до -100 на величину 5.

126 Часть ). Язык СЗ // Выполнение цикла Гог в отрицательном направлении. ияьпд Зуясепц с1аяя Вестгот ( ягаггс чогб иаьп() ( ьпс хь Гог(х = 100) х > -100) х -= 5) Сопяо1е.ыгтгеввпе(х) ) В отношении циклов гог следует особо подчеркнуть, что условное выражение всегда проверяется в самом начале цикла.

Это означает, что код в цикле может вообще ие выполияться, если проверяемое условие с самого начала оказывается ложным. Рассмотрим следующий пример: Рог(соипс=10) соипг < 5) соипс++) х += соипг) // этот оператор не будет выполняться Этот цикл вообще ие будет выполияться, поскольку первоначальное значение перемеииой соипс, которая им управляет, сразу же оказывается больше 5. Это означает, что условное выражение соипс < 5 оказывается ложным с самого начала, т.е. еще до выполнения первого шага цикла. Оператор цикла гог — наиболее полезный для повторного выполнения операций известное число раз.

В следующем примере программы используются два цикла гог для выявления простых чисел в пределах от 2 до 20. Если число оказывается непростым, то выводится наибольший его множитель. // Выяснить, является лн число простым. Если оно // непростое, вывести наибольший его мноямтель. иягпд зуягев) с1аяя Ггпбргьвея ( ясасгс чоки Маги() ( гпс пипи ьпс 1) гпс Гассог) Ьоо1 гярггве) Гог(пив = 2) пив < 20) пивьь) гярггве = Ггие) Гассог = О) // Выяснить, делится лн значение переменной // пив нацело. Гог(1=2; 1 < пив/2; 1++) ( 1Г((пив Ъ 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
Средний доход
с одного платного файла
Обучение Подробнее