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

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

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

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

Операторы 99 ) (Ы а Ь2) — Ггце Ы ) Ь2 — ггце Ьа — ггце Логические операторы в С№ выполняют наиболее распространенные логические операции. Тем не менее существует ряд операций, выполняемых по правилам формальной логики. Эти логические операции могут быть построены с помощью логических операторов, поддерживаемых в С№. Следовательно, в С№ предусмотрен такой набор логических операторов, которого достаточно для построения практически любой логической операции, в том числе импликации. Имтиикат(ия — зто двоичная операция, результатом которой является ложное значение только в том случае, если левый ее операнд имеет истинное значение, а правый — ложное.

(Операция импликации отражает следующий принцип: истина не может подразумевать ложь.) Ниже приведена таблица истинности для операции импликации. Результат импликации р и с1 ггце ггце Га1ве Еа1яе ггце Га1яе Га1ве ггце ггце Га1ве ггце ггце Операция импликации может быть построена из сочетания логических операторов ! и ), как в приведенной ниже строке кода. 'р)ч В следующем примере программы демонстрируется подобная реализация операции импликации: // Построение операции импликации в СМ. цвьпч зуяеепц с1аяв 1зр11сасьоп ( всатьс уоьп Маьп() ( Ьоо1 р Га1ве, Ч=та1яет гпс 1, Сопяо1е.иг1геЬ1пе("р равно " т р т ", Ч равно " т Ч); 1Е(!р ) я) Сопяо1е.нг1тепьпе("Результат импликации " т р + " и " + Ч + " равен " + ггце)( Сопяо1е.нгьгет ьпе () т ) ) ) ) Еог(1 = 0; ).

