Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_Практика по С++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
244.22 Кб
Скачать

ПРОГРАМУВАННЯ МОВОЮ C++

Теоретичні відомості до практичних робіт

1. Стандарт мови. Мову програмування C++ на початку 80-х років створив Бьяртні Страуструп на базі популярної серед професіоналів-програмістів мови C, яку розробив Деніс Рітчі. Мова одержала назву від C та операції інкременту (++), визначеної лише у ній. Така операція збільшує на одиницю значення змінної, до якої її застосовують.

C++ є розширенням мови C. Окрім стандартних команд, сюди увійшли засоби для об'єктно-орієнтованого й узагальне­ного програмування. C++ - це перша у світі мова об'єктно-орієнтованого програмування, суть якого полягає в об'єднанні даних та алгоритмів їх опрацювання у єдине ціле.

Оскільки C++ є розширенням мови C, то всі програми, скла­дені мовою C, коректно транслюються компіляторами C++, тому що бібліотеки, які належать до складу мови C, є також і в C++.

Для комп'ютерів різних класів, а також для різних опера­ційних систем створено багато компіляторів мови C++. На­приклад, Turbo C++, Borland C+4- 3.1 (для MS DOS), Borland C++ Builder (візуальне програмування у Win­dows).

Для узгодження всіх реалізацій мови у 1990 ро­ці Американський інститут національних стандартів (ANSI) створив комітет для прийняття стандарту мови C++. Пізніше відповідна комісія була створена й у Міжнародній організації стандартів (ISO). Ці дві організації, які називаються ISO/ANSI, у 1998 році виробили остаточний міжнародний стандарт для C++.

2. Алфавіт і ключові слова. Мови програмування, як і розмовні, мають власний алфавіт - набір допустимих симво­лів. Алфавіт мови C++ складається з:

- великих і малих літер латинського алфавіту;

- цифр 0, 1, ..., 9;

- з спеціальних символів: " ' ( ) [ ] { } < > . , ; : ? ! - * + -= / \ | # % $ & - ^ @ та символу підкреслення _.

Програми складаються із синтаксичних конструкцій, які називаються командами (інші назви - оператори, вказівки, речення).

