3. Создание компьютерной программы
3
Этап Инструмент
Создание текста
модуля
(отдельного файла
программы)
Редактор
Перевод исходного
текста модуля в
машинный код
Компилятор
Объединение всех
модулей программы,
подсоединение
библиотечных модулей
Линковщик
(сборщик,
редактор
связей)
Проверка работы
программы и
нахождение ошибок
Отладчик
5. Microsoft Visual Studio
5
Основные задачи VS:
создать проект
выбрать тип
выбрать место
задать имя
добавить файл
редактировать проект
физическая структура : файлы (модули)
логическая структура : функция - блок - оператор - лексема
запустить проект на выполнение
отлаживать проект
в какой последовательности выполняются операторы
какие значения имеют переменные
остановить запущенный проект
сохранить проект
открыть проект
задать свойства проекта
задать свойства среды
изменить конфигурацию среды
17. Интерпретатор vs. Компилятор (условно)
17
Исходный текст
int a = 1;
int b = 2;
int c = a + b;
Результат компилятора
1020 0001 // выделение памяти в выходном файл
1024 0002
1028 0000
0010 1028 1020 // a => c машинная команда
00A0 1028 1024 // c = c + b
Результат интерпретатора
int d[1000]; // выделение памяти в самой программе
d[20] = 1;
d[21] = 2;
d[22] = Add(d[20], d[21]); // с = а + b вызов функции
int Add(int x, int y)
{
int z = x + y;
return z;
}
18. Алфавит и лексемы языка С++
18
В тексте на любом естественном языке можно выделить четыре основных
элемента: символы, слова, словосочетания и предложения. Подобные
элементы содержит и алгоритмический язык:
слова - лексемы (элементарные конструкции),
словосочетания — выражения,
предложения — операторы.
Лексемы образуются из символов, выражения — из лексем и символов, а
операторы — из символов, выражений и лексем.
Алфавит
прописные и строчные латинские буквы: А, В, С, Z, а, b, с, z
цифры: 0, 1,2, 3,4, 5, 6,7,8,9
специальные символы: + -/ % . ? ! " > | ' _ & ~
знаки пунктуации языка: [] () {} , ; : ... * = #
пробельные символы: пробел, символ табуляции, символ перевода строки
прочие символы — только в комментариях к тексту программы
Алфавит C++ служит для построения слов, которые в C++ называются
лексемами.
19. Лексемы языка С++
19
Лексемы — единицы текста программы, которые при компиляции
воспринимаются как единое целое и по смыслу не могут быть разделены на
более мелкие элементы.
Различают пять типов лексем:
идентификаторы (main, std, cout)
ключевые слова (using, void)
знаки (символы) операций (<<, +, =)
литералы (“rus”, 1, 12.3)
разделители (;, {, }, white spaces: пробел, знак табуляции, перевод строки )
20. Escape-последовательности
20
Изображение Шестнадцатиричный
код
Наименование
a 7 Звуковой сигнал
b 8 Возврат на шаг
f С Перевод страницы (формата)
n А Перевод строки
r D Возврат каретки
t 9 Горизонтальная табуляция
v В Вертикальная табуляция
5С Обратная косая черта
’ 27 Апостроф
» 22 Кавычка
? 3F Вопросительный знак
0ddd – Восьмеричный код символа
0xddd ddd Шестнадцатеричный код
символа
22. Raw-строки
22
Префикс R (от англ. raw — “сырой”) позволяет ввести строку без
экранирования символов: все символы между R“ разделитель ( и )
разделитель ” включаются в литерал. Здесь разделитель —
произвольная последовательность символов, которая выбирается так,
чтобы она (с закрывающей скобкой) не встречалась в самой строке.
Перед префиксом R можно поставить префикс, определяющий тип
символа и кодировку.