Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Определение и вызов функции
Программа С++ состоит из одной или нескольких функций. Функции разбивают большие задачи на маленькие подзадачи. Имя одной из функций - main, которая обязательно должна присутствовать в любой программе, является зарезервированным. Функция main необязательно должна быть первой, хотя именно с нее начинается выполнение программы. Функция не может быть определена в другой функции. С использованием функции связаны 3 понятия - определение функции, объявление функции и вызов функции. Определение функции имеет вид: тип имя (список описаний аргументов) { операторы } Здесь имя - это имя функции; тип - тип возвращаемого функцией значения; операторы в фигурных скобках { } часто называют телом функции. Аргументы в списке описаний называют формальными параметрами. Например, функция, находящая и возвращающая максимальное значение из двух целых величин a и b определяется так: int max(int a, int b){ return(a> =b)? a: b; } Это определение говорит о том, что функция с именем max имеет два целых аргумента и возвращает целое значение. Если функция действительно должна возвращать значение какого-либо типа, то в ее теле обязательно должен присутствовать оператор return выражение; при выполнении этого оператора выполнение функции прекращается, управление передается в функцию, вызывающую данную функцию, а значением функции будет значение выражения. Пример #include < iostream.h> int max(int a, int b) { return (a > =b)? a: b; } void main() { int i = 2, j = 3; int c = max(i, j); cout< < " max= " < < c< < " \n"; c = max(i*i, j)*max(5, i - j); cout< < " max= " < < c< < " \n"; } В этой программе приведено определение функции max и 3 обращения к ней. При обращении указывается имя функции и в круглых скобках список фактических параметров. Пример Функция, возвращающая сумму двух целых величин. #include < iostream.h> int sum(int a, int b); //объявление функции (прототип функции) int main() { int a = 2, b = 3, c, d; c = sum(a, b); //вызов функции cin> > d; cout< < sum(c, d)< < " \n"; return 0; } int sum(int a, int b) //определение функции { return (a+b); }
Если у функции нет формальных параметров, то она определяется, например, так: double f(void){тело функции}; или, эквивалентно, double f() {тело функции}; Обращаются в программе к этой функции, например, так: a = b*f() + c; Функция может и не возвращать никакого значения. В этом случае ее определение таково: void имя (список описаний аргументов) { операторы } Вызов такой функции имеет вид: имя (список фактических аргументов); Выполнение функции, не возвращающей никакого значения, прекращается оператором return без следующего за ним выражения. Выполнение такой функции и возврат из нее в вызывающую функцию происходит также и в случае, если при выполнении тела функции произошел переход на самую последнюю закрывающую фигурную скобку этой функции.
|