Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования (пособие).doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
965 Кб
Скачать
☆

3.2.5Тело функции

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

float average(float x, float y, float z) {

float summa = x+y+z;

return summa/3;

}

3.2.6Оператор return

Для остановки работы функции и возвращения ее значения предназначен оператор return. В зависимости от функции оператор return может присутствовать один или несколько раз, а может и вовсе отсутствовать. Стандартный способ использования оператора return – это указание его в конце функции с целью возвращения ее значения; именно так сделано в нашей функции average:

float average(float x, float y, float z) {

float summa = x+y+z;

return summa/3;

}

Два раза оператор return используется в следующей функции, которая определяет максимум из двух чисел:

int max(int m, int n) {

if (m>n) {

return m;

} else {

return n;

}

}

Если функция не возвращает никакого значения, другими словами, при ее определении возвращаемым типом указан void, то оператор return может отсутствовать. Если же при определении функция тип возвращаемого значения указан отличным от void, то хотя бы один оператор return должен присутствовать; более, все ветки логических конструкций должны содержать оператор return. Например, функция

int max(int m, int n) {

if (m>n) {

return m;

} else {

cout << n;

}

}

определена неправильно, поскольку только одна ветка else возвращает значение.

3.2.7Глобальные и локальные переменные

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

3.2.8Прототипы функций

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

float average(float x, float y, float z);

int main() {

cout << average(1.2,3.4,5.6);

}

float average(float x, float y, float z) {

return (x+y+z)/3;

}

3.2.9Контрольные вопросы

  1. Зачем нужны функции? Что такое аргументы функции?

  2. Чем отличаются глобальные переменные от локальных?

  3. Объясните работу оператора return.

  4. Что такое прототип функции? Приведите примеры.

  5. Создайте и вызовите функцию вычисления среднего арифметического трех чисел.

  6. Создайте и вызовите функцию вычисления факториала.

  7. Создайте и вызовите функцию для перевода величины угла из градусов в радианы.

  8. Создайте и вызовите функцию для перевода температуры из градусов Цельсия в градусы Фаренгейта.

  9. Приведите пример использования локальных переменных.

  10. Создайте заголовочный файл с несколькими функциями.