Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП. ЛЕКЦИИ! Готовимся к экзамену))).docx
Скачиваний:
12
Добавлен:
10.12.2018
Размер:
175.63 Кб
Скачать

ТРПП (3 курс) 60 / 60

Тема 1.1(1). Лексика ЯП С++. Структура программы

Тема 1.1(1). Лексика ЯП С++. Структура программы

Цели изучения темы

  • ознакомиться с лексикой языка программирования С++;

  • изучить структуру программы;

      1. Состав языка программирования С++

В тексте на любом алгоритмическом языке можно выделить четыре основных элемента:

  • алфавит языка (или его символы) – это основные неделимые знаки, с помощью которых пишутся все тексты на языке;

  • слово (или лексема, или элементарная конструкция) – минимальная единица языка, имеющая самостоятельный смысл;

  • выражение – задает правило вычисления некоторого значения;

  • оператор – задает законченное описание некоторого действия.

Для описания сложного действия требуется последовательность операторов. Операторы могут быть объединены в составной оператор (блок).

Составной оператор (блок) – это последовательность операторов, которые рассматриваются как один оператор.

В языке С++ блоком (составным оператором) считается последовательность операторов, заключенных в фигурные скобки:

{

оператор1;

оператор2;

..;

операторN;

}

Объединенная единым алгоритмом совокупность описания и операторов образует программу на алгоритмическом языке (языке программирования). Для того чтобы выполнить программу, требуется перевести ее в машинные коды – язык, понятный процессору. Этот процесс состоит из нескольких этапов.

Этапы создания исполняемой программы

  1. Набирается исходный текст модуля (файл с расширением .cpp).

  2. Программа (исходный текст модуля) передается препроцессору, который выполняет директивы, содержащиеся в ее тексте.

Препроцессором называется первая фаза компилятора.

Инструкции (команды) препроцессора называются директивами. Например, включение в текст так называемых заголовочных файлов – текстовых файлов, в которых содержаться описания используемых в программе элементов. Включаемые файлы имеют расширение .h.

Инструкции препроцессора начинаются с символа #, перед которым в строке могут находиться только пробельные символы (см. 1.1.2. Алфавит языка С++).

В результате выполнения директив препроцессора формируется полный текст модуля программы (файл с расширением .cpp).

  1. Полный текст модуля поступает на вход компилятора, который распознает выражения и операторы и преобразует их в машинные коды. При этом компилятор выявляет синтаксические ошибки. В случае отсутствия ошибок строится объектный модуль программы (файл с расширением .obj).

  2. Компоновщик (или редактор связей) формирует исполняемый модуль программы, подключая к объектному модулю другие объектные модули (как из стандартных библиотек, так и пользовательские). Исполняемый модуль имеет расширение .exe и запускается на выполнение обычным образом.

Программа может состоять из нескольких модулей (исходных файлов). В этом случае все исходные файлы компилируются по отдельности и объединяются на этапе компоновки.

Схема создания исполняемой программы

      1. Алфавит языка С++

Алфавит С++ включает:

  • прописные и строчные латинские буквы и знак подчеркивания;

  • арабские цифры от 0 до 9;

  • специальные знаки:

“ { } , | [ ] ( ) + – / % * . \

‘ : ? < = > ! & # ~ ; ^

  • пробельные символы: пробел, символ табуляции, символ перехода на новую строку.

      1. Идентификаторы

Идентификатор – это имя программного объекта.

Правила выбора (создания) идентификатора:

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

  2. прописные и строчные буквы различаются; например, SpK, SPK и spk – три различных имени;

  3. первым символом может быть буква или знак подчеркивания; не рекомендуется начинать со знака подчеркивания, т.к. они могут совпасть с именами системных функций или переменных;

  4. пробелы внутри имён не допускаются;

  5. идентификатор не должен совпадать с ключевыми (зарезервированными) словами и именами используемых стандартных объектов языка.

ПРИМЕЧАНИЕ.

Существует соглашение о правилах создания имен, называемое венгерской нотацией (предложил её сотрудник компании Microsoft венгр по национальности), по которому каждое слово, составляющее идентификатор, начинается с прописной буквы, а в начале ставится префикс, соответствующий типу величины. Например, iMaxLength, lNumberOfTask.

Другая традиция – разделять слова, составляющие имя, знаками подчеркивания. Например, max_length, number_of_task.