Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Алгоритмизация и программирование на языке С++. Ч.1. Учебник
.pdf
2. Среды разработки С++ инаписаниепервой программы
11
dio 2019 и среде онлайн-разработки Online GDB [15]. Заметим, что Online GDB поддерживает разработку программ на
более чем 20 языках программирования.
В текст практически любой программы, написанной на
С-подобном языке программирования, должны быть включены так называемые директивы препроцессора. Они, например, содержат описания библиотек. В С++ нет инструкции
языка, обеспечивающей ввод и вывод информации. Для этого
надо использовать библиотечные модули, а значит, директиву предпроцессора. Краткое описание последних содержится
в прил. 1.
DevC++
При запуске среды разработки Dev C++ (v. 5.11) командой File-NewProject открывается окно для выбора типа проекта (рис. 2.1).
Рис. 2.1. Окно выбора типа проекта в Dev C++
Выбираем тип проекта – Console Application. Следующий
шаг – изменение имени проекта (в нашем случае по умолчанию задано Project1). Откроется окно редактора исходного
текста программы (рис. 2.2).

12
Рис. 2.2. Окно исходного текста проекта Dev C++
АЛГОРИТМИЗАЦИЯ ИПРОГРАММИРОВАНИЕ НАЯЗЫКЕ С++
Как комментарий в тексте предложено добавить строку с
функцией
метром
pause
getch()
или обращение к функции
system()
с пара-
. В обоих случаях завершение работы программы
будет задержано до нажатия любой клавиши на клавиатуре.
Тем самым окно с результатом выполнения отлаживаемой
программы не закроется мгновенно.
Теперь попробуем добавить в текст программы такую
строку:
cout << "Hello World!\n";
Но до выполнения программы потребуется задать имя ис-
ходного текста. Будет предложено
main.cpp
. Обратим внимание
на папку, где сохранится файл исходного текста программы.
Ее имя – Документы (полный путь к папке –
OneDrive\Документы
). Он был выбран при установке программы.
C:\Users\ais49\
Там же сохранится и исполнимый файл (с расширением *.exe)
после компиляции и сборки программы, перед ее выполнением. Каталог, куда будут сохраняться эти файлы, определен в
среде Dev C++ после выбора таких команд –
Options
, и далее строка ввода –
User’s default directory
Tools-Environment_
. Есте-
ственно, его можно заменить на другой.
Многие учебники по программированию начинаются этой
программой. Она выводит в консоль сообщение
Hello World!

2. Среды разработки С++ инаписаниепервой программы
13
Многие учебники, посвященные С или С++, начинаются
именно с этой программы.
После выполнения такой программы:
int main(int argc, char** argv) {
cout << "Hello World!\n";
return 0;
}
будет выведено сообщение об ошибке:
[Error] 'cout' was not declared in this scope
Изменим строку с выводом на такую –
World!\n";
и еще добавим такую –
return 100;
std::cout << "Hello
. Получим ре-
зультат, приведенный на рис. 2.3.
Рис. 2.3. Результат работы первой программы в Dev C++
Теперь уберем строку с
return
. Получим результат, приве-
денный на рис. 2.4.
Рис. 2.4. Результат выполнения программы с удаленным
return
Как мы видим, без инструкции
Также отметим, что символы
return
код возврата равен 0.
\n
(управляющая последова-
тельность) осуществляют перевод курсора на новую строку.

14
АЛГОРИТМИЗАЦИЯ ИПРОГРАММИРОВАНИЕ НАЯЗЫКЕ С++
Теперь уберем аргументы функции
int
на
void
заголовке
. Выведется ошибка:
main()
и заменим в ее
[Error] '::main' must return 'int'
А вот в Visual Studio такая программа
#include <iostream>
using namespace std;
void main()
{
cout << "Hello World!\n";
//return 1;
system("pause");
}
не выявила ошибки и вывела результат. Обратите внимание
на использование строки обращения с функцией
Функция выполняет заданную через параметр
"pause"
system()
.
системную команду. На самом деле функция не сама выполняет команду, она вызывает командный процессор для выполнения команд. Что интересно – описание этой функции
находится в заголовочном файле
cstdlib
для С++ и
stdlib
для С. Но его подключение не потребовалось. Был подключен только файл
iostream
. Он находится в папке по адресу
C:\
Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\
4.9.2\include\c++
Если посмотреть содержимое файла
описания функции
.
system()
. Но есть ссылки на другие за-
iostream
, то там нет
головочные файлы, в том числе содержащие описания этой
функции. Заголовочный файл (иногда головной файл, англ.
header file), или подключаемый файл, – в языках программирования Си и C++ это файл, содержащий определения типов данных, структуры, прототипы функций, перечисления,
макросы препроцессора [16].
Таким образом, подключение системных средств может
потребовать значительное увеличение исходного кода перед
трансляцией.

2. Среды разработки С++ инаписаниепервой программы
15
Результат выполнения программы представлен на рис. 2.5.
Обратите внимание, что дополнительное сообщение о результате выполнения программы не выводится.
Рис. 2.5. Результат выполнения программы с функцией
system()
Включение в текст программы заголовочных файлов предполагает, что перед компиляцией в исходный код программы добавляются строки, содержащиеся в них. Они содержат
необходимые описания, требующиеся для выполнения тех
или иных библиотечных функций. Такие описания имеют
статус глобальных. Об этом будет сказано подробнее в разделе 9, посвященном описанию функций. Еще раз заметим,
что подключение заголовочных файлов зачастую сильно увеличивает объем компилируемого файла, обеспечивая множество возможностей, большая часть которых, как правило,
не используется.
VisualStudio 2022
Рассмотрим процесс создания программы в среде Visual
Studio (версия 2022). Начинаем с выбора проекта. Вот что го-
ворится о нем на сайте MicroSoft: «При создании приложения
или веб-сайта в Visual Studio вы начинаете с проекта. В логическом смысле проект содержит все файлы, которые компилируются в исполняемый файл, библиотеку или веб-сайт. Эти
файлы могут включать исходный код, значки, изображения,
файлы данных и многое другое. Проект также содержит пара-

