Константы
Константы - объекты, не подлежащие использованию о лесой части оператора присваивания, т к константа - неадресуемая величина. В языке Си константами являются:
самоопределенные арифметические константы целого и вещественного типов, символьные и строковые данные;
идентификаторы массивов и функций;
элементы перечислений.
1. Целочисленные константы
Общий формат:
± п (+ обычно не ставится).
десятичные константы - последовательность цифр 0...9. первая из которых не должна быть 0 Например. 22 и 273 - обычные целые константы, если нужно ввести длинную целую константу, то указывается признак L(l) - 273L (273l). Для такой константы будет отведено - 4 байта. Обычная целая константа, которая слишком длинна для типа int. рассматривается как long.
Существует система обозначений для восьмеричных и шестнадцатеричных констант.
Восьмеричные константы - последовательность цифр от 0 до 7, первая из которых должна быть 0, например:
020 = 16 //десятичное.
Шестнадцатеричные константы - последовательность цифр от 0 до 9 и букв от А до F (a..f), начинающаяся символами 0X (0х), например 0X1F (0x1f) = 31 -десятичное.
Восьмеричные и шестнадцатеричные константы могут также заканчиваться буквой L(l) - long. например. 020L или 0X20L.
Примеры целочисленных констант:
1992 13,777 1000L -десятичные;
0777 00033 01l - восьмеричные;
0x123 0X00ff 0xb8000l - шестнадцатеричные
2. Константы вещественного типа
Данные константы размещаются в памяти по формату double, а во внешнем представлении могут иметь две формы:
1) с фиксированной десятичной точкой, формат записи:
±n.m,
где n,т - целая и дробная части числа;
2) с плавающей десятичной точкой (экспоненциальная форма):
±п.тЕ±р,
где п, т - целая и дробная части числа, р - порядок; ±0.хххЕ±р - нормализованный вид,
например, 1,25-10-8 = 0.125Е-8.
Примеры констант с фиксированной и плавающей точками:
1.0 -3.125 100е-10 0.12537е+13
3. Символьные константы
Символьная константа - это символ, заключенный в одинарные кавычки: 'А', 'х' (тип char --> целое int).
Также используются специальные последовательности символов - управляющие {escape) последовательности, основные их них:
\п - новая строка;
\t - горизонтальная табуляция;
\0 - нулевой символ (пусто).
При присваивании символьной переменной они должны быть заключены в апострофы. Константа '\0'изображающая символ 0 (пусто), часто записывается вместо целой константы 0, чтобы подчеркнуть символьную природу некоторого выражения.
Текстовые символы непосредственно вводятся с клавиатуры, а специальные и управляющие - представляются в исходном тексте парами символов, например:
\\ -обратный слеш;
\' -апостроф;
\" -кавычки.
Примеры символьных констант: 'А', '9' , '$', '\n', '\72'.
4. Строковые константы
Строковая константа представляет собой последовательность символов кода ASCII, заключенную в кавычки " ". Во внутреннем представлении к строковым константам добавляется нулевой символ '\0' называемый нуль-терминатор, отмечающий конец строки. Кавычки не являются частью строки, а служат только для ее ограничения. Строка в языке Си представляет собой массив, состоящий из символов. Внутреннее представление константы "01234\0ABCDEF": '0' '1' '2' '3' '4' '\' '0' 'A' 'В' 'С' 'D' 'Е' 'F' '\0'
Примеры строковых констант:
"Система", "\n\t Аргумент \n", "Состояние \"WAIT\""
В конец строковой константы компилятор автоматически помещает нуль-символ, который не является цифрой 0, на печать не выводится, в таблице кодов ASCII имеет код = 0.
Например, строка "" - пустая строка (нуль-строка).