Константа — это ограниченная последовательность символов алфавита языка, представляющая собой изображение фиксированного (неизменяемого) объекта.
Константы бывают числовые, символьные и строковые. Числовые константы делятся на целочисленные и вещественные.
Целочисленные константы
Целочисленные данные в языке Си могут быть представлены в одной из следующих систем счисления:
Десятичные | Последовательность цифр ( 0 — 9 ), которая начинаются с цифры, отличной от нуля. Пример: 1, -29, 385. Исключение — число 0. |
Восьмеричные | Последовательность цифр ( 0 — 7 ), которая всегда начинается с 0 . Пример: 00, 071, -052, -03. |
Шестнадцатеричные | Последовательность шестнадцатеричных цифр ( 0 — 9 и A — F ), которой предшествует присутствует 0x или 0X . Пример: 0x0, 0x1, -0x2AF, 0x17. |
Двоичная система представления данных непосредственно в языке Си не поддерживается. Однако можно воспользоваться файлом binary.h, в котором определены двоичные константы в пределах байта.
Пример использования двоичной системы счисления в языке Си:
Результат выполнения
В зависимости от значения целой константы компилятор присваивает ей тот или иной тип ( char , int , long int ).
С помощью суффикса U (или u ) можно представить целую константу в виде беззнакового целого.
Например, Константе 200U выделяется 1 байт, и старший бит используется для представления одного из разрядов кода числа и диапазон значений становится от 0 до 255 . Суффикс L (или l ) позволяет выделить целой константе 8 байт ( long int ).
Совместное использование в любом порядке суффиксов U (или u ) и L (или l ) позволяет приписать целой константе тип unsigned long int , и она займет в памяти 64 разряда, причем знаковый разряд будет использоваться для представления разряда кода (а не знака).
Вещественные константы
Константа с плавающей точкой (вещественная константа) всегда представляется числом с плавающей точкой двойной точности, т. е. как имеющая тип double , и состоит из следующих частей:
- целой части — последовательности цифр;
- точки — разделителя целой и дробной части;
- дробной части — последовательности цифр;
- символа экспоненты е или E ;
- экспоненты в виде целой константы (может быть со знаком).
Любая часть (но не обе сразу) из нижеследующих пар может быть опущена:
- целая или дробная часть;
- точка или символ е ( Е ) и экспонента в виде целой константы.
Примеры вещественных констант
По умолчанию компилятор присваивает вещественному числу тип double . Если программиста не устраивает тип, который компилятор приписывает константе, то тип можно явно указать в записи константы с помощью следующих суффиксов:
- F (или f ) — float для простых вещественных констант,
- L (или l ) — long double для вещественных констант двойной расширенной точности.
- 3.14159F — константа типа float , занимающая 4 байта;
- 3.14L — константа типа long double , занимающая 10 байт.
Символьные константы
Символьная константа — это один символ, например: ‘z’ . В качестве символьных констант также могут использоваться управляющие коды, не имеющие графического представления. При этом код управляющего символа начинается с символа ‘’ (обратный слеш).
Код | Обозначение | Описание |
0x00 | ‘ |