Главная » Просмотр файлов » Г. Шилдт - Полный справочник по C#

Г. Шилдт - Полный справочник по C# (1160789), страница 21

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

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

Другими словами, отних не будет никакого вреда, но зато сколько пользы! Ведь они помогут прояснить(для вас самих в первую очередь, не говоря уже о тех, кому придется разбираться вэтом без вас) точный порядок вычислений. Скажите, например, какое из следующихдвух выражений легче понять?х = y/3-34*temp+127;X = (у/3) - (34*temp) + 127;Приоритет операторовВ табл. 4.2 показан порядок выполнения С#-операторов (от высшего до самогонизкого). Эта таблица включает несколько операторов, которые описаны далее.Таблица 4.2. Приоритет С#-операторовНаивысший( ) [ ] . ++(постфиксный)—(постфиксный) c h e c k e d new s i z e o f!- Операторы приведения*/ %<<=>>=typeofuncheckedтипа +(унарный) -(унарный) ++(префиксный)—(префиксный)isI&&IIНизшийГлава 4. Операторы101Полныйсправочник поИнструкции управленияВэтой главе рассматриваются инструкции управления ходом выполнения С#программы.

Существует три категории управляющих инструкций: инструкциивыбора (if, switch), итерационные инструкции (состоящие из for-, while-, d o while- и foreach-циклов) и инструкции перехода (break, c o n t i n u e , goto, r e t u r n иthrow). За исключением инструкции throw, которая является частью С#-механизмаобработки исключительных ситуаций (и рассматривается в главе 13), все остальныеперечисленные выше инструкции описаны в этой главе.Инструкция i fИнструкция i f была представлена в главе 2, но здесь мы рассмотрим ее более детально.

Полный формат ее записи такой:if(условие) инструкция;else инструкция?Здесь под элементом инструкция понимается одна инструкция языка С#. Частьe l s e необязательна. Вместо элемента инструкция может быть использован блок инструкций. В этом случае формат записи if-инструкции принимает такой вид:if (условие)последовательность инструкцийelseпоследовательность инструкцийЕсли элемент условие, который представляет собой условное выражение, при вычислении даст значение ИСТИНА, будет выполнена if-инструкция; в противномслучае — else-инструкция (если таковая существует). Обе инструкции никогда невыполняются.

Условное выражение, управляющее выполнением if-инструкции,должно иметь тип bool.Рассмотрим простую программу, в которой используется if-else-инструкция дляопределения того, является число положительным или отрицательным.// Программа определяет, является число положительным// или отрицательным.using System;class PosNeg {public s t a t i c void Main() {inti;for(i=~5; i <=* 5;Console.Write("Тестирование " + i + ": ") ;if(i < 0) Console.WriteLine("Число отрицательно"else Console.WriteLine("Число положительно");Глава 5. Инструкции управления103Результаты выполнения программы выглядят так:Тестирование -5: Число отрицательноТестирование - 4 : Число отрицательноТестирование -3: Число отрицательноТестирование - 2 : Число отрицательноТестирование -1: Число отрицательноТестирование 0: Число положительноТестирование 1: Число положительноТестирование 2: Число положительноТестирование 3: Число положительноТестирование 4: Число положительноТестирование 5: Число положительноЕсли оказывается, что в этом примере значение переменной i меньше нуля, выполняется if-инструкция (выводится "диагноз": Число отрицательно); в противномслучае — else-инструкция (выводится "диагноз": Число положительно).