Гог(1 = 0; 1г(1= 0) 1Г(1==1) 1Г(1==0) 1Е(1==1) < 2т 1тт) ( 2 < 2; Отт) ( р = ггце; р = Га1яет ч = ггце) Ч = Еа1вет 100 часть (. Язык С№ Результат выполнения этой программы выглядит так: р равно тгие, Ч равно Тгпе Результат импликации Тгпе и Тгце равен Тгпе р равно Тгце, Ч равно Га1ве р равно Га1ве, Ч равно Га1ве Результат импликации Га1ве и Тгце равен Тгце р равно Га1ве, ч равно Га1ве Результат импликации Га1ве и Га1ве равен Тгце Укороченные логические операторы В С№ предусмотрены также специальные, укороченные варианты логических операторов И и ИЛИ, предназначенные для получения более эффективного кода. Поясним это на следующих примерах логических операций.

Если первый операнд логической операции И имеет ложное значение 1га1ве), то ее результат будет иметь ложное значение независимо от значения второго операнда. Если же первый операнд логической операции ИЛИ имеет истинное значение гсгце), то ее результат будет иметь истинное значение независимо от значения второго операнда. Благодаря тому что значение второго операнда в этих операциях вычислять не нужно, экономится время и повышается эффективность кода Укороченная логическая операция И выполняется с помощью оператора аз, а укороченная логическая операция ИЛИ вЂ” с помощью оператора ( (. Этим укороченным логическим операторам соответствуют нормальные логические операторы а и (. Единственное отличие укороченного логического оператора от нормального заключается в том, что второй его операнд вычисляется только по мере необходимости.

В приведенном ниже примере программы демонстрируется применение укороченного логического оператора И. В этой программе с помощью операции деления по модулю определяется следующее: делится ли значение переменной с) на значение переменной и нацело. Если остаток от деления и/с) равен нулю, то и делится на г( нацело.

Но поскольку данная операция подразумевает деление, то для проверки условия деления на нуль служит укороченный логический оператор И. // Продемонстрировать применение укороченных // логических операторов. цв1по зувсев) с1авв зсорв ( всасьс чо1П Маьл() ( глг и, П) и = 10) с(= 2) 11(с( != О аа (и % с() == О) Сопво1е.игьсесьпе(п + " делится нацело на " т П) ) П = 0) // задать нулевое значение переменной П // о равно нулю, поэтому второй операнд // не вычисляется. Глава 4.

Операторы 101 1Е(б != 0 ав (и Ъ б) == 0) Сопво1е.нгхпеЬЕпе(п т " делится нацело на " + б) // Если теперь попробовать сделать то же самое // без укороченного логического оператора, то // возникнет ошибка из-за деления на нуль. ЕЕ(б != 0 а (и % б) == 0) сопво1е.игьсеьхпе(п + " делится нацело на " + б) Для исключения ошибки из-за деления иа нуль в операторе ЕЕ сначала проверяется условие: равно ли нулю значение переменной б. Если оно равно нулю, то на этом выполнение укороченного логического оператора И завершается, а последующая операция деления по модулю не выполняется.

Так, при первой проверке значение переменной г) оказывается равным 2, поэтому выполняется операция деления по модулю. А при второй проверке это значение оказывается равным нулю, следовательно, операция деления по модулю пропускается, чтобы исключить деление на нуль. И наконец, выполняется нормальный логический оператор И, когда вычисляются оба операнда. Если при этом происходит деление на нуль, то возникает ошибка при выполнении.

Укороченные логические операторы иногда оказываются более эффективными, чем их нормальные аналоги. Так зачем же нужны нормальные логические операторы И и ИЛИ7 Дело в том, что в некоторых случаях требуется вычислять оба операнда логической операции И либо ИЛИ ради получающихся побочных эффектов. Рассмотрим следующий пример программы: // Продемонстрировать значение побочных зффектов. цвхпд Зуасеш) с1авв 51беЕЕЕеств ( вгагьс чо1б Маьп() ( Епо 1; Ьоо1 вошеСопбьсьоп = Еа1вет 1 = 0 // Значение переменной 1 инкрементируется, // несмотря на то, что оператор ЕЕ не выполняется.

ЕЕ(вошеСопбьохоп в (++1 < 100)) Сопво1е.нгьтеЬЕпе("Не выводится"); Сопво1е.нгхгеввпе("Оператор ьЕ выполняется: " + 1) // выводится 1 // В данном случае значение переменной 1 не // инкрементируется, поскольку инкремент // в укороченном логическом операторе опускается. ЕЕ(вошесопб1сьоп аа (ь+1 < 100)) Сопво1е.нгьтеЬ1пе("Не выводится"); Сопво1е.Иг1ве11пе("Оператор ЕЕ выполняется: " + 1) // по-прежнему остается 1 )! ) 102 Часть 1 Язык С№ Прежде всего обратим внимание на то, что переменная зоиесопП101оп типа Ьоо1 инициализируется значением уа1зе. Далее проанализируем каждый оператор 11.

Как следует из комментариев к данной программе, в первом операторе 1й переменная 1 инкрементируется, несмотря на то, что значение переменной эокаесопо111оп равно уа1эе. Когда применяется логический оператор а, как зто имеет место в первом операторе 11, выражение в правой части этого оператора вычисляется независимо от значения выражения в его левой части. А во втором операторе 11 применяется укороченный логический оператор. В этом случае значение переменной 1 не инкрементируется, поскольку левый операнд (переменная зокаесопо111оп) имеет значение уа1зе, следовательно, выражение в правой части данного оператора пропускается.

Из этого следует вывод: если в коде предполагается вычисление правого операнда логической операции И либо ИЛИ, то необходимо пользоваться неукороченными формами логических операций, доступных в СФ. И последнее замечание: укороченный оператор И называется также условным ломгческим операторам И, а укороченный оператор ИЛИ вЂ” условным логическим операторам ИЛИ.

Оператор присваивания Оператор присваивания обозначается одиночным знаком равенства (=). В СФ оператор присваивания действует таким же образом, как и в других языках программирования. Ниже приведена его общая форма. имя переменной = вмравение Здесь имя переменной должно быть совместимо с типом выражения. У оператора присваивания имеется одна интересная особенность, о которой вам будет полезно знать: он позволяет создавать цепочку операций присваивания. Рассмотрим, например, следующий фрагмент кода: 1пк х, у, хк х = у = х = 1001 // присвоить значение 100 переменным х, у и з В приведенном выше фрагменте кода одно и то же значение 100 задается для переменных х, у и з с помощью единственного оператора присваивания.

Это значение присваивается сначала переменной х, затем переменной у и, наконец, переменной х. Такой способ присваивания по цепочке удобен для задания общего значения целой группе переменных. Составные операторы присваивания В С№ предусмотрены специальные составные операторы присваивания, упрощающие программирование некоторых операций присваивания. Обратимся сначала к простому примеру. Приведенный ниже оператор присваивания х = х а 101 можно переписать, используя следующий составной оператор присваивания: х += 101 Пара операторов += указывает компилятору на то, что переменной х должно быть присвоено ее первоначальное значение, увеличенное на 10. Рассмотрим еще один пример.

Оператор Глава 4. Операторы 103 х = х — 100 и оператор х -= 1ОО; выполняют одни и те же действия. Оба оператора присваивают переменной х ее первоначальное значение, уменьшенное на 100. Для многих двоичных операций, т.е. операций, требующих наличия двух операндов, существуют отдельные составные операторы присваивания. Общая форма всех этих операторов имеет следующий вид: имн переменной ор = выражение где ор — арифметический или логический оператор, применяемый вместе с оператором присваивания.

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

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