Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek2.doc
Скачиваний:
22
Добавлен:
15.11.2018
Размер:
173.57 Кб
Скачать

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

  • Целая константа (т.е. константа, не имеющая десятичной точки или порядка) относится к типу int, если эта кон

станта входит в интервал значений типа int.

  • Если эта константа не входит в интервал значений типа int, например, 37000, то она считается константой типа un

signed.

  • Если же константа не входит в интервал изменения unsigned, она считается константой типа long.

  • Константа с десятичной точкой считается константой типа double, если она помещается в соответствующий интервал изменения.

Перечислимые константы

enum {элемент_1, элемент_2, … };

По умолчанию элементу 1 присваивается значение 0, элементу 2 – значение 1 и т.д.

Это обычные целочисленные константы типа int, которым приписаны уникальные и удобные для использования обозначения.

Примеры:.

enum {one=1, two=2, three=3 };

Соответствует: 1 2 3

enum {zero, one, two=2, three=3 };

Соответствует: 0 1 2 3

enum {ten=10, three=3, four, fife };

Соответствует: 10 3 4 5

enum { two=2, four=two*2 };

Соответствует: 2 4

В результате следующего объявления

enum error {OK, NO_OPEN, NO_CREATE, FALL=5 };

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

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

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

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

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

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

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

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

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

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

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

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

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

\’ апостроф,

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

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

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

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

Строки - это последовательность символов, заключенных в двойные кавычки, например: "1997 год".

В С++ строки заканчиваются дополнительным нулевым символом ‘\0’ со значением ноль. Этот символ является признаком конца строковой константы и обычно используется функциями для определения конца строк.

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

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

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

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

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

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

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

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

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

#include "c:\borlandc\test\one.cpp".

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

"abcde

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

"abcde"

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]