Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АЯП.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
281 Кб
Скачать
☆

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

Функция пользователя – группа команд, имеющая уникальное имя, объявлена в заголовке файлов или в основной программе, а так же описанная в модуле или в основной программе.

Перед вызовом функции её нужно объявить, для этого:

<тип функции><название функции> (<список формальных параметров>);

Тип функции – тип возвращаемого значения, если функция не возвращает результат, то она объявляется типом void .

В списке формальных параметров для каждой переменной нужно отдельно указывать тип. Указывать имена переменных не обязательно (например,  (float, float, int);). Переменным при их перечислении можно сразу присваивать исходные значения.

Описание функции пользователя

<тип функции><название функции>(<список формальных параметров>)

{

<тело функции>;

Return (<название переменной, значение которой нужно вернуть>):

}

Функцию можно описать и до основной функции, тогда объявлять ее не обязательно

Вызов функции

<название функции>(<список фактических параметров>);

Типы фактических переменных должны совпадать с типами формальных переменных.

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

Так же можно использовать прототип функции, это объявление функции без их определения. Т.е. перед главной функцией идет объявление функции, в главной функции ее использование, а после главной функции само описание.

Что означает пользовательская функция? Это функция, которая создана пользователем.

void swap (int x, int y){    int z = x;    x = y;    y = z;  }

Как вы, наверное, догадались - это пользовательская функция, которая меняет местами значения у элементов

void GetError (){    pritnf ("Ошибка\n"); }

Пользовательская функция, выбрасывающая сообщение об ошибке

int max (int a, int b, int c){    if (a > b && a > c)       return a;    if (b > a && b > c)       return b;    if (c > a && c > b)        return c; }

Эта созданная пользовательская функция определяет наибольшее число из трех. Но есть одно важное замечание. В нашей пользовательской функции swap, которая меняет местами значения у элементов. На самом деле значения, после выполнении функции останутся на своем месте, так как в саму функцию передаются копии объектов. Как передавать в функцию сам объект мы рассмотрим позднее

   что такое рекурсия

Многие задаются вопросом что такое рекурсия? Давайте с вами постараемся дать определение. Рекурсия - это вид функции, которая вызывает саму себя. Давайте для начала рассмотрим пример рекурсии:

#include <conio.h>  #include <stdio.h> int sum (int temp){     int i=0;     if (temp == 0)        return temp;     else        return temp+sum(temp-1); } int main() {     printf ("%d", sum(5));     getch(); return 0; }

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]