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

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

Файл №1109478 Г. Шилдт - Полный справочник по C++ (Г. Шилдт - Полный справочник по C++) 12 страницаГ. Шилдт - Полный справочник по C++ (1109478) страница 122019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Арифметические операторы В табл. 2.4 приведен список арифметических операторов языка СгС4+. Операторы +, —, * и у выполняются точно так же, как и н болыдинстве лругих языков программирования. Их можно применять практически к любым встроенным типам данных. Если оператор у применяется к целому числу или символу, дробная часть отбрасывается. Например, 5/2 равно 2. Часть 1.

Основы языка Стт: подмножества С веста гса 1пс (16 бнт) спа (32 бнт) 1опд гпс спС (16 бнт) спа (32 бнт) )спд гпс 1сгд гп( 11саС дссЫе 1спд бссЫе Еалн значение > 125, результатом будет отрицательное число Старшие 6 бнт Старшие 6 бнт Старшие 24 бнт Старшие 24 бит )(ет Старшие 16 бит Старшие 16 бнт Нет Дробная часть н, возможно, что-го еще Точность, результат окруптяетан Точность, результат округляется Таблица 2.4, Арифметические операторы Дейсгаяе Вычитание, а талке унарный минус Сложение Умножение Деление Деление ло модулю Дехрементация Иннрементация Оператор деления по модулю ч, как и в других языках программирования, возвращает остаток целочисленного деления. Однако этот оператор нельзя применять к числам с плавающей точкой. Рассмотрим пример, в котором используется оператора.

1пс х, у; х = 5 — 2 рс1пст("Ъс) ", х/у)) /* Выведет число 2 */ рг1пей("Ъс) ", хну)г /* Выведет число 1, остаток целочисленного деления */ х = 1 = 2 ртапай(ыао во", х/у, хву); /* Выведет числа О 1 */ Последний оператор программы выводит на экран число О и 1, поскольку результат целочисленного деления 1/2 равен О, а остаток — 1. Унарный минус умножает свой операнд на — 1. Иными словами, унарный минус меняет знак операнда на противоположный. Инкрементация и декрементация В языке С/С++ есть два полезных оператора, которыми не обладают некоторые другие языки.

Это операторы инкрементации и декрементации ++ и —. Оператор ++ добавляет 1 к своему операнду, а оператор — вычитает ее. Таким образом, оператор В х = х+1г эквивалентен оператору В ++х;, а оператор В х = х-1; эквивалентен оператору В х —," Операторы инкрементации и декрементации имеют две формьк префиксную н постфиксную. Например, фрагмент В х = х+1; можно переписать так Глава 2. Выражения й ++х; или так В хь»-: Однако между префиксной и постфиксной формами сушесгвуст важное отличие, когда они используются внутри выражений. Если используется прсфиксная форма, опеозторы инкремснтации и декрементации примснякпся к сирому значению операнла„ ; если постфиксная — к новому. Например, в результате выполнении операторов х=зо; у =+»х; переменной у будет присвоено значение 11. Однако, если переписать этот фрагмент иначе: х = зс; у = х++;, переменная у будет равна 1О.

В обоих случаях переменная х в результате станет равной 11. Разница заключается в том, когда это происходит. Большинство компиляторов языка С/С++ созлзют для операторов инкрементации и декрементации очень быстрый и эффективный объектный код. Он выполняется намного быстрее, чем код„соответствуюший оператору присваивания. По этой причине операторы инкрементации и декрементации следует применять всегда, когда это возможно. Ниже приведены приоритеты арифметических операторов. высший - (унарный минус1 * / везший» Операторы, имеюшие одинаковый приоритет, выполняются слева направо.

1'азумеется, для изменения порядка вычисления операторов можно применять скобки. В языке С/С++ скобки интерпретируются точно так же, как и во всех других языках программирования. Они позволяют присвоить некоторым операторам или группе операторов более высокий приоритет. Операторы сравнения и логические операторы В термине олерптор сравнения слово "сравнение" относится к значениям операндов. В тсрмице лосичегкио оператор слово "логическии" относится к способу, которым устанавливаются эти отношения.

Поскольку операторы сравнения и логические операторы тесно связаны лруг с лругом, мы рассмотрим их вместе. В основе и операторов сравнения, и логических операторов лежат понятия "истина'* и "ложь'*. Б языке С истинным считается любое значение, не разное нулю. Ложное значение всегда ровно О. Выражения, используклцие операторы сравнения и логические операторы, возврагцают О, если результат ложен, и 1, если результат истинсн В языке С++ истинные и ложные значения разли*шются точно так же, но.

помимо этопл предусмотрен особый тип данных ьоох и булавы константы егое и дазаа. В программах на языке С++ значение О автоматически прсобразовывастся в константу газае, а ненулевое значение — в константу огае. Справедливо и обратное утвержление: константа егие преобразовывается в значение 1, а константа йазаа — в число О.

Результатом выражений, в которьвх используются операторы сравнения и логические операторы, являются константы егьа и газае. Олнако, поскольку эти Часть 1. Основы языка С-нс подмножество С константы автоматически преобразовываются в числа 1 или О, различие между языками С и С++ в этом аспекте становится чисто академическим. Операторы сравнения и логические операторы приведены в табл 2.5. Таблица 2.5.

Операторы сравнения и логические операторы Операторы сравнение Оператор > Действие Больше Больше ипн равно Меньше Меньше нпн равно Не равно Логические операторы Оператор Рассмотрим таблицу истинности лля логических операторов, используя значения 1 и О. Операторы сравнения и логические операторы имеют более низкий приоритет, чем арифметические операторы. Таким образом, выражение 10 > 1 + 12 будет вычислено так, будто оно записано следующим образом: 10 > (1 + 12).

Разумеется, в обоих случаях зто выражение будет ложным. В одном и том же выражении можно использовать несколько операторов. В 10>з са «1а<в) ) ) э<=а В данном случае результатом будет истинное значение. Несмотря на то что ни в языке С, ни в языке С++ нет оператора "исключительное ИЛИ" (ХОК), его можно легко реализовать в виде функции, используя лругне логические операторы. Результатом оператора ХОК является истинное значение, только если один из операндов (но не оба) истинен. Программа, приведенная ниже, содержит функцию хог(), применяющую операцию исключающего ИЛИ к двум своим аргументам. Еьпс1ице свсй1о.)т> ьпс хог<ьпе а, 1пс )з) ьпт. шаьп(чоЫ) ( рг1пей("Ъй", хог( 1, О)); ргьпгй("Ъй", хог(1, 1))у ргьпет('Ъс)", хог(0, 1)); ргтпса<"Ва , хог<а, О)); гесцгп О< ) Глава 2.

Выражены Р 0 О 1 1 Ч 0 1 1 0 Раич 0 1 0 Действие И ИЛИ НЕ Р))Ч 0 1 1 1 <р 1 1 О 0 /* Выполняет операцию исхлючвююего ИЛИ, используя лва аргумента. */ йпс хою(гпс а, апс и) ( тегцхгг (а )' ,Ь) аа . (а аа Ь) г Ниже приведены приоритеты опсрато(юв сравнения и логических операторов. высший низший является ложным. Однако, если перегруппировать сиз операнды с помошью скобок, результат станет противоположным.

ф ((о аа о)) )) о Помните: вес выражения, используюшис операторы сравнения и логические операторы, имеют либо истинное, либо ложное значение. Следовательно, фрагмент программы, приведенный ниже, верен. В результате сто выполнения на зкран будет выведено значение !, г г апс хг х=1ОО; рх1пгй("Вд", х>10)г Побитовые операторы В отличие от многих лруп(х языков, язык СгС+Е содержит полный набор побитовых операторов.

Поскольку язык С был разработан в качестве замены языка ассемблера, он предусматривает многие операции низкого уровня, в частности, побшггоаьге оггсрггции (Ь(пт1зс орспяюп). предназначенные лля проверки„ус(ановки и сдвига битов. из которых состоят байты и машинныс слова, образуюшис псрсмснныс типа стшх- или 1пс. Побитовые операции нельзя применять к псрсмсниым типа В1овп, с(оцЬ1е, 1опа с(оиЬ1е, хоай зххз1 и других, более сложных, типов. Побитовые операторы языка С/С+ ь перечислены в табл. 2.б.

Эти операторы приыснякпся к отлсльным битам операндов. Таблица 2.6. Побитовые операторы Действие Оператор И ИЛИ Исключающее ИЛИ дополнение до единицы (НЕ) Сдвиг вправо Сдвигвпево » сс Часть (. Основы языка С+ь: подмножество С Как и лля арифметических операторов, естественный порядок вычислений можно изменять с помошью скобок. Например, выражение $|оаао ((о Побитовые операции И, ИЛИ и НЕ (дополнение до единицы) описываются теми жс таблицами истинности, что и их логические аналоги, за исключением того, что теперь все сравнения проводятся поразрядно.

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

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

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

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