Стефан Дэвис - С++ для чайников .
- Название:С++ для чайников .
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс. Компьютерное издательство Диалектика
- Год:2007
- Город:Москва
- ISBN:0-7645-6852-3, 978-5-8459-0723-3
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стефан Дэвис - С++ для чайников . краткое содержание
1
empty-line
4
С++ для чайников . - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
«В С++ имеются выражения, которые дают результат типаbool — например, выражение "х равно у " может иметь значениеtrue илиfalse . »
[ Советы ]
►Выражения смешанного типа...48
С++ позволяет использовать в одном выражении переменные разных типов. Например, можно складывать целые и действительные переменные. В следующем выражении переменная nValue1 является целой:
/* в следующем выражении перед выполнением операции сложения значение nValue1 преобразуется к типу double */
int nValue1 = 1 ;
double dValue = nValue1 + 1.0 ;
Выражение, в котором два операнда относятся к разным типам, называется выражением смешанного типа. Тип генерируемого в результате значения будет соответствовать более мощному типу операнда. В нашем случае перед началом вычислительного процесса nValue1 конвертируется в тип double. По тому же принципу выражение одного типа может быть присвоено переменной другого типа, например:
/*в следующем задании целая часть dVariable сохраняется в nVariable */
double dVariable = 1.0 ;
int nVariable ;
nVariable = dVariable ;
«Если переменная в левой стороне равенства относится к типу менее мощному, чем переменная справа, то при таком присвоении можно потерять точность или диапазон значений ( например, если значение переменнойdVariable превышает диапазон допустимых значений переменнойnVariable ).»
[ Атас! ]
Преобразование типа большего размера в меньший называется понижающим приведением ( demotion), а обратное преобразование — повышающим приведением ( promotion).
_________________
48 стр. Часть 1. Первое знакомство с С++
Соглашения по именованию
Вы могли заметить, что имя каждой переменной начинается с определённого символа, который, как может показаться, совсем ни к чему ( эти специальные символы приведены в таблице ниже ). С помощью соглашений по использованию этих символов можно мгновенно распознать, что dvariable — это переменная типа double . Данные символы помогают программисту распознавать типы переменных, не обращаясь к их объявлениям в другом месте программы. Так, нетрудно определить, что в представленном ниже выражении осуществляется присвоение смешанного типа ( переменная типа long присваивается целочисленной переменной ):
nVariable = lVariable ;
Для С++ использование этих специальных символов не имеет никакого значения. При желании для обозначения переменной типа int вы можете использовать любую другую букву. Однако "первобуквенное" соглашение упрощает понимание, и многие программисты постоянно используют подобные схемы в своей работе, хотя следующие объявления вполне корректны и допустимы в программе на С++:
double myVariable ;
int someIntValue ;
double nThisDoesntEvenMatch ;
Символ —Тип
n — int
l — long
f — float
d — double
с —character
sz — string
«Использование в С++ выражений смешанного типа — идея далеко не самая блестящая; их лучше избегать, не позволяя С++ делать преобразования за вас.»
[ Советы ]
_________________
49 стр. Глава 2. Премудрости объявления переменных
ОГЛАВЛЕНИЕ
В этой главе...
►Бинарная арифметика 50
►Анализ выражений 51
►Определение порядка операций 52
►Выполнение унарных операций 53
►Использование операторов присвоения54
Переменные придуманы математиками не только для того, чтобы было что описывать и в чём сохранять какие-то значения. Над переменными можно выполнять самые разные действия: складывать, перемножать, вычитать и т.д. Список возможных операций достаточно обширен.
Эти основные математические операции используются и в программах С++. Ведь приложения без вычислительных возможностей себя совершенно не оправдывают. Кому нужна страховая программа, которая не может подсчитать даже суммы взносов?
Операции С++ внешне идентичны обыкновенным арифметическим операциям, выполняемым на клочке бумаги; разве что применяемые в вычислениях переменные перед использованием нужно объявлять:
int var1 ;
int var2 = 1 ;
var1 = 2 * var2 ;
В этом примере объявлены две переменные, var1 и var2 . Переменной var2 присвоено начальное значение 1, var1 определена как результат удвоения переменной var2.
В этой главе вы найдёте описание всего множества математических операторов С++.
►Бинарная арифметика...50
Бинарными называются операторы, которые имеют два аргумента. В выражениях типа var1 op var2 оператор op бинарный. Самыми распространёнными бинарными операторами являются простые математические операции, изучаемые ещё за школьными партами. Бинарные операции, которые поддерживает С++, приведены в табл. 3.1.
Таблица 3.1. Математические операции в порядке приоритета
_________________
Приоритет — Оператор — Значение
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
1 — +( унарный ) — Реально ничего не изменяет
1 — -( унарный ) — Возвращает противоположное по знаку, равное по модулю значение
2 — ++( унарный ) — Оператор инкремента, увеличивает значение аргумента на 1
_________________
50 стр. Часть 1. Первое знакомство с С++
2 — --( унарный ) — Оператор декремента, уменьшает значение аргумента на 1
3 — *( бинарный ) — Умножение
3 — /( бинарный ) — Деление
3 — %( бинарный ) — Остаток ( деление по модулю )
4 — +( бинарный ) — Сложение
4 — -( бинарный ) — Вычитание
5 — =, *=, %=, +=, -=( специальные ) — Операторы присвоения
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Как видите, операторы умножения, деления, деления по модулю, сложения и вычитания имеют вид обычных математических операций. Да они и работают так же, как соответствующие им арифметические операции:
float var = 133 / 12 ;
Значение большинства операторов вам хорошо известно ещё из начальной школы, кроме разве что операции деления по модулю.
По своей сути этот оператор означает получение остатка от деления. Например, 4 входит в 15 три раза, и остаток при этом составляет 3. Выражаясь терминами С++, 15, делённое по модулю 4, равно 3.
int var = 15 % 4 ; /*переменной var присваивается значение 3 */
Читать дальшеИнтервал:
Закладка: