- •Основные элементы языка Си
- •Константы
- •Константы целого типа
- •Задание.
- •Беззнаковые и длинные целые константы
- •Константы с плавающей точкой
- •Escape-последовательности
- •Символьные константы
- •Строковые константы
- •Задание.
- •Вопросы.
- •Основные операции языка Си
- •Общие положения
- •Арифметические операции
- •Унарные операции
- •Унарный минус
- •Операция унарный плюс.
- •Задание.
- •Операции инкремента и декремента
- •Задание.
- •Операции отношения и логические операции
- •Задание.
- •Операции присваивания
- •Примеры.
- •Задание.
- •Побитовые операции
- •Задание.
- •Логические побитовые операции
- •Задание.
- •Маскирование
- •Пример.
- •Задание.
- •Пример.
- •Задание.
- •Пример.
- •Пример.
- •Задание.
- •Пример.
- •Примеры.
- •Примеры.
- •Примеры.
- •Пример.
- •Задание.
- •Побочные эффекты. Приоритеты и порядок выполнения операций
- •Пример.
- •Пример.
-
Константы с плавающей точкой
Константы с плавающей точкой записываются только в десятичной системе и содержат кроме цифр либо десятичную точку, либо экспоненту, либо и то и другое:
-
0.
-
0.2
-
.75
-
827.602
-
2E-8
-
0.006e-3
-
1.6667E+8
-
.123456e12.
Присутствие экспоненты (десятичного порядка) играет роль аналогичную заданию сдвига десятичной точки в числе. Запись с экспонентой носит название научной нотации ( scientific notation). Для обозначения экспоненты используется буква E или e.
Константы с плавающей точкой имеют гораздо больший диапазон допустимых значений, чем целые. Типичны приблизительно следующие границы:
от 3.4e-38 до 3.4e+38.
Точность констант с плавающей точкой (количество значащих цифр) чаще всего составляет семь цифр мантиссы и зависит от реализации языка.
Обратим внимание на то, что целые константы хранятся и используются как точные значения. Константы же с плавающей точкой воспринимаются как приближенные: уже при переводе десятичной константы в двоичную систему для записи в память может возникнуть погрешность. Поэтому константы с плавающей точкой не используются для индексов или при организации счетчиков, где требуются целые значения.
-
Escape-последовательности
В большинстве современных вычислительных систем используется стандарт ASCII (American Standard Code for Information Interchange), жестко определяющий коды от 32 до 127 для цифр, символов арифметических операций, разделителей, букв латинского алфавита обоих регистров. Расположение цифр и букв алфавита в ASCII-таблице легко позволяет производить упорядочивание, например, в алфавитном порядке. Буквы верхнего регистра предшествуют буквам нижнего, а двоичные коды буквы в верхнем и нижнем регистрах отличаются на единицу в пятом разряде (т.е. на десятичное число 32).
Для представления пробельных, неграфических и некоторых специальных символов используются Escape-последовательности, которые состоят из знака обратной косой черты backslash, за которым следуют буква или комбинация цифр.
ESC-последов. |
Код |
Обозначаемое действие или символ |
\a |
0x7 |
Звуковой сигнал (BELL) |
\n |
0xA |
Новая строка (LF) |
\f |
0xC |
Новая страница (FF) |
\r |
0xD |
Возврат каретки (CR) |
\t |
0x9 |
Горизонтальная табуляция (HT) |
\v |
0xB |
Вертикальная табуляция (VT) |
\b |
0x8 |
Возврат на одну позицию (BS) |
|
0x5C |
Обратная косая черта (backslash) |
\' |
0x27 |
Апостроф (одинарные кавычки) |
\'' |
0x22 |
Двойные кавычки |
\? |
0x3F |
Вопросительный знак |
\xhh |
xhh |
Символ с шестнадцатерич. кодом hh |
Необходимо обратить внимание на следующие особенности:
1. Хотя ESC-последовательность состоит из нескольких символов, она изображает только один символ.
2. Если ESC-последовательность нужно использовать как символьную константу, ее нужно, как и любой другой символ заключить в апострофы:
'/n'.
3. Любой символ с помощью его ASCII-кода можно представить соответствующей ESC-последовательностью. Например, запись символа латинское A (десятичный код 97) возможна в двух вариантах:
103 или x61.
4. При использовании в ESC-последовательностях ASCII-кодов ведущие нули трехсимвольных кодов можно опускать, однако это может привести к ошибкам.
5. Некоторые управляющие ESC-последовательности ориентированы на конкретное устройство. Например, при выводе на экран последовательность f (прогон листа) игнорируется, но воздействует на вывод на принтер.
6. Если за обратной косой чертой в ESC-последовательности стоит не предусмотренный символ, то последовательность заменяется на этот символ: G эквивалентно G. Однако некоторые символы нижнего регистра зарезервированы для последующих стандартов.