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

3 Функции и программы

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

3.1. Определение функции

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

В теле функции может присутствовать оператор return, синтаксис которого имеет следующий вид

return Выражение;

При его наличии выполнение функции завершается вычислением значения содержащегося в нем выражения. Это значение называется возвращаемым значением функции, а его тип является первой компонентой определения фун­кции. Если оператор return в теле функции отсутствует, то ее выполнение завершается после выполнения последнего оператора из тела. В качестве типа возвращаемого значения в этом случае требуется указать слово void. Отметим, что в операторе return разрешается опускать Выражение. В этом случае в качестве типа возвращаемого значения требуется указывать служебное слово void. Точка с запятой после закрывающей фигурной скобки тела функции не ставится. Рассмотренное определение функции удобно представить в виде следующей схе­мы:

Тип Имя(Тип1 Имя1,...,ТипN ИмяN) {

Тело функции

}

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

В соответствии с данным определением, конструкция вида