Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 5 Функции.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
219.14 Кб
Скачать

15

Тема 5 Функции

5.1 Синтаксис функций

Функция – это самостоятельная поименованная часть программы, которая может получать аргументы и может возвращать вычисленное в ней значение.

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

Любая программа на С++ состоит из функций, одна из которых должна иметь имя main (именно с неё начинается выполнение программы).

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

Таким образом, в работе с функцией существует 3 ключевых момента:

  • объявление;

  • вызов;

  • определение.

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

Тип ИмяФункции ( список_параметров );

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

Тип ИмяФункции ( список_параметров )

{

// тело функции

}

Рассмотрим составные части определения.

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

  • Список параметров (или формальных параметров) определяет величины, в которых хранятся значения аргументов (или фактических параметров), передаваемых в функцию при её вызове. Элементы списка параметров разделяются запятыми. Для каждого параметра, передаваемого в функцию, указывается его тип и имя (в объявлении имена можно опускать).

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

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

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

Пример функции, возвращающей сумму двух целых величин:

#include <stdio.h>

int Sum (int x, int y); // объявление функции

//--------------------------------------------------------------------

void main( )

{

int A, B, C;

printf ( “\n Введите A ”);

scanf (“%d”, &A);

printf ( “\n Введите B ”);

scanf (“%d”, &B);

C = Sum (A, B); //вызов функции

printf ( “\n Сумма %d и %d равна %d”, A, B, C);

getch ();

}

//--------------------------------------------------------------------

int Sum (int x, int y) // определение функции

{

return x + y;

}

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