Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Техн.прогр.в.2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
962.56 Кб
Скачать

Алфавит

Стандарт С99 выделяет два набора символов, входящих в алфавит: базовый и расширенный. Базовый набор включает следующие символы:

- прописные и строчные буквы латинского алфавита;

- арабские цифры;

- специальные знаки: “ { } , | [ ] ( ) + - / % \ ; ‘ : ? < = > _ ! & # ~ ^ . *

Расширенный набор символов может быть как пустым, так и содержать, например, символы национальных алфавитов. Например, Ms Visual Studio 2008 позволяет использовать некоторые подмножества пространства Юникод, в том числе, кириллицу.

Есть специальные группы из трех символов (трехсимвольные последовательности / trigraph sequences), которые на этапе препроцессорной обработки преобразуются в другие символы, например, ??= соответствует #, ??( соответствует [, ??/ соответствует \ и другие.

Лексемы

Из символов алфавита формируются следующие лексемы языка.

1. Идентификаторы – набор символов, используемый для идентификации объектов (переменных, функций, классов, типов данных и т.д.) Идентификаторы записываются в соответствии с правилами – это последовательность букв, цифр и символов подчёркивания, начинающаяся не с цифры. Идентификаторы в языках С, С++ чувствительны к регистру букв, в отличие, например, от ЯВУ Pascal.

Особым видом идентификаторов являются ключевые (служебные) слова – они зарезервированы для специального использования и не могут быть переопределены.

Стандарт С99 закрепляет следующие ключевые слова: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, inline, int, long, register, restrict, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while, _Bool, _Complex, _Imaginary

2. Константы – это объекты, обращение к которым происходит «по значению» (терминология Э.Дейкстры, определявшего отличие констант и переменных по способу их использования в программах, – используя имя переменной, мы указываем адрес данного, а используя константу, мы записываем её саму, т.е. её значение). В Си поддерживается четыре простых типа констант – символьные, целые, с плавающей точкой и строковые. Тип константы определяет способ ее хранения в памяти и операции, допустимые по отношению к ней. Значение типа задается формой записи константы (её внешним видом).

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

4. Разделители. В качестве разделителей выступают пробел, табуляция и переход на новую строку.

5. Комментарии – наиболее простой элемент. Их назначение – улучшить «читаемость» текста человеком, они необходимы для сопровождения программ и являются элементом технологии разработки программного обеспечения. В языке поддерживаются два типа комментариев – блочные и строчные.

Блочные комментарии включают любую последовательность символов на одной или нескольких строках, они начинаются и заканчиваются специальной комбинацией символов /* и */ , которые нельзя использовать ни в каком другом контексте.

Строчные комментарии располагаются на одной строке и начинаются двойным слешем

Примеры:

// Комментарий должен уместиться до конца строки

/*

а между этими символами можно писать многострочные комментарии

*/

Если некоторый текст программы занимает несколько строк, но должен быть обработан компилятором как одна строка, используют символ «\».

Пример:

printf(“Это \

всё \

одна \

строка\

);