Іден­тифікатор - це назва (ім'я), яку користувач надає об'єктам, наприклад, змінним, сталим, функціям. Усі слова можуть складатися а рядкових чи прописних літер англійського алфа­віту, цифр, а також містити символ підкреслення. Ідентифіка­тор завжди починається з букви або із символу підкреслення.

Зауваження 1. Однакові за змістом малі та великі літери у мові C++ вважаються різними символами. Наприклад, імена MyName та myname позначають різні об'єкти.

Зарезервовані ідентифікатори називаються ключовими словами. Вони використовуються для написання команд. Змі­нити призначення ключового слова у програмі не можна. Основні ключові слова мови C++:

3. Директиви препроцесора. Препроцесор - це програма, яка опрацьовує директиви. Директиви препроцесора - це команди компілятора відповідної мови програмування, які ви­конуються на початку компіляції програми. Директиви мови C++ починаються із символу #. Розглянемо декілька типів ди­ректив.

Директива #include означає, що до програми необхідно приєднати програмний код із зазначеного після неї файлу.

Файли, які приєднують директивою #include, називаються файлами заголовків (header-файлами, бібліотеками, модуля­ми). У таких файлах зазвичай оголошують сталі й змінні, за­головки (сигнатури) функцій тощо.

Усі стандартні команди та функції мови C++ визначенні у файлах заголовків. Щоб приєднати модуль до програми ко­ристувача, директиву препроцесора необхідно зазначити на початку програми так:

#include <назва файлу.розширення>

або так:

#include "шлях до файлу\назва файлу.розширення"

Зазвичай усі стандартні бібліотеки розміщені у папці INCLUDE середовища C++. У такому випадку назва файлу є параметром директиви, її зазначають у кутових дужках <наз-ва>, наприклад

#include <math.h>.

Якщо ж потрібний файл розміщений не у папці INCLU­DE, то назву файлу із зазначенням шляху пишуть у лапках. Наприклад, якщо деякий файл MyBib.h є у папці stud на диску d:, то треба писати так: #include "d:\stud\MyBib.h".

Зауваження 2. Згідно зі стандартом ISO/ANSI файли заголов­ків у директиві #include прийнято записувати без розширення, наприклад #include <math>.

Директива #define має подвійне значення. По-перше, вона може задати стале значення (оголошує сталу). Наприклад, як­що у програмі задано #define N 25, то N під час виконання прог­рами матиме значення 25. По-друге, вона дає змогу описати макроси - короткі команди (переозначити команди) чи запи­сати функції, наприклад, так:

#define D(a, b, c) ((b) * (b) - 4 * (а) * (c)).

Тепер скрізь для обчислення дискримінанта замість команди

d=b*b-4*a*c можна записувати

d = D(a, b ,c).

Директива #undef скасовує дію директиви #define. Наприклад,

#define D(a,b,c) ((b) * (b) - 4 * (а) * (c))

#undef D

#define D(a,b,c) ((a) * (b) * (c))

4. Структура програми на С++. Суттєвою особливістю мови C++ по­рівняно з іншими мовами є те, що програми складаються з функцій, які відіграють роль підпрограм в інших мовах. Го­ловна функція, яка має бути у кожній програмі, - це функ­ція вигляду

main(void)

{

тіло функції з командою return 0;

де main() - заголовок функції. Ключове слово void означає, що функція не залежить від параметрів, його записувати не обов'язково. Функцію з параметрами розглядатимемо нижче. У тілі функції містяться команди та виклики інших функцій. Команди одну від одної відокремлюють символом ";" (крапка з комою). Текст функції закінчується командою повернення refurn. Тіло функції (усі команди після заголовка) записується

у фігурних дужках { }.

Розглянемо програму, у результаті виконання якої на екран буде виведено повідомлення: Привіт, студенте! Я C++!

// Моя перша програма мовою C++ #include <iostream.h> int main()

{

cout« " Привіт, студенте! Я C++!";

return 0;

}

Розглянемо елементи програми. У першому рядку є ко­ментар. Коментар - це фрагмент тексту програми, який слу­гує для пояснення призначення програми чи окремих команд і не впливає на виконання команд. Його записують так: //текст коментарю або так: /* текст коментарю */. У першому випадку ко­ментар має бути або у кінці рядка, або єдиним у рядку. Другий спосіб більш універсальний: коментар можна запису­вати будь-де, не розриваючи лексем.

Директива #include <iostream.h> під'єднує бібліотечний файл iostream.h. Саме у цьому файлі описані функції, які дають змогу виконувати операції введення-виведення даних.

Далі у програмі записана обов'язкова функція main(). Клю­чове слово int означає, що функція main() повертатиме у точку виклику результат цілого типу.

Конструкція cout « забезпечує виведення на екран моні­тора повідомлення „Привіт, студенте! Я C++!".

Команда return слугує для виходу з функції main(). Число­вий параметр після return є результатом (значенням) функції (у цій програмі - 0).

Зауваження 3. Функцію main() можна застосувати так:

void main()

{

тіло функції;

Така функція називається функцією main() типу void. Вона не повертає у програму жодних значень, тому команду return пи­сати не треба.

Отже, найпростіша програма мовою C++ має такий загальний вигляд:

// коментарі

#include <назва бібліотечного файла>

void main()

{

<тіло функції>;

Зазвичай складніші програми містять значну кількість функцій та додаткових елементів. Тому у загальному випадку програма мовою C++ має такий вигляд:

// коментарі

#include <назва бібліотечного файлу 1^

#include <назва бібліотечного файлу N> <інші директиви препроцесора>

<оголошення глобальних змінних>; <оголошення глобальних сталих>; <оголошення та створення функцій користувача>;

<тип результату функції> main(orwc формальних параметрів)

{

<оголошення локальних змінних>;

<оголошення локальних сталих>;

<команди>;

Розрізняють глобальні та локальні дані. Дані, визначені для всіх функцій, тут називатимемо глобальними, а дані, які використовуються лише в окремих функціях чи блоках, - ло­кальними.

6. Сталі та змінні. Змінна чи стала — це пойменована ді­лянка оперативної пам'яті комп'ютера, де зберігається зна­чення деякої величини.

Змінні і сталі (їх прийнято називати даними) мають такі властивості: назву (ім'я), значення, тип. Назву дає програміст.

Для роботи з даними слід зарезервувати певний обсяг опе­ративної пам'яті комп'ютера, де зберігатимуться їхні значен­ня. Тому всі дані, які використовуються у програмі, потрібно заздалегідь описати (оголосити), оскільки компілятор розподі­ляє пам'ять згідно з описами.

Якщо значення деякої величини (даного) не змінювати­меться протягом виконання усієї програми, то таке дане варто задати як сталу (константу, const). Це можна зробити так:

const <назва сталої 1> = оначення сталої 1>;

або так:

const <тип> <назва сталої 2> = оначення сталої 2>;

Сталу 2 називають типованою сталою. За замовчуванням числова стала належить до цілого типу. Під час виконання програми значення сталих змінювати не можна.

Приклад 1. Оголосимо три сталі

const vik = 20, rist = 176; const float g = 2.78;

Для сталої g задано тип - floati значення 2,78.

Зауваження 5. У C++ є такі стандартні сталі: число n є сталою M_PI, 7i / 2 - M_PI_2, n | 4 - M_PI_4, \|n - M_l_PI, \|4n -M_l_SQRTPI тощо. Ці сталі можна безпосередньо використо­вувати у програмі, заздалегідь підключивши модуль math.h.

Дані, які під час виконання програми можуть набувати різних значень, називаються змінними. їх оголошують так:

<тип змінних 1> <список зміннихі>; <тип змінних N> <список змінних N>;

Елементи списків записують через кому. Наприклад, змінні оголошують так:

int a, c; float b, d, z; char w;.

Змінним можна задавати початкові значення відразу під час оголошення. Це називається ініціалізацією даних. На­приклад, float b, d = 2.5, а = 4; char w = 't';.

Отже, у загальному випадку змінні одного типу оголошу­ють так:

<тип змінних> <назва змінної 1> = значення 1>,

<назва змінної N> = значення N>, <список інших змінних>;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]