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

Г. Шилдт - С#4.0 Полное руководство (1160795), страница 20

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

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

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

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

ьт(б != 0 Л (п % б) == 0) Сопзо1е.нг1се11пе(п + " делится нацело на " + б)) Для исключения ошибки из-за деления на нуль в операторе 1Г сначала проверяется условие: равно ли нулю значение переменной б. Если оно равно нулю, то на этом выполнение укороченного логического оператора И завершается, а последующая операция деления по модулю не выполняется. Так, при первой проверке значение переменной б оказывается равным 2, поэтому выполняется операция деления по модулю.

А при второй проверке это значение оказывается равным нулю, следовательно, операция деления по модулю пропускается, чтобы исключить деление на нуль. И наконец, выполняется обычный логический оператор И, когда вычисляются оба операнда. Если при этом происходит деление на нуль, то возникает ошибка при выполнении. Укороченные логические операторы иногда оказываются более эффективными, чем их обычные аналоги. Так зачем же нужны обычные логические операторы И и ИЛИ? Дело в том, что в некоторых случаях требуется вычислять оба операнда логической операции И либо ИЛИ из-за возникающих побочных эффектное.

Рассмотрим следующий пример программы. // Продемонстрировать значение побочных эффектов. цз1пч яу*сеш) с1азз Бьбебттесоз зсас1с чоьб Ма1п() ( 1пг 1; Ьоо1 зошеСопбьгьоп = Га1зе) 0; 106 часть!. язык С() Значение переменной г инкрементируется, несмотря на то, что оператор гг не выполняется. 1Г(воиеСопсьсгоп ь (++1 < 100)) Сопво1е.игьсесьпе("Не выводится"); Сопво1е.игьгеЬгпе("Оператор 1Г выполняется: " + 1); г'/ выводится 1 // В данном случае значение переменной 1 не инкрементируется, г/ поскольку инкремент в укороченном логическом операторе опускается. 1Г(воиесопг)1Г1оп Ва (++1 < 100)) Сопво1е.иггсепьпе("Не выводится"); СОПВО1Е.ХГ1<Еь1ПЕ("ОПЕратср ЛГ ВЫПОЛНяЕтСя: " Е Г)1 // ПО-ПрЕжНЕМу 1 )) ) ) Прежде всего обратим внимание на то, что переменная зоыеСопс)101оп типа Ьоо1 инициализируется значением га1зе.

Далее проанализируем каждый оператор 1Г. Как следует из комментариев к данной программе, в первом операторе 1Е переменная 1 инкрементируется, несмотря на то что значение переменной зогпеСопс(101оп равно Га1зе. Когда применяется логический оператор ь, как это имеет место в первом операторе ьг, выражение в правой части этого оператора вычисляется независимо от значения выражения в его левой части. А во втором операторе 1 г применяется укороченный логический оператор. В этом случае значение переменной 1 не инкрементируется, поскольку левый операнд (переменная зогпеСопс(101оп) имеет значение га1зе, следовательно, выражение в правой части данного оператора пропускается. Из этого следует вывод; если в коде предполагается вычисление правого операнда логической операции И либо ИЛИ, то необходимо пользоваться неукороченными формами логических операций, доступных в С(). И последнее замечание: укороченный оператор И называется также условным логическим оператором И, а укороченный оператор ИЛИ вЂ” условным логическим опратором ИЛИ.

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

Рассмотрим, например, следующий фрагмент кода. 1пг х у гг х = у = г = 100; // присвоить значение 100 переменным х, у и г В приведенном выше фрагменте кода одно и то же значение 100 задается для переменных х, у и г с помощью единственного оператора присваивания. Это значение присваивается сначала переменной з, затем переменной у и, наконец, переменной х. Такой способ присваивания "по цепочке" удобен для задания общего значения целой группепеременных. Глава 4. Операторы 107 Составные операторы присваивания В СФ предусмотрены специальные составные операторы присваивания, упрощающие программирование некоторых операций присваивания. Обратимся сначала к простому примеру. Приведенный ниже оператор присваивания х = х е 10; можно переписать, используя следующий составной оператор присваивания. х ч= 10; Пара операторов ч= указывает компилятору на то, что переменной х должно быть присвоено ее первоначальное значение, увеличенное на 10. Рассмотрим еще один пример.

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

Составные операторы присваивания записываются более кратко, чем их несоставные эквиваленты. Поэтому их иногда еще называют укороченными операторами нрисаанвания. У составных операторов присваивания имеются два главных преимущества. Вопервых, они более компактны, чем их "несокращенные" эквиваленты. И во-вторых, они дают более эффективный исполняемый код, поскольку левый операнд этих операторов вычисляется только один раз. Именно по этим причинам составные операторы присваивания чаще всего применяются в программах, профессионально написанных на СФ. Поразрядные операторы В СФ предусмотрен ряд поразрядных операторов, расширяющих круг задач, для решения которых можно применять Св. Поразрядные операторы воздействуют на отдельные двоичные разряды (биты) своих операндов. Они определены только для целочисленных операндов, поэтому их нельзя применять к данным типа Ьоо1, !!оат или г!онЬ1е.

108 Часть Е Язык С№ Эти операторы называются лоразряднылги, поскольку они служат для проверки, установки или сдвига двоичных разрядов, составляющих целое значение. Среди прочего поразрядные операторы применяются для решения самых разных задач программирования на уровне системы, включая, например, анализ информации состояния устройства. Все доступные в СФ поразрядные операторы приведены в табл. 4.1. Таблица 4Л. Поразрядные операторы Оператор Значение » « Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ обозначаются следующим образом; а, Н " и -.

Они выполняют те же функции, что и их логические аналоги, рассмотренные выше. Но в отличие от логических операторов, поразрядные операторы действуют на уровне отдельных двоичных разрядов. Ниже приведены результаты поразрядных операций с двоичными единицами и нулями. Р Ч Рву Р!Ч Р Ч С точки зрения наиболее распространенного применения поразрядную операцию И можно рассматривать как способ подавления отдельных двоичных разрядов. Это означает, что если какой-нибудь бит в любом из операндов равен О, то соответствующий бит результата будет сброшен в О.

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

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

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

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