Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Ч1(программирование).doc
Скачиваний:
52
Добавлен:
01.03.2016
Размер:
1.83 Mб
Скачать
      1. Виклик функції

Оператори функції виконуються тільки тоді, коли здійснюється звертання до даної функції. Таке звертання називають викликом функції. Виклик функції виглядає так:

ім’я_функції(список_фактичних_параметрів)

Список фактичних параметрів являє собою послідовність виразів, які задають значення формальних параметрів, що перелічені в описі функції. Фактичні параметри обов’язково мають відповідати формальним за кількістю, порядком розташування та типом. Але не за назвами!

Виклик функції, що повертає якесь значення, можна використовувати як вираз, а також в якості операнда виразу. Значенням такого операнда буде значення, що повертає функція.

Приклад звернень до функції, опис якої наведено у попередньому пункті, представлено нижче:

У цьому прикладі перше звернення до нашої функції відбувається під час визначення змінної у. Фактичними параметрами у цьому випадку є константи 4.2 та 5.4, а результатом число 9.6. Друге звернення до нашої функції відбувається у виразі, що передається об’єкту cout. Фактичними параметрами у цьому випадку є змінна х та вираз у/2, а результатом буде число 5.5.

… float x=2.3; float y=sumTwoNumber(4.2, 5.4); cout <<3+sumToNumber(x, y/3);

      1. Прототип функції

Для того, щоб компілятор мав можливість перевірити правильність звертання до функції та використання її результату, опис функції має бути наведено раніше, ніж звертання до неї. Але розташувати таким чином усі функції програми не завжди можливо, а окрім того, і недоречно. Найкраще першою розташовувати функцію main(), далі записувати функції, які послідовно розкривають алгоритм вирішення задачі, а у кінці наводити функції, що деталізують окремі кроки алгоритму.

Для того, щоб у програмах на мові С можна було використовувати довільний порядок розташування функцій використовують прототипи функцій. Прототип функції співпадає із її заголовком і не має тіла, тобто має таку форму:

тип_значення_ що_повертається ім’я_функції(список_формальних_параметрів);

Прототип містить усю інформацію, що потрібна компілятору для перевірки правильності застосування функції, і таким чином може замінити для компілятора опис функції, якщо цей прототип розташувати перед викликом функції. Найчастіше прототипи функцій записують перед функцією main(), що є початком програми.

Слід зазначити, що у прототипі можна навіть не наводити імен формальних параметрів, достатньо лише вказати їх типи.

Так, прототип функції, що розглядалася вище як приклад виглядає так:

float sumTwoNumber (floata, float b);

Той же прототип може виглядати і так:

float sumTwoNumber (float, float);

      1. Прототипи бібліотечних функцій

Майже кожна програма на мові С використовує бібліотечні функції. Тексти цих функцій попередньо компілюють, а отримані об’єктні коди записують у бібліотеки. Прототипи цих бібліотечних функцій записують у спеціальних заголовних файлах. Ці файли у мові С мали розширення .h. Але в мові С++ від цього розширення відмовилися. Деякі заголовні файли С були перетворені у заголовні файли С++. Для таких файлів замість розширення .h почали використовувати префікс с. Так, наприклад, файл math.hстав файлом cmath.

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

#include <cmath>

Слід зазначити, що використання у програмі заголовних файлів С++, за звичай вимагає включення у програму директиви використанняпростору імен:

using namespec std;

Тут std – це простір імен стандартних компонентів компілятора С++.