16
АЛГОРИТМИЗАЦИЯ ИПРОГРАММИРОВАНИЕ НАЯЗЫКЕ С++
метры компилятора и другие файлы конфигурации, которые
могут потребоваться различным службам или компонентам,
с которыми взаимодействует программа» [17].
Открыв Visual Studio 2022, выбираем «Создание проекта»
(рис. 2.6).
Рис. 2.6. Окно выбора для создания проекта
Далее выбираем «Консольное приложение С++» (рис. 2.7).
Рис. 2.7. Выбираем «Консольное приложение С++»
Затем команду «Далее» (рис. 2.8).
Рис. 2.8. Продолжение создания проекта
Откроется последний экран создания проекта (рис. 2.9).

2. Среды разработки С++ инаписаниепервой программы
Рис. 2.9. Окно настроек проекта
17
В этом окне мы можем изменить имя проекта. Обращаем
внимание на его расположение. Например, это может быть
C:\Users\ais49\source\repos
. Теперь можно выбрать команду
«Создать». Появится окно редактирования исходного кода
с таким текстом программы:
#include <iostream>
int main()
{
std::cout << «Hello World!\n»;
}
Для запуска программы выбираем команду «Локальный
отладчик Windows» (на панели инструментов), или команду
«Отладка-Запустить отладку», или клавишу F5. Это приведено в комментариях исходного текста программы проекта
Visual Studio-Консольное приложение С++. Там же приводится другая информация о работе с проектами.

18
АЛГОРИТМИЗАЦИЯ ИПРОГРАММИРОВАНИЕ НАЯЗЫКЕ С++
// ConsoleApplication6.cpp : Этот файл содержит функцию "main".
Здесь начинается и заканчивается выполнение программы.
// Отладка программы: F5 или меню "Отладка" > "Запустить отладку"
// Советы по началу работы
// 1. В окне обозревателя решений можно добавлять файлы
и управлять ими.
// 2. В окне Team Explorer можно подключиться к системе
управления версиями.
// 3. В окне "Выходные данные" можно просматривать выходные
данные сборки и другие сообщения.
// 4. В окне "Список ошибок" можно просматривать ошибки.
// 5. Последовательно выберите пункты меню "Проект" > "Добавить
новый элемент", чтобы создать файлы кода, или "Проект" >
"Добавить существующий элемент", чтобы добавить в проект
существующие файлы кода.
// 6. Чтобы снова открыть этот проект позже, выберите пункты меню
"Файл" > "Открыть" > "Проект" и выберите SLN-файл.
Также можно использовать комбинацию клавиш <Ctrl+F5>
или выбрать команду «Отладка-Запустить без отладки».
Запустим программу клавишей F5 (рис. 2.10).
Рис. 2.10. Результат работы первой программы после
нажатия F5
Если использовать <Ctrl+F5>, получим несколько другой результат (рис. 2.11).
Меню Visual Studio содержит очень много команд. В основ-
ном меню 13 позиций. В позиции меню «Вид» более двух десятков команд. Например, отобразить исходный код програм-

2. Среды разработки С++ инаписаниепервой программы
19
мы (Вид-Код или F7). Там же есть команда – Список ошибок.
После запуска программы, приведенной выше, в этом окне
нет ни ошибок, не предупреждении (рис. 2.12). Хотя в тексте
return
программы есть неточность – отсутствует
Рис. 2.11. Результат работы программы после
нажатия <Ctrl+F5>
.
Рис. 2.12. Окно Список ошибок
Инструкция
return
в С-подобных языках программирова-
ния возвращает значения процессу, вызвавшему его. В слу-
main()
чае с функцией
значение возвращается среде. В тексте
программы нет такой инструкции, но в окне выполнения появляется информация что процесс завершился с кодом возврата 0 (см. рис. 2.11). Изменим текст программы:
#include <iostream>
int main()
{
std::cout << "Hello World!\n";
return 0;
}

20
АЛГОРИТМИЗАЦИЯ ИПРОГРАММИРОВАНИЕ НАЯЗЫКЕ С++
Получим такой же результат, что и прежде.
А если выполнить такую программу:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World!\n";
return 1;
}
то получим другой результат – код 1 (рис. 2.13). Видимо, в
return
среде Visual Studio, если не применить инструкцию
main()
функции
, по умолчанию генерируется код возврата
в
равный нулю.
Рис. 2.13. Результат с кодом возврата 1
В приведенной фрагменте вне текста программы добавле-
на директива (
using namespace std;
), определяющая пространство имен – область исходного кода программы, где действуют различные идентификаторы: переменные, функции и т.д.
Пространство имен, задаваемое приведенной выше строкой,
делает доступными функции стандартной библиотеки С++,
называемой STL (Standard Template Library – библиотека
стандартных шаблонов). Теперь к выходному потоку можно
std::
обращаться без использования
::
чия (
) – это операции разрешения области видимости. Он
. Знак двойного двоето-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
