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

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

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

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

// Продемонстрировать применение оператора $. пзгпд Бузгев; с1азз Мос)оево ) зсасгс тото Ма1п ) ) ) 1пс ггезо1Г, ггев; г)опЬ1е бгезо1г, с)гев; 1гезо1г = 10 / 3; ггев = 10 $ 3: с)гезп11 = 10.0 / 3.0; Сгев = 10.0 $ 3.0; Сопзо1е.иг1сеьгпе("Результат и остаток от деления 10 / 3: ).гезо1г е " " + ).гев); Сопзо1е.вггсевгпе)"Результат и остаток от деления 10.0 / 3.0: огезп1г + " " + с)гев); Результат выполнения этой программы приведен ниже. Результат и остаток от деления 10 / 3: 3 1 Результат и остаток от деления 10.0 / 3.0: 3.33333333333333 1 Как видите, обе операции, $ целочисленного типа и с плавающей точкой, дают один и тот же остаток, равный 1. Операторы инкремента и Аекремента Операторы инкремента (++) и декремента ( — — ) были представлены в главе 2. Как станет ясно в дальнейшем, они обладают рядом особых и довольно интересных свойств.

Но сначала выясним основное назначение этих операторов. Оператор инкремента увеличивает свой операнд на 1, а оператор декремента уменьшает операнд на 1. Следовательно, оператор Глава 4. Операторы 99 равнозначен оператору х = х ь 1р а оператор равносилен оператору х=х — 1; Следует, однако, иметь в виду, что в инкрементной или декрементной форме значение переменной х вычисляется только один, а не два раза. В некоторых случаях это позволяет повысить эффективность выполнения программы. Оба оператора инкремента и декремента можно указывать до операнда (в префиксной форме) или же после операнда (в постфиксной форме).

Например, оператор х = х + 11 может быть записан в следующем виде: ++х; // префиксная форма или же в таком виде: к++1 // постфиксная форма В приведенном выше примере форма инкремента (префиксная или постфиксная) особого значения не имеет. Но если оператор инкремента или декремента используется в длинном выражении, то отличие в форме его записи уже имеет значение.

Когда оператор инкремента или декремента иред1иестеует своему операнду, то результатом операции становится значение операнда после инкремента или декремента. А когда оператор инкремента или декремента следует после своего операнда, то результатом операции становится значение операнда до инкремента или декремента.

Рассмотрим следующий фрагмент кода. х = 10; У = ++х1 В данном случае значение переменной у будет установлено равным 11, поскольку значение переменной х сначала увеличивается на 1, а затем присваивается переменной у. Но во фрагменте кода х = 101 у = х++; значение переменной у будет установлено равным 10, так как в этом случае значение переменной х сначала присваивается переменной у, а затем увеличивается на 1. В обоих случаях значение переменной х оказывается равным 11.

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

Ряд чисел, полученных с помощью оператора у = у + х++ 1 3 б 10 15 14 21 2В Зб 45 55 Ряд чисел, полученных с помощью оператора у = у + ++х; 2 5 9 14 го Глава 4. Операторы 101 27 55 54 б5 Как подтверждает приведенный выше результат, в операторе у = у + х++г первоначальное значение переменной х складывается с самим собой, а полученный результат присваивается переменной у. После этого значение переменной х увеличивается на 1. Но в операторе у = у + ++х; значение переменной х сначала увеличивается на 1, затем складывается с первоначальным значением этой же переменной, а полученный результат присваивается переменной у.

Как следует из приведенного выше результата, простая замена префиксной формы записи оператора ++х посгфиксной формой х++ приводит к существенному изменению последовательного ряда получаемых чисел. И еще одно замечание по поводу приведенного выше примера; не пугайтесь выражений, подобных следующему: у + ++х Такое расположение рядом двух операторов может показаться не совсем привычным, но компилятор воспримет их в правильной последовательности.

Нужно лишь запомнить, что в данном выражении значение переменной у складывается с увеличенным на 1 значением переменной х. Операторы отношения и логические операторы В обозначениях операшор отношения и логический опера мор термин отношения означает взаимосвязь, которая может существовать между двумя значениями, а термин логических — взаимосвязь между логическими значениями "истина" и "ложь". И поскольку операторы отношения дают истинные или ложные результаты, то они нередко применяются вместе с логическими операторами. Именно по этой причине они и рассмат риваются совместно в данном разделе.

