- •Лекция 8
- •Основные понятия и определения
- •Основные понятия и определения
- •Основные понятия и определения
- •Виды функций
- •Описание функций
- •Прототип функции
- •Параметры функции
- •Прототип функции
- •Заголовок функции
- •Заголовок функции
- •Тело функции
- •Пример
- •Пример
- •Пример
- •Пример
- •Структура программы
- •Пример
- •Пример
- •Функциональная схема программы
- •Пример
- •Возвращаемое значение функции
- •Пример
- •Пример
- •Возврат значений сложных типов
- •Параметры функции
- •Передача параметров по значению и по ссылке
- •Передача по значению
- •Передача по ссылке
- •Передача по ссылке
- •Пример
- •Пример
- •Массивы как параметры функции
- •Массивы как параметры функции
- •Массивы как параметры функции
- •Массивы как параметры функции
- •Массивы как параметры функции
- •Строки как параметры функции
- •Строки как параметры функции
- •Передача параметров
- •Нижний уровень передачи параметров
Лекция 8
Функции: понятие, описание. Структура программы.
Передача параметров и возврат значений.
Основные понятия и определения
Нисходящее программирование – процесс разработки программ, при котором сложная программа разбивается на ряд более простых подпрограмм, которые в свою очередь также могут быть разбиты на ряд еще более простых подпрограмм. Этот процесс продолжается до получения элементарных подпрограмм, реализация которых не представляет большой сложности.
Восходящее программирование – процесс разработки программ, |
|||
при котором |
сложная |
программа |
реализуется посредством |
интеграции более простых подпрограмм, начиная с элементарных |
|||
подпрограмм. |
Этот процесс продолжается до тех пор, пока не будет |
||
получена основная программа. |
|
|
Основные понятия и определения
Функция – это синтаксически выделенный именованный программный модуль, выполняющий определенное действие или группу действий.
Каждая функция имеет свой интерфейс и реализацию.
Основные понятия и определения
Интерфейс функции – заголовок функции, в котором указывается название функции, список ее параметров и тип возвращаемого значения.
Реализация функции – тело функции, содержащее внутренние (локальные) данные функции и программный код, выполняющий действия согласно переданным в функцию параметрам и возвращающий значение, соответствующего интерфейсу функции типа.
Виды функций
С точки зрения программиста функции бывают:
библиотечные – функции описанные в библиотеках языка С (как стандартных, так и не стандартных);
пользовательские – функции реализованные программистом в процессе разработки программы.
Описание функций
Описание функции на языке С осуществляется в любом месте программы вне описания других функций и состоит из трех элементов:
прототип функции;
заголовок функции;
тело функции.
Прототип функции
Прототип функции – необязательная часть описания функции, предназначенная для объявления некоторой функции, интерфейс которой соответствует данному прототипу.
Объявление прототипа имеет следующий вид:
возвращаемый тип имя(список типов формальных параметров);
Параметры функции
Параметры функции – значения, передаваемые в функцию при ее вызове. Выделяют понятия: формальные и фактические
параметры.
Формальные параметры – переменные, описываемые при объявлении функции в ее прототипе и заголовке и используемые в программном коде тела функции.
Фактические параметры – переменные, выражения, константные значения или вызовы других функций, указываемые при непосредственном вызове функции внутри другой функции.
Прототип функции
Примеры прототипов:
int func(int, double, double); void func(int, char *); double func(void);
Заголовок функции
Заголовок функции – описание интерфейсной части функции, которая содержит: тип возвращаемого значения, имя функции и список формальных параметров функции.
Синтаксис объявления заголовка функции:
возвращаемый тип имя(список формальных параметров)