Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава1_Основые понятия языка С++.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
414 Кб
Скачать
☆

1.4. Знаки операций

Знак операции – это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Один и тот же знак может интерпретироваться по-разному в зависимости от контекста. Все знаки операций за исключением [ ], ( ) и ?: представляют собой отдельные лексемы.

Большинство стандартных операций может быть переопределено (перегружено).

1.5. Константы

Константами называют неизменяемые величины. Различаются целые, вещественные, символьные и строковые константы. Компилятор, выделив константу в качестве лексемы, относит ее к одному из типов по ее внешнему виду.

Форматы констант, соответствующие каждому типу, приведены в таблице 2.

Допустимые диапазоны значений целых и вещественных констант приведены в таблице 3.

Таблица 2. Константы в языке С++

Константа

Формат

Примеры

Целая

Десятичный: последовательность десятичных цифр, начинающаяся не с нуля, если это не число нуль

8, 0, 199226

Восьмеричный: нуль, за которым следуют восьмеричные цифры (0,1,2,3,4,5,6,7)

01, 020, 07155

Шестнадцатеричный: 0х или 0Х, за которым следуют шестнадцатеричные цифры (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

0xA, 0x1B8, 0X00FF

Вещественная

Десятичный:

[цифры].[цифры]

Могут быть опущены либо целая часть, либо дробная, но не обе сразу.

5.7, .001, 35.

Экспоненциальный:

[цифры][.][цифры]{E|e}[+|–][цифры]

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

0.2E6, .11e–3, 5E10

Символьная

Один или два символа, заключенных в апострофы

'A', 'ю', '*', 'db', '\0', '\n', '\012', '\x07\x07'

Строковая

Последовательность символов, заключенная в кавычки

"Здесь был Vasia", "\tЗначение r=\0xF5\n"

Если требуется сформировать отрицательную целую или вещественную константу, то перед константой ставится знак унарной операции изменения знака (–), например, –218, –5.8.

Вещественная константа в экспоненциальном формате представляется в виде мантиссы и порядка. Мантисса записывается слева от знака экспоненты (E или e), порядок справа от знака. Значение константы определяется как произведение мантиссы и возведенного в указанную в порядке степень числа 10. Обратите внимание, что пробелы внутри числа не допускаются, а для отделения целой части от дробной используется не запятая, а точка.

Символьные константы, состоящие из одного символа, занимают в памяти один байт и имеют стандартный тип char. Двухсимвольные константы занимают два байта и имеют тип int.

Символ обратной косой черты используется для представления:

  • кодов, не имеющих графического изображения (например, \n – перевод курсора в начало следующей строки);

  • символов апострофа ( ' ), обратной косой черты ( \ ), знака вопроса ( ? ) и кавычки ( " );

  • любого символа с помощью его 16-ричного или 8-ричного кода, например, \073, \0xF5.

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

Строковые константы, отделенные в программе только пробельными символами, при компиляции объединяются в одну. Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту, за которой следует перевод строки. Например, строка

"Никто не доволен своей внешностью, \

но все довольны своим умом"

полностью эквивалентна строке

"Никто не доволен своей внешностью, но все довольны своим умом"

В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый управляющей последовательностью \0.