Идентификаторы, зарезервированные слова, литералы, управляющие последовательности
- 1. Какое назначение идентификаторов в C++? Правила создания идентификаторов.
- 2. Какие элементы языка C++ запрещается использовать в качестве идентификатора?
- 3. Что собой представляют литералы в языке C++?
- 4. Каким образом компилятор распознает целочисленные литералы?
- 5. Каким образом компилятор распознает литералы с плавающей запятой?
- 6. Каким образом в C++ записываются шестнадцатеричные и восьмеричные литералы?
- 7. Что собой представляют управляющие последовательности символов?
- Связанные темы
Поиск на других ресурсах:
1. Какое назначение идентификаторов в C++? Правила создания идентификаторов.
Идентификатор представляет собой имя, которое присваивается переменной, константе, функции, собственному типу или другому элементу, который определяется пользователем. Идентификаторы могут состоять из одного или нескольких символов. Имена переменных должны начинаться из буквы или символа подчеркивания.
В языке C++ строчные и прописные символы рассматриваются как разные символы (в отличие от языка Паскаль и других языков).
Примеры идентификаторов:
x max Delta my_method w23x5
⇑
2. Какие элементы языка C++ запрещается использовать в качестве идентификатора?
В языке C++ нельзя использовать в качестве идентификаторов ключевые слова.
Список ключевых слов языка C++:
asm auto bool break
case catch char class
const const_class continue default
delete do double dinamic_cast
else enum explicit export
extern false float for
friend goto if inline
int long mutable namespace
new operator private protected
public register reinterpret_cast return
short signed sizeof static
static_cast struct switch template
this throw true try
typedef typeid typename union
unsigned using virtual void
volatile wchar_t while
⇑
3. Что собой представляют литералы в языке C++?
Литералы – это фиксированные значения (константы), которые не могут быть изменены программой в процессе выполнения. Литералы (константы) могут иметь любой базовый тип данных. Способ представления каждой константы зависит от ее типа.
Примеры литералов:
23 -8.45 's' L'A' 12.345F 4.3e-8 4.3E-8 1300L
⇑
4. Каким образом компилятор распознает целочисленные литералы?
Компилятор C++ пробует определить тип литерала самостоятельно по его значению.
Например, для 16-разрядной среды:
- число 23 связывается с типом int;
- число 300929 связывается с типом long int.
Если нужно принудительно установить значение long int, тогда к литералу нужно прибавить суффикс ‘L‘ или ‘l‘. Например:
20L -300l
Если нужно установить значение литерала как беззнакового (с префиксом unsigned), тогда к литералу добавляется суффикс ‘U‘ или ‘u‘. Например:
1500u // тип unsigned long int 1500U // unsigned int 1500u // unsigned int 1500ul // unsigned long int 1500UL // unsigned long int
⇑
5. Каким образом компилятор распознает литералы с плавающей запятой?
По умолчанию, все константы с плавающей запятой имеют тип double. Если нужно установить тип float, тогда к константе нужно прибавить суффикс ‘f‘ или ‘F‘. Если нужно установить тип long double, тогда к константе прибавляется суффикс ‘l‘ или ‘L‘.
Например:
9000.0009f // float 8888.777F // float 111.222 // double 0.33L // long double -56785757574.33l // long double
⇑
6. Каким образом в C++ записываются шестнадцатеричные и восьмеричные литералы?
Часто в программах целесообразным есть использование шестнадцатеричной или восьмеричной систем исчисления вместо десятичной. Запись литералов в шестнадцатеричной или восьмеричной системах исчисления используется только для целочисленных типов.
В восьмеричной системе исчисления используются цифры от ‘0‘ до ‘7‘.
В шестнадцатеричной системе исчисления используются цифры от ‘0‘ до ‘9‘ и буквы от ‘А‘ до ‘F‘.
Восьмеричные литералы начинаются с префикса ‘0‘.
Шестнадцатеричные литералы начинаются с префикса ‘0x‘ или ‘0X‘.
Например:
010 // Число 10 в восьмеричной системе исчисления 055 // восьмеричная система исчисления 0x10 // шестнадцатеричная система исчисления 0XAFD // шестнадцатеричная система исчисления
⇑
7. Что собой представляют управляющие последовательности символов?
В языках программирования существует ряд констант, которые невозможно ввести в исходный текст программы непосредственно с клавиатуры. Например, символ новой строки.
Кроме того, некоторые символы, такие как одинарные или двойные кавычки, в C++ имеют специальное назначение. Поэтому, их иногда, невозможно ввести напрямую.
Во избежание этой проблемы, в языке C++ (да и в других языках) введены так называемые управляющие последовательности символов. Эти последовательности заменяют символы, которые имеют специальное назначение или символы, которые невозможно ввести с клавиатуры напрямую.
Управляющие символьные последовательности языка C++:
\b - возврат на одну позицию \f - переход к началу следующей страницы \n - новая строка \r - возврат каретки \t - горизонтальная табуляция \" - двойная кавычка \' - одинарная кавычка \\ - обратная дробная черта \v - вертикальная табуляция \a - звуковой сигнал \? - вопросительный знак \N - восьмеричная константа (где N - сама восьмеричная константа) \x - шестнадцатеричная константа (где N - сама шестнадцатеричная константа)
Пример описания переменной, в которую заносится символ управляющей последовательности.
char c1, c2; c1 = '\\'; // обратная дробная черта c2 = '\"'; // двойная кавычка c1 = '\23'; // 23 в восьмеричной системе исчисления c2 = '\x5F'; // 5F в шестнадцатеричной системе исчисления
⇑
Связанные темы
- Базовые типы данных C++ (Visual C++)
- Понятие переменной. Объявление переменной. Выделение памяти для переменной. Константы
- Понятие выражения. Операция присваивания. Преобразование и приведение типов