Обе инструкции вместе ни при каких условиях выполнены не будут.Вложенные if-инструкцииВложенные if-инструкции образуются в том случае, если в качестве элемента инструкция (см. полный формат записи) используется другая if-инструкция. Вложенные if-инструкции очень популярны в программировании. Главное здесь — помнить,что else-инструкция всегда относится к ближайшей if-инструкции, которая находится внутри того же программного блока, но еще не связана ни с какой другойelse-инструкцией. Вот пример:if(i == 10){if (j < 20)a = b;if(k> 100)с = d;else a = с; // Эта else-инструкция// относится к if(k > 100).}else a = d; // Эта else-инструкция относится к if(i == 10).Как утверждается в комментариях, последняя else-инструкция не связана с инструкцией i f (j < 20), поскольку они не находятся в одном блоке (несмотря на то чтоэта if-инструкция — ближайшая, которая не имеет при себе "else-пары").

Внутренняя else-инструкция связана с инструкцией i f (к > 100), поскольку она — ближайшая и находится внутри того же блока.В предыдущей программе нулевое значение тестируемой переменной интерпретировалось как положительное.

Однако в некоторых приложениях нуль рассматриваетсякак значение без знака. Поэтому в следующей версии программы, которая демонстрирует использование вложенных else-инструкций, нулю дается именно такая характеристика: "без знака".// Программа определяет, является число положительным,// отрицательным или нулем.using System;class PosNegZero {public static void Main() {int i;for(i=-5; i <= 5; i104Часть I.

Язык С#Console.Write("Тестирование " + i + ": " ) ;if(i < 0) Console.WriteLine("Число отрицательно");else if(i == 0) Console.WriteLine("Число без знака");else Console.WriteLine("Число положительно");Вот какие получаем результаты:ТестированиеТестированиеТестированиеТестированиеТестированиеТестированиеТестированиеТестированиеТестированиеТестированиеТестирование-5: Число отрицательно- 4 : Число отрицательно-3: Число отрицательно- 2 : Число отрицательно-1: Число отрицательно0: Число без знака1: Число положительно2: Число положительно3: Число положительно4: Число положительно5: Число положительноКонструкция i f - e l s e - i fОчень распространенной в программировании конструкцией, в основе которойлежит вложенная if-инструкция, является "лестница" i f - e l s e - i f .

Ее можно представить в следующем виде:if {условие)инструкция;else if{условие)инструкция;else if{условие)инструкция;elseинструкция;Здесь под элементом условие понимается условное выражение. Условные выражения вычисляются сверху вниз. Как только в какой-нибудь ветви обнаружится истинный результат, будет выполнена инструкция, связанная с этой ветвью, а вся остальная "лестница" опускается. Если окажется, что ни одно из условий не являетсяистинным, будет выполнена последняя else-инструкция (можно считать, что она выполняет роль условия, которое действует по умолчанию).

Если последняя e l s e инструкция не задана, а все остальные оказались ложными, то вообще никакое действие не будет выполнено.Работа if-else-if-''лестницы" демонстрируется в следующей программе, котораянаходит для заданного значения наименьший множитель (отличный от единицы и состоящий из одной цифры).// Определение наименьшего множителя,// состоящего из одной цифры.using System;Глава 5. Инструкции управления105class Ladder {public s t a t i c void Main() {int num;for(num = 2; num < 12; num++) {if((num % 2) == 0)Console.WriteLine("Наименьший множитель числа " +num + " равен 2 .

" ) ;else if((num % 3) == 0)Console.WriteLine("Наименьший множитель числа " +num + " равен 3 . " ) ;else if((num % 5) == 0)Console.WriteLine("Наименьший множитель числа " +num + " равен 5.");else if((num % 7) == 0)Console.WriteLine("Наименьший множитель числа " +num + " равен 7.");elseConsole.WriteLine(num +" не делится на 2, 3, 5 или 7 . " ) ;Результаты выполнения этой профаммы выглядят так:Наименьший множитель числа 2 равен 2.Наименьший множитель числа 3 равен 3.Наименьший множитель числа 4 равен 2.Наименьший множитель числа 5 равен 5.Наименьший множитель числа б равен 2.Наименьший множитель числа 7 равен 7.Наименьший множитель числа 8 равен 2.Наименьший множитель числа 9 равен 3.Наименьший множитель числа 10 равен 2.11 не делится на 2, 3, 5 или 7.Как видите, последняя else-инструкция выполняется только в том случае, если невыполнилась ни одна из предыдущих if-инструкций.ИНСТРУКЦИЯ s w i t c hВторой инструкцией выбора является switch.

Инструкция switch обеспечиваетмногонаправленное ветвление. Она позволяет делать выбор одной из множества альтернатив. Хотя многонаправленное тестирование можно реализовать с помощью последовательности вложенных if-инструкций, для многих ситуаций инструкцияswitch оказывается более эффективным решением.

Она работает следующим образом. Значение выражения последовательно сравнивается с константами из заданногосписка. При обнаружении совпадения для одного из условий сравнения выполняетсяпоследовательность инструкций, связанная с этим условием. Общий формат записиинструкции switch такой:switch(выражение) {case константа1:последовательность инструкцийbreak;case константа2:106Часть I. Язык С#последовательность инструкцийbreak;case константаЗ:последовательность инструкцийbreak;default:последовательностьbreak;инструкций}Элемент выражение инструкции switch должен иметь целочисленный тип(например, char, byte, s h o r t или i n t ) или тип s t r i n g (о котором речь пойдет нижев этой книге). Выражения, имеющие тип с плавающей точкой, не разрешены.

Оченьчасто в качестве управляющего switch-выражения используется просто переменная;case-константы должны быть литералами, тип которых совместим с типом заданноговыражения. При этом никакие две case-константы в одной switch-инструкции немогут иметь идентичных значений.Последовательность инструкций default-ветви выполняется в том случае, если ниодна из заданных case-констант не совпадет с результатом вычисления switchвыражения. Ветвь d e f a u l t необязательна. Если она отсутствует, то при несовпадении результата выражения ни с одной из case-констант никакое действие выполненоне будет.

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

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

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

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее