Константы

Константы - объекты, не подлежащие использованию о лесой части оператора присваивания, т к константа - неадресуемая величи­на. В языке Си константами являются:

­ самоопределенные арифметические константы целого и вещест­венного типов, символьные и строковые данные;

­ идентификаторы массивов и функций;

­ элементы перечислений.

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.

Например, строка "" - пустая строка (нуль-строка).