Константы с плавающей точкой
Константы с плавающей точкой могут иметь тип float, double или long double. Как и в предыдущем случае, компилятор должен предупреждать о константах с плавающей точкой, которые слишком велики, чтобы их можно было представить.
Компилятор использует три формы внутреннего представления данных с плавающей точкой (табл.3).
Если вы хотите иметь константу с плавающей точкой типа float, вы можете определить ее как:
const float pi8 = 3.14159265;
Признаком константы с плавающей точкой для компилятора является наличие в записи константы десятичной точки, символа е или Е. Например, 21е-5; -44.; 67.28Е4; .09е+18; .0; 0.; 0.0.
По умолчанию (при отсутствии суффиксов переопределения) константы с плавающей точкой имеют тип double. При наличии суффикса f (F) константа имеет тип float, l (L) – long double.
Символьные константы
Хотя в С++ и нет отдельного символьного типа данных, в нем для символов имеется специальная и удобная запись. Символьная константа - это символ, заключенный в одинарные кавычки; например, 'a' или '0'. Такие символьные константы в действительности являются символическими константами для целого значения символов в наборе символов машины. Употребление символьных констант вместо десятичной записи делает программу более переносимой. Несколько символов также имеют стандартные имена, в которых обратная косая \ используется как escape - символ. Некоторые из них:
'\b' возврат назад
'\f' перевод формата
'\n'' новая строка
'\r' возврат каретки
‘\t’ табуляция
Для явного указания кода символа используется выражение ‘\nnn’, где nnn - восьмеричный код или ‘\0xhh’, где hh – шестнадцатеричный код.
Строки
Строковая константа - это последовательность символов, заключенная в двойные кавычки:
"это строка"
Каждая строковая константа содержит на один символ больше, чем кажется; все они заканчиваются пустым символом '\0' со значением 0. Например:
sizeof ("wer") = = 5;
Строка имеет тип "вектор из соответствующего числа символов", поэтому "wer" имеет тип char[5]. Пустая строка записывается " " (и имеет тип char[1]).
В строке может стоять обратная косая, сразу после которой идет новая строка; и то, и другое будет проигнорировано:
cout << "здесь все \
ok"
напечатает:
здесь все ok
Новая строка, перед которой идет символ \ не приводит к появлению в строке новой строки, это просто договоренность записи.
В строке можно иметь пустой символ, но большинство программ не будет предполагать, что есть символы после него. Вставляя численную константу в строку с помощью восьмеричной или шестнадцатеричной записи благоразумно использовать число из трех цифр.
Const
Ключевое слово const может добавляться к описанию объекта, чтобы сделать этот объект константой, а не переменной:
const int model = 232;
const int w[] = {1,2,3,4};
Поскольку константе ничего нельзя присвоить, она должна быть инициализирована. Описание чего-нибудь как const гарантирует, что его значение не изменится в области видимости:
model = 145; / / ошибка
model++; / / ошибка
Const изменяет тип, т.е. ограничивает способ использования объекта, вместо того, чтобы задавать способ размещения константы.
Дата добавления: 2017-01-29; просмотров: 488;