Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ООП_Навч_посібник.doc
Скачиваний:
8
Добавлен:
01.07.2025
Размер:
6.58 Mб
Скачать

2.1.3. Виконання програми

Скомпільована програма готова до виконання. Оскільки результатом роботи С++-ком­пі­ля­тора є виконуваний об'єктний код, то для запуску програми як команду достатньо ввести її ім'я. Наприклад, щоб виконати програму Grycyuk_Prog.ехе, потрібно ввести такий запис у командному рядку:

С:\...>Grycyuk_Prog.срр

Результатом виконання цієї програми є такий:

Це моя перш С++-програма.

Якщо Ви використовуєте інтегроване середовище розробки, то виконати програму можна шляхом вибору з меню команди Run (Виконати). Безумовно, точніші настанови наведено в супровідній документації, що додається до Вашого компілятора (див. дод. А і Б). Але, як згадувалося вище, найпростіше компілювати і виконувати наведені у цьому навчальному посібнику програми за допомогою командного рядка.

Необхідно відзначити, що всі ці програми є консольними додатками, а не додатками, які базуються на застосуванні вікон, тобто вони виконуються в сеансі запрошення на введення команди. При цьому Вам, мабуть, відомо, що мова програмування C++ не просто підходить для Windows-програмування, вона – основна мова, що використовують для розроблення Windows-додатків. Проте жодна з програм, представлених у цьому навчальному посібнику, не використовує графічного інтерфейсу користувача (GUI – graphics user interface). Йдеться про те, що Windows – достатньо складне середовище для написання програм, що містить багато другорядних тем, не пов'язаних безпосередньо з мовою програмування C++. Водночас консольні додатки є набагато коротшими від графічних і краще надається для вивчення процесу програмування. Засвоївши мову програмування C++, Ви зможете без перешкод застосувати свої знання у сфері створення Windows-додатків.

2.1.4. Порядкóвий аналіз програми

Після успішного компілювання та виконання першого прикладу програми настав час з'ясувати, як вона працює. Тому ми детально проаналізуємо кожен її рядок. Отже, наша програма починається з таких рядків.

// Програма №1 – Перша С++-програма.

Це – коментар. Подібно до більшості інших мов програмування, C++ дає змогу вводити в початковий код програми коментарі, зміст яких компілятор ігнорує. За допомогою коментарів описуються або пояснюються дії, що виконуються у програмі, і ці пояснення призначаються для тих, хто читатиме початковий код. У цьому випадку коментар просто ідентифікує програму і нагадує, що з нею потрібно зробити. Зазвичай, в реальних програмних продуктах коментарі використовуються для пояснення особливостей роботи окремих частин програми або конкретних дій програмних засобів. Іншими словами, Ви можете використовувати коментарі для детального опису всіх (або деяких) її рядків.

Коментар – це текст змісту, пояснення, що вбудовується у програму.

У мові програмування C++ підтримується два типи коментарів. Перший, показаний на початку даної програми, називається багаторядковим. Коментар цього типу повинен починатися символами /* і закінчуватися ними ж, але переставленими в зворотному порядку (*/). Все, що знаходиться між цими парами символів, компілятор ігнорує. Коментар цього типу, як випливає з його назви, може займати декілька рядків. Другий тип коментарів ми розглянемо трохи нижче.

Наведемо тут наступний рядок програми:

#include <iostream> // Для потокового введення-виведення

У мові мови програмування C++ визначено ряд заголовків (header), які зазвичай містять інформацію, необхідну для програми. У нашу програму внесено заголовок <iostream> (він використовують для підтримки С++-системи введення-виведення), який є зовнішнім початковим файлом, що поміщається компілятором в початок програми за допомогою директиви #include. Нижче у цьому навчальному посібнику ми ближче познайомимося із заголовками і дізнаємося, чому вони такі важливі.

Для розуміння сказаного розглянемо такий рядок програми:

using namespace std; // Використання стандартного простору імен

Цей рядок означає, що компілятор повинен використовувати простір імен std. Простори імен – відносно недавнє доповнення до мови програмування C++. Детальніше розглянемо їх пізніше, а поки обмежимося їх коротким визначенням. Простір імен (namespace) створює декларативну область, у якій можуть розміщуватися різні елементи програми. Простір імен дає змогу зберігати одну множину імен окремо від іншої. Іншими словами, імена, оголошені в одному просторі, не конфліктуватимуть з іменами, оголошеними в іншому. Простори імен дають змогу спростити організацію великих програм. Ключове слово return інформує компілятор про використання заявленого простору імен (у цьому випадку std). Саме у просторі імен std оголошена вся бібліотека стандарту мови програмування C++. Таким чином, використовуючи простір імен std, Ви спрощуєте доступ до стандартної бібліотеки мови.

Черговий рядок в нашій програмі є однорядковим коментарем:

// main() – початок виконання програми.

Так виглядає коментар другого типу, підтримуваний мовою програмування C++. Однорядковий коментар починається з пари символів // і закінчується в кінці рядка. Як правило, програмісти використовують багаторядкові коментарі для детальних і більше розлогих пояснень, а однорядкові – для коротких (порядкóвих) описів настанов або призначення використовуваних змінних. Взагалі-то, характер використання коментарів – особиста справа програміста.

Перейдемо до такого рядка:

int main()

Як повідомлено у щойно розглянутому коментарі, саме з цього рядка і починається виконання програми.

З функції main() починається виконання будь-якої С++-програми.

Всі С++-програми складаються з однієї або декількох функцій1. Кожна С++-функція має ім'я, і тільки одна з них (її повинна містити кожна С++-програма) називається main(). Виконання С++-програми починається та закінчується (здебільшого) виконанням функції main()2. Відкрита фігурна дужка в наступному (після int main()) рядку вказує на початок коду функції main(). Ключове слово int (скорочення від слова integer), що знаходиться перед іменем main(), означає тип даних для значення, що повертається функцією main(). Як Ви згодом дізнаєтеся, мова програмування C++ підтримує декілька вбудованих типів даних, і тип даних int – один з них.

Розглянемо черговий рядок програми:

cout << "Це моя перш С++-програма.";

Це настанова вказує на виведення даних на консоль. Під час її виконання на екрані монітора з'явиться повідомлення: Це моя перша C++-програма. У цій настанові використовують оператор виведення даних "<<". Він забезпечує виведення виразу, що знаходиться з правого боку, на пристрій, який було вказано зліва. Слово cout є вбудованим ідентифікатором (складений з частин слів console output), який здебільшого означає екран комп'ютера. Отже, ця настанова забезпечує виведення заданого повідомлення на екран. Звернемо Вашу увагу на те, що ця настанова завершується крапкою з комою. Насправді всі виконувані С++-настанови завершуються крапкою з комою.

Повідомлення "Це моя перша C++-програма." є рядком. У мові програмування C++ під рядком розуміють послідовність символів, поміщених у подвійні лапки. Як Ви побачите пізніше, рядок у мові С++ – це один з часто використовуваних елементів мови.

А цим рядком завершується функція main():

getch(); return 0;

Під час її виконання функція main() повертає процесу (ним зазвичай виступає операційна система), який викликається, значення 0. Для більшості операційних систем нульове значення, яке повертає ця функція, свідчить про нормальне завершення роботи програми. Інші значення можуть означати завершення роботи програми у зв'язку з якою-небудь помилкою. Слово return належить до ключових і використовують для повернення значення з функції. При нормальному завершенні (тобто без помилок) всі Ваші програми повинні повертати значення 0.

Закрита фігурна дужка в кінці програми формально завершує її. Хоча фігурна дужка насправді не є частиною об'єктного коду програми, її "виконання" (тобто обробку закритої фігурної дужки функції main()) подумки можна вважати кінцем С++-програми. І справді, якщо у наведеному прикладі коду програми настанова return була б відсутня, то програма автоматично завершилася б після досягнення цієї закритої фігурної дужки.