Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмизация и программирование на языке С++. Ч.1. Учебник

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
2. Среды разработки С++ инаписаниепервой программы
11
dio 2019 и среде онлайн-разработки Online GDB [15]. Заме­тим, что Online GDB поддерживает разработку программ на более чем 20 языках программирования.
В текст практически любой программы, написанной на С-подобном языке программирования, должны быть вклю­чены так называемые директивы препроцессора. Они, напри­мер, содержат описания библиотек. В С++ нет инструкции языка, обеспечивающей ввод и вывод информации. Для этого надо использовать библиотечные модули, а значит, директи­ву предпроцессора. Краткое описание последних содержится в прил. 1.
 DevC++
При запуске среды разработки 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, посвященном описанию функций. Еще раз заметим, что подключение заголовочных файлов зачастую сильно уве­личивает объем компилируемого файла, обеспечивая мно­жество возможностей, большая часть которых, как правило, не используется.
 
VisualStudio 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::
обращаться без использования
::
чия (
) – это операции разрешения области видимости. Он
. Знак двойного двоето-
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]