Ниже перечислены операторы отношения. Значение Оператор Равно Не равно Больше Меньше Больше или равно Меньше или равно К числу логических относятся операторы, приведенные ниже. 102 Часть!. Язык О№ Оператор Значение И ИЛИ Исключающее ИЛИ Укороченное И Укороченное ИЛИ НЕ р Ч рсч р(ч р "ч га1яе Сгсе 1а1яе Сгие га1яе 1а1яе сгсе сгсе га1яе га1яе га1яе сгпе га1яе Сгпе Сгпе сгпе га1яе сгпе Сгпе 1а1яе Сгсе га1яе сгсе 1а1яе Как следует из приведенной выше таблицы, результатом выполнения логической операции исключающее ИЛИ будет истинное значение (стае), если один и только один ее операнд имеет значение С г се. Ниже приведен пример программы, демонстрирующий применение нескольких операторов отношения и логических операторов.

// Лрояемонстрировать применение операторов // отношения и логических операторов. оягпд Яуягеш) с1аяя ае1Ьоооря ( ягатьс гога Ма1п() ( Ьпс 1 )) Ьоо1 Ь1, Ь2) ь = 10) = 11) 11(1 < )) Сопяо1е.нгггеъьпе("1 < ЬГ(1 <= )) Сопяо1е.нгьсеЬЬпе("1 <= )")) ЬГ(1 != )) Сопяо1е.нгьгеЬзпе("1 != )")) Результатом выполнения оператора отношения или логического оператора является логическое значение типа Ьоо1. В целом, объекты можно сравнивать на равенство или неравенство, используя операторы отношения == и (кь А операторы сравнения <, >, <= или >= могут применяться только к тем типам данных, которые поддерживают отношение порядка. Следовательно, операторы отношения можно применять ко всем числовым типам данных.

Но значения типа Ьоо1 могут сравниваться только на равенство или неравенство, поскольку истинные (С гое) и ложные (Га 1 яе) значения не упорядочиваются. Например, сравнение Стае > га1ее в С(( не имеет смысла. Операнды логических операторов должны относиться к типу Ьоо1, а результат выполнения логической операции также относится к типу Ьоо1. Логические операторы с, (, " и ! поддерживают основные логические операции И, ИЛИ, исключающее ИЛИ и НЕ в соответствии с приведенной ниже таблицей истинности. Глава 4. Операторы 103 1Е(1 == №) Сопяо1е.иггтеььпе("Нельзя выполнить"); тс(1 >= 2) Сопво1е.итгте11пе("Нельзя выполнить"); 11(1 > №) сопво1е.итгтеььпе("Нельзя выполнить"); Ы = ттьег Ь2 = Еа1яе; 1Г(Ы а Ь2) Сопво1е.иггге11пе("Нельзя выполнить"); 11(!(Ы а Ь2)) Сопво1е.Хтгтевьпе("!(Ы ь Ь2) — ттце"); 11(ь1 ( ь2) сопяо1е.хттгеььпе("ь1 ) ь2 — ггце"); 1Г(Ы " Ь2) Сопзо1е.игттеЬтпе("Ы " Ь2 — Гтце")) ) Выполнение этой программы дает следующий результат.

т с т с= д ! (Ь1 Ь Ь2) — ттце Ы ( Ь2 — тгце Ы " Ь2 — ттце Результат импликации р и с( сгце сгце га1яе 1а1яе сгце га1яе га1яе сгце сгце 1а1яе сгце сгце Операция импликации может быть построена на основе комбинации логических операторов ! и ), как в приведенной ниже строке кода. 'р)с В следующем примере программы демонстрируется подобная реализация операции импликации. // Построение операции импликации в С№.

пя1пч Яувгевы с1аяя 1зр11сатгоп ( вгагтс зо1с( Матп() ( Ьоо1 р=та1ве, С№№а1ве; Логические операторы в С№ выполняют наиболее распространенные логические операции. Тем не менее существует ряд операций, выполняемых по правилам формальной логики. Эти логические операции могут быть построены с помощью логических операторов, поддерживаемых в С№. Следовательно, в С№ предусмотрен такой набор логических операторов, которого достаточно для построения практически любой логической операции, в том числе импликации. Имллика((ия — это двоичная операция, результатом которой является ложное значение только в том случае, если левый ее операнд имеет истинное значение, а правый — ложное.

(Операция импликации отражает следующий принцип: истина не может подразумевать ложь.) Ниже приведена таблица истинности для операции импликации. 104 Часть ). язык СФ 1пс Гог(1 = О; 1 < Гог(О = О; ) РГ (1==0) р 1Г (1==1) р г И==О> ч тг(1==1) ч 2) 1т+) ( < 2; = сгце; = Га1яе; = сгце; — Га1яе; сеь1пе("р равно " + р + ", Ч равно " + Ч); Сопво1е.игт ((Г(!р ( ч) Сопяо1е. Игтсеььпе("Результат импликации " + р + " и " + Ч т " равен " + сгое); Сегдпе (); Сопяо1е.мгг ) Результат выполнения этой программы выглядит так. р равно Тгое, Ч равно Тгое Результат импликации Тгце и Тгце равен Тгне р равно тгце, Ч равно Га1ве р равно Га1яе, ч равно Га1яе Результат импликации Га1яе и Тгце равен Тгце р равно Га1яе, Ч равно Га1яе Результат импликации Га1яе и Га1яе равен Ттце Укороченные логические операторы В СФ предусмотрены также специальные, укороченные, варианты логических операторов И и ИЛИ, предназначенные для получения более эффективного кода.

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

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

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

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

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