|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Описание функции в общем видеТип Имя(тип1 параметр1,тип2 параметр2, … типК параметрК); { // здесь объявление локальных переменных функции
// здесь инструкции функции
return=Выражение; // здесь передача результата через возвращаемое значение } Пример описания функции без результата: void printchar(char ch, int n); // функция распечатывает строку из заданного количества символов { for (int i=0; i<n; i++) // тело функции printf(”%c”,ch); printf(”\n”); }
Пример описания функции с результатом: int min(int a, int b); // функция находит максимальное из двух целых значений {if (a>b) return a; // тело функции else return b; } Вся информация, которая передаётся в функцию и обратно, должна отражаться в её заголовке. Это требование не синтаксиса, а хорошего стиля программирования. В теле функции крайне нежелательно использовать глобальные переменные!
Входные данные передаются в функцию по значению, а результат работы функции – через возвращаемое значение. При необходимости передачи в качестве результатов более одной величины, результаты передаются через параметры по ссылке или через указатели. Пример передачи результатов по ссылке:
int (float a, float b, float c, float &x1, float &x2); // функция вычисляет корни квадратного уравнения // результат функции – количество корней // вычисленные корни квадратного уравнения передаются по ссылке { float D; // D-локальная переменная D=b*b-4*a*c; if (D>0) {return 2; // вычисляем два корня квадратного уравнения x1=(-b+sqrt(D))/(2*a); x2=(-b-sqrt(D))/(2*a);} else if (D==0) {return 1; // вычисляем один корень квадратного уравнения x1=(-b)/(2*a); x2=x1; } else return 0; } // иначе корней нет
Пример передачи результатов через указатели:
int (float a, float b, float c, float *x1, float *x2); // функция вычисляет корни квадратного уравнения // функция передаёт результат – количество корней // вычисленные корни квадратного уравнения передаются через указатели { float D; //D-локальная переменная D=b*b-4*a*c; if (D>0) {return 2; // вычисляем два корня квадратного уравнения *x1=(-b+sqrt(D))/(2*a); *x2=(-b-sqrt(D))/(2*a);} else if (D==0) {return 1; // вычисляем один корень квадратного уравнения *x1=(-b)/(2*a); *x2=x1; } else return 0; } // иначе корней нет
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |