Данные вещественных типов
Тип данных | Размер, бит | Диапазон абсолютных величин |
float | от 3.4Е-38 до 3.4Е+38 | |
double | от1.7Е-308до1.7Е+308 | |
long double | от3.4Е-4932до1.1Е+4932 |
Вещественная константа 3.141592653589793 будет воспринята как имеющая тип double,и ей будет выделено 8 байт (64 бита). Тот же тип выбирается для константы 3.14, так как по умолчанию всем вещественным константам присваивается тип double.
Если программиста не устраивает тип, который компилятор приписывает константе, то тип можно явно указать в записи константы с помощью суффиксов: F (или f) - float (для вещественных), U (или u) - unsigned (для целых), L (или l) - long (для целых и вещественных). Например:
3.14159F - константа типа float (выделяется 4 байта);
3.14L - константа типа long double (выделяется 10 байт).
С помощью суффикса U (или u) можно представить целую константу в виде беззнакового целого. Например:
50000U - константа типа unsigned int.
Константе 50000U выделяются 2 байта (вместо четырех, как было бы при отсутствии суффикса. В этом случае, т.е. для unsigned int,знаковый бит используется для представления одного из разрядов кода числа и диапазон значений становится от 0 до 65535.
Суффикс L (или l) позволяет выделить целой константе 4 байта (32 бита):
500L - константа типа long,которой выделяется 4 байта;
0L - целая константа типа longдлиной 4 байта.
Совместное использование в любом порядке суффиксов U (или u) и L (или l) позволяет приписать целой константе тип unsigned long,и она займет в памяти 32 разряда (бита), причем знаковый разряд будет использоваться для представления разряда кода (а не знака). Примеры:
0LU - целая константа типа unsigned longдлиной 4 байта;
2424242424UL - константа типа unsigned long.
Нулевой указатель.Null-указатель, называемый нулевым указателем, это единственная неарифметическая константа. Ее роль и функциональные возможности станут ясны при изучении аппарата указателей. В конкретных реализациях null-указатель может быть представлен либо как 0, либо как 0L, либо как именованная константа NULL. Здесь нужно отметить, что значение константы NULL не обязано быть нулем и имеет право не совпадать с кодом символа '0'.
Константы перечисляемого типа.Целочисленные именованные константы можно вводить с помощью перечисления:
enumтип перечисления {список_именованных_констант};
где enum- служебное слово, вводящее перечисление;
тип перечисления - его название - необязательный произвольный идентификатор;
список_именованных_констант - разделенная запятыми последовательность идентификаторов или именованных констант вида:
имя_ константы=значение_константы
Примеры:
enum {ONE=1, TWO, THREE, FOUR};
enum DAY {SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY};
enum BOOLEAN {NO, YES};
Если в списке нет ни одного элемента со знаком '=', то значения констант начинаются с 0 и увеличиваются на 1 слева направо. Таким образом, N0 равно 0, YES равно 1, SUNDAY имеет значение 0 и FRIDAY имеет значение 5. Именованная константа со знаком '=' получает соответствующее значение (ONE=1), a следующие за ней именованные константы без явных значений увеличиваются на 1 каждая. В нашем примере TWO равно 2, THREE равно 3, FOUR равно 4.
Строки, или строковые константы.Формально строки (в соответствии, со стандартом) не относятся к константам языка Си, а представляют собой отдельный тип его лексем. Для них в литературе используется еще одно название "строковые литералы". Строковая константа определяется как последовательность символов, заключенная в двойные кавычки (не в апострофы):
"Образец строки"
Среди символов строки могут быть эскейп-последовательности, т.е. сочетания знаков, соответствующие неизображаемым символам, или символам, задаваемым их внутренними кодами. В этом случае, как и в представлениях отдельных символьных констант, их изображения начинаются с обратной косой черты ‘\’ :
"\n Текст \n разместится \n в 3-х строках дисплея"
Дата добавления: 2015-10-09; просмотров: 707;