- •Данных. Составные структуры данных
- •3.2.1 Общие положения
- •3.2.1.1 Алфавит языка
- •3.2.1.2 Формат программы
- •3.2.1.3. Комментарии
- •// Пример однострочного комментария
- •3.2.1.4 Зарезервированные слова
- •3.2.2 Данные
- •3.2.2.1 Идентификаторы данных
- •3.2.2.2 Типы данных
- •3.2.2.3 Постоянные
- •3.2.2.4 Переменные
- •3.2.2.5 Массивы
- •3.2.2.6 Структуры
- •3.2.2.7 Объединения
- •Масив X:
- •Адреса элементу:
- •Масив y:
- •3.2.2.8 Перечисления
- •3.2.2.9 Указатели
- •Int Hour;
- •Int Press;
- •3.2.2.9.1 Динамическое выделения памяти для хранения данных
- •3.2.2.9.2 Динамическое освобождение памяти от хранимых данных
- •3.2.2.9.3 Ссылка
- •3.2.2.10 Множества
- •3.2.3 Выражения
- •3.2.3.1 Арифметические операции
- •Char int float | signed unsigned | short (базовый) long
- •3.2.3.2 Битовые операции
- •3.2.3.2 Логические операции
- •3.2.3.4 Операции отношения
- •3.2.3.5 Операция присваивания
- •3.2.3.6 Специальные операции
- •3.2.3.7 Элементарные функции
- •3.8 Приведение типов данных
- •3.2.3.9 Приоритеты операций
- •3.2.3.10 Адресные выражения
3.2.1.2 Формат программы
Исходный код программы представляет собой совокупность лексем (неразрывных языковых конструкций) и разделителей лексем:
лексема ::= комментарий | зарезервированное слово | идентификатор | константа
разделитель лексем ::= | \t | \v | \n | \f;
Наличие разделителей лексем и их количество никак не влияет на результат трансляции и размер исполнимого кода программы.
Исходный код программы на языке С++ записывается построчно в свободном формате. Это означает, что операторы программы могут размещаться по нескольку в одной строке или же один - в нескольких строках, а лексемы могут записываться в любых позициях строки. Программа при этом не теряет своей целостности.
3.2.1.3. Комментарии
Комментарий – это лексема, которая используется для внесения смысловых текстовых пояснений в исходный код программы.
Комментарий имеет две формы записи, соответствующих правилам:
символ UNICODE ::= [\u | \U] (0000…FFFF, [0000…FFFF]);
однострочный комментарий ::= //, [{символ UNICODE}];
многострочный комментарий ::= /*, [{символ UNICODE}], [{однострочный комментарий}],
[{многострочный комментарий}], */;
Примеры:
// Пример однострочного комментария
/* пример многострочного
комментария
*/
/* охватывающий многострочный комментарий
// вложенный однострочный комментарий
*/
Наличие комментариев и их количество никак не влияет на результат трансляции и размер исполнимого кода программы.
Символы алфавитов большинства европейских языков могут быть представлены в стандарте кодирования ASCII кодами в виде однобайтовых чисел (т.е. кодами в диапазоне 0… 255). При этом первая половина кодов (0…128) отводится для символов базового набора: специальных символов, латинских заглавных и строчных букв, арабских цифр и символов пунктуации. Вторая половина кодов (128…255) отводится под буквы того или иного национального алфавита. Фактически, вторая половина кодовой таблицы интерпретируется по-разному, в зависимости от того, какой язык считается текущим. Однако для таких языков, как китайский, японский и некоторые другие, одного байта для кодирования символа недостаточно – алфавиты этих языков насчитывают более 255 символов. Решением этой проблемы стало создание стандарта кодирования UNICODE, позволяющего представить символы практически всех письменных языков многобайтовыми числовыми кодами. Стандарт UNICODE описывает универсальный набор символов и семейство кодировок, между которыми установлено взаимнооднозначное соответствие. Коды символов разделены на несколько областей. Область с кодами 0000…007F содержит символы ASCII . Далее расположены области символов различных письменностей, символов пунктуации и технических символов. Часть кодов зарезервирована для использования в будущем. Под символы кириллицы выделены области кодов: 0400 … 052F, 2DE0…2DFF, A640…A69F.
