Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР13-С++17-мая-2012.doc
Скачиваний:
13
Добавлен:
15.09.2019
Размер:
1.3 Mб
Скачать

1.3.1. Тело функции

Правила оформления тела функции такие же, как и любого другого участка программы. Все объявления носят локальный характер, т.е. объявленные переменные доступны только внутри функции.

Тело функции содержит:

• описания локальных переменных, их область действия — это тело функции, описание алгоритма,

• возврат в точку вызова. Используется оператор return (2 формы).

Описания объектов в теле функции используются, чтобы объявить локальные переменные функции, то есть те, которыми функция пользуется для решения своих частных задач. Областью действия локальных переменных является тело функции, за пределами которого эти переменные не существуют.

Описание алгоритма не представляет особенностей. Это должен быть общий алгоритм решения некоторой самостоятельной задачи. Он самодостаточен, замкнут в себе, абстрактен. Единственное, что связывает его с внешним миром, это входные данные, приходящие извне, и результат работы алгоритма, который он должен передать в вызывающую функцию (вернуть во внешний мир).

Возврат из функции в точку вызова выполняет оператор return, который передает управление в вызывающую программу, и возвращает одно значение.

Может иметь две формы:

return Выражение; // выход из функции с передачей значения,

return; // выход из функции без передачи значения.

Таким образом, возвращаемое значение может быть только одно. На самом деле это не так, далее мы рассмотрим механизм указателей, который позволит решать задачи передачи данных.

Оператор return в тексте функции может быть не один, если алгоритм функции требует, чтобы вариантов выхода из нее было несколько.

1.3.2. Формальные параметры функции

В описании функции ее внешние данные названы формальные параметры.

Это название подчеркивает, что данные описания формальны, абстрактны, то есть не участвуют в реальных действиях, а только описывают взаимосвязь данных в теле функции. Количество формальных параметров функции и их типы могут быть любыми.

1.3.3. Обращение к функции

Под обращением к функции понимается реальное выполнение ее алгоритма, каждый раз с различными входными данными. Выполняется из любой другой функции программы с использованием механизма вызова функции через операцию обращения.

Обращение к функции зависит от типа функции, и может иметь 2 формы.

Первая форма обращения — оператор-выражение.

Если функция возвращает значение, то им является одно значение базового типа или указатель. Оно может быть использовано в выражениях или печати в виде обращения к функции (называется «оператор-выражение»), синтаксис которого:

– при использовании в выражениях:

переменная = имя_функции (фактические параметры);

– в списке вывода при печати:

printf ("форматная_строка ", имя_функции (фактические_параметры));

Покажем на примере обращения к библиотечной функции sin.

y = sin(x); // значение функции вычислено и присвоено

printf("%6.2f", sin (x)); // значение функции напечатано

sin (x); // значение функции вычислено, но

// что происходит с вычисленным значением?

Вторая форма обращения — оператор-функция.

Если функция не возвращает значения (функция типа void), то обращение к ней выглядит как обычный оператор программы, и имеет специальное название «оператор-функция», синтаксис которого:

имя_функции (фактические параметры);

Оператор-функция, выглядит, как обычный оператор программы. Покажем на примере обращения к библиотечной функции printf.

printf ("%d,%d" a, b);