Стефан Дэвис - С++ для чайников .
- Название:С++ для чайников .
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс. Компьютерное издательство Диалектика
- Год:2007
- Город:Москва
- ISBN:0-7645-6852-3, 978-5-8459-0723-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стефан Дэвис - С++ для чайников . краткое содержание
1
empty-line
4
С++ для чайников . - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
_________________
53 стр. Глава 3. Выполнение математических операций
►Использование операторов присвоения...54
Операторы присвоения являются бинарными, изменяющими значения своих левых аргументов. Обыкновенный оператор присвоения " = " абсолютно необходим во всех языках программирования. Этот оператор сохраняет значение правого аргумента в левом. Однако причуды авторов языка привели к появлению и других операторов присвоения.
Создатели С++ заметили, что присвоение часто имеет вид
variable = variable # constant
Здесь # представляет собой какой-то бинарный оператор. Следовательно, чтобы увеличить целую переменную на два, программист может написать:
nVariable = nVariable + 2 ;
Из этой записи следует, что к значению переменной nVariable добавляется двойка и результат снова сохраняется в nVariable.
«Использование в левой и правой части выражения одной и той же переменной — весьма распространённое явление в программировании.»
[ Советы ]
Поскольку одна и та же переменная находится по обе стороны знака равенства, было решено просто добавить оператор, используемый при вычислении, к знаку присвоения. В таких специфических операторах присвоения допускается использование всех бинарных операторов. Поэтому указанное выше выражение можно сократить до
nVariable += 2 ;
Смысл этой записи таков: "значение переменной nVariable увеличено на 2".
«Модифицированные операторы присвоения используются не так часто, как обычные, но как правило повышают удобочитаемость программ.»
[ Советы ]
_________________
54 стр. Часть 1. Первое знакомство с С++
ОГЛАВЛЕНИЕ
В этой главе...
►Зачем нужны логические операторы 55
►Использование простых логических операторов 55
►Бинарные числа в С++ 60
►Выполнение побитовых логических операций 62
Наиболее распространённой синтаксической конструкцией С++ является выражение. Большинство используемых выражений содержит арифметические операторы сложения ( +), вычитания ( -) и умножения ( *). В данной главе описаны все эти типы выражений.
Существует целый класс так называемых логических операторов. В отличие от арифметических, этот тип операторов многими не воспринимается как операторы.
Неправда, что люди не сталкиваются с логическими операторами. Значения операторов И и ИЛИ они вычисляют постоянно. Я не буду есть овсянки без молока И сахара. И закажу себе ром ИЛИ шотландский виски, ЕСЛИ кто-то заплатит за меня. Как видите, люди очень часто используют логические операторы, не осознавая этого.
Логические операторы бывают двух типов. Операторы И и ИЛИ называются простыми логическими операторами. Операторы второго типа, или побитовые операторы, уникальны, так как используются только в программировании. Этот тип операторов позволяет работать с любым битом в машинном представлении числа.
►Зачем нужны логические операторы...55
Программы на С++ должны уметь принимать решения. Программы, написанные без принятия решений, по сложности подобны приведённой в первой главе( вспомните, что все выполняемые ею действия совершенно безальтернативны ). Программам очень часто приходится выполнять примерно следующее: "Сделай то, если переменная а меньше некоторого значения, а если не меньше — то сделай это". Для принятия решений ( правильных или нет ) в программах просто необходимо использовать логические операторы.
►Использование простых логических операторов...55
Простые логические операторы приведены в табл. 4.1. Они могут возвращать два значения: true ( истина ) и false ( ложь ).
_________________
55 стр. Глава 4. Выполнение логических операций
Таблица 4.1. Простые операторы из повседневной логики
_________________
Оператор — Значение
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
== — ( Равенство; истинно, когда значение левого аргумента совпадает со значением правого )
!= — ( Неравенство; противоположно равенству )
> , <— ( Больше, меньше; истинно, когда значение левого выражения больше ( или меньше ) значения правого )
>= , <= — ( Больше или равно, меньше или равно; истинно, если истиной является > или == ( соответственно < или == ) )
&& — ( И; истинно, если аргументы и слева и справа являются истиной )
||— ( ИЛИ; истинно, если или левый, или правый аргумент являются истиной )
! — ( НЕ; истинно, если его аргумент принимает ложное значение )
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Первые шесть операторов табл. 4.1 являются операторами сравнения. Оператор равенства используется для проверки равенства двух значений. Например, следующее выражение истинно, если значением n является 0 , и ложно во всех других случаях:
n == 0 ;
«Не перепутайте оператор равенства== ( двойное равно ) с оператором присвоения= ( одинарное равно ). Эта ошибка очень распространена, к тому же компилятор С++ вообще не считает её ошибкой, что делает её вдвойне опасной!»
[ Атас! ]
n = 0 ; /* Программист хотел написать, что n == 0 */
Широко распространены в повседневной жизни операторы "больше" ( > ) и "меньше" ( < ). Приведём пример логического выражения, возвращающего значение true .
int n1 = 1 ;
int n2 = 2 ;
n1 < n2
«Операторы "больше" и "меньше" внешне очень похожи, и поэтому их легко перепутать. Чтобы этого не случилось, помните, что оператор-стрелочка принимает значениеtrue в том случае, когда из двух сравниваемых значений он указывает на меньшее.»
[ Советы ]
С помощью операторов > и < можно найти случаи, когда n1 больше или меньше n2 , однако при этом игнорируется возможность равенства их значений. Операторы "больше или равно" ( >= ), "меньше или равно" ( <= ), в отличие от только что рассмотренных, учитывают и эту возможность.
Читать дальшеИнтервал:
Закладка: