Именованные (символические) константы

Строковые константы

Символьные (литерные) константы

· Клавиатурные: ‘1’, ‘t’, ’y’ – клавиатурный символ задается в апострофах;

· Кодовые – для задания некоторых управляющих и разделительных символов, например, ‘ ’, ‘ ’;

Последовательности литер, начинающиеся со знака , называют escape -последовательностями.

a - звуковой сигнал,

 возврат на шаг (забой),

f перевод страницы (формата),

перевод строки,

возврат каретки,

табуляция горизонтальная,

v табуляция вертикальная,

\ обратная косая черта,

апостроф,

двойные кавычки,

? вопрос.знак,

· Кодовые числовые – для задания любых ASCII-кодов символов, например, ‘x1A’ (шестнадцатеричная цифра 1A,

В С++ строки заканчиваются дополнительным нулевым символом

Строки интерпретируются в С++ как массивы символов. Количество символов в таком массиве на единицу больше, чем в изображении строки. Так строка "ссссс" имеет тип char[6].

Пустая строка - это две двойные кавычки без пробела: "", ее тип -char[1].

Для определения текущей длины строк используется функция strlen(s). Она не учитывает завершающий нулевой символ.

В строки можно включать изображения управляющих символов. Например,‘ ’ - признак перехода на новую строку:

cout << "abcd "; // после вывода строки "abcd" выполняется переход

// на следующую строку

cout << " abcd"; // перед выводом пропускаются две строки

Для подачи звукового сигнала (BEL) используется символ ‘a’, например: "1998 годa ". Чтобы ввести в строку апостроф нужно написать ‘’. Для включения двойных кавычек используется комбинация "". Наконец, если в строке должен быть символ (обратный слеш), то его надо удваивать. Пример:

"c:\borlandc\test\one.cpp", то есть при указании маршрута обратный слеш должен удваиваться. Заметим, что этого не нужно делать в директиве#include, например:

#include "c:orlandc estone.cpp".

Если строка очень длинная, то ее можно продолжить на следующей строке, но при этом каждая строка должна завершаться двойными кавычками:

"abcde

fgiklmn" // неправильно!

 

"abcde"

"fgiklmn"// правильно!

Здесь действует правило: если две строки разделены пробелами ( или комментариями, или некоторыми специальными знаками: ‘ ’, ‘ ’ и др.), то компилятор сцепляет их.

Часто в программах встречаются константы, которым имеет смысл дать имя. Такие константы называются символическими.

Символические константы базовых типов определяются так же как и переменные соответствующих типов, но с указанием модификатора const.

Примеры оопределения символических констант:

const int x = 5;

const double z = 1E-5;

const float PI = 3.141593;

const char Smb = ‘t’;

Символические константы можно задавать (но не рекомендуется) средствами препроцессора.

Например: #define BT “Buenos tardes, amigos” // Определение символической строковой константы

#define PI 3.141593 // Определение символической числовой константы

Другой способ задания символических целочисленных констант – использование типа enum.

Например, в результате такого объявления

еnum { OK, NO_OPEN, NO_CREATE, FALL = 5 };

мы получим константы с указанными в списке именами и со значениями 0, 1, 2 и 5 соответственно.