Константы - объекты, не подлежащие использованию в левой части оператора присваивания, т.к. константа - является неадресуемой величиной и, хотя она хранится в памяти ЭВМ, обычно нет никакого способа узнать ее адрес. В языке Си константами являются:
- самоопределенные арифметические, символьные и строковые данные;
- идентификаторы массивов и функций;
- элементы перечислений.
Арифметические константы могут быть целого или вещественного типов.
Общий формат: ±n (+ обычно не ставится).
Десятичные константы - последовательность цифр 0...9, первая из которых не должна быть 0. Например, 22 и 273 - обычные целые константы, если нужно ввести длинную целую константу, то указывается признак L(l) - 273L (273l). Для такой константы будет отведено – 4 байта. Обычная целая константа, которая слишком длинна для типа int , рассматривается как более длинный тип ( long или long long).
Существует система обозначений для восьмеричных и шестнадцатеричных констант.
Восьмеричные константы - последовательность цифр от 0 до 7, первая из которых должна быть 0, например: 020 = 16-десятичное.
Шестнадцатеричные константы - последовательность цифр от 0 до 9 и букв от A до F (a...f), начинающаяся символами 0Х (0х), например: 0X1F (0х1f) = 31-десятичное.
Восьмеричные и шестнадцатеричные константы могут также заканчиваться буквой L(l) - long, например, 020L или 0X20L.
Примеры целочисленных констант:
1992 13 1000L - десятичные;
0777 00033 01l - восьмеричные;
0x123 0X00ff 0xb8000l - шестнадцатеричные.
Данные константы размещаются в памяти по формату double, а во внешнем представлении могут иметь две формы:
1) с фиксированной десятичной точкой, формат записи: ±n.m, где n, m - целая и дробная части числа;
2) с плавающей десятичной точкой (экспоненциальная форма): ±n.mE±p, где n, m - целая и дробная части числа, р - порядок, например, 1,25×10-8 записывается как 1.25E-8.
Примеры констант с фиксированной и плавающей точками:
1.0 -3.125100е-10 0.12537е+13
Символьная константа - это символ, заключенный в одинарные кавычки: 'A', 'х' (занимает 1 байт).
В языке Си используются и. специальные (управляющие) символы, не отображаемые на экране; их назначение - влиять на порядок изображения других символов.. Поскольку они не отображаются на экране, для их обозначения в тексте программы используется пара символов, первый из которых всегда - обратная косая черта (обратный слеш) ("\"). Основные их них:
\n
- новая строка;
\t
- горизонтальная табуляция;
\0
- нулевой символ (нуль-терминатор).
С помощью обратного слеша в символьных и строковых (см. ниже) константах представляются и некоторые обычные символы, чье написание там могло бы привести к двусмысленности:
\\
- сам обратный слеш;
\'
- апостроф;
\"
- кавычки.
При присваивании символьной переменной эти последовательности должны быть заключены в апострофы. Символьная константа '\0' (не путать с символом - цифрой '0' !) часто записывается вместо целой константы 0, чтобы подчеркнуть символьную природу некоторого выражения (см. тему "Строки").