Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб 6_Основы функции.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
257.54 Кб
Скачать

Лабораторная работа 6. Основы функций

Цели, достигаемые в этой работе

6.1. Познакомиться с общей формой определения функции

6.2. Научиться создавать собственные функции

6.3. Освоить использование аргументов функции

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

6.5. Понять, что такое возвращаемое функцией значение

6.6. Научиться использовать функции в выражениях

6.7. Освоить основы техники указателей

6.8. Освоить передачу в функцию указателей

6.9. Освоить передачу в функцию массивов

6.10. Освоить передачу в функцию строк

6.11. Освоить возврат из функции указателей

6.1. Общая форма определения функции

Функцией называется подпрограмма, содержащая одно или больше предложений С++ и выполняющая конкретную задачу.

Все функции С++ имеют общую форму, приведенную ниже:

тип-возврата имя(список-параметров)

{

// тело функции

}

Здесь тип-возврата определяет тип данного, возвращаемого функцией. Функция может возвращать любой тип за исключением массива. Если функция ничего не возвращает, то тип возврата должен быть void. Имя функции определяется элементом имя. В качестве имени может использоваться любой допустимый идентификатор, если он еще не занят. список-параметров представляет собой последовательность пар типов и идентификаторов, разделяемых запятыми. Параметры – это переменные, которые получают значения аргументов, передаваемых функции при ее вызове. Если функция не требует параметров, список параметров будет пуст.

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

6.2. Создание функции

Поскольку все функции имеют общую форму, они все структурно схожи с функцией main().

. Ниже приведен пример определения функции с именем myfunc(), которая выводит строку на экран.

void myfunc()

{

cout << "Внутри myfunc () \n";

}

Ключевое слово void, которое указывается как перед именем формально устанавливает, что myfunc() не возвращает никакого значения. В С++ функции, не вращающие значения, объявляются void.

Приведенная ниже программа демонстрирует использование функции myfunc():

//Эта программа содержит две функции: main() и myfunc().

#include <iostream>

using namespace std;

// Это определение myfunc()

void myfunc()

{

cout << "Внутри myfunc () \n";

}

int main ()

{

cout << "B main()\n";

myfunc () ; // вызов myfunc()

cout << "Снова в main()\n";

return 0;

}

Программа работает следующим образом. Начинается все с функции main(), в которой выполняется первое предложение cout. Затем main() вызывает функцию myfunc(). Посмотрите, как это делается: указывается имя функции, за которым стоит пара круглых скобок. В данном случае вызов функции представляет собой предложение, и всякое предложение, оно должно заканчиваться точкой с запятой. Далее myfunc() выполняет предложение cout и, встретив закрывающую фигурную скобку }, возвращается в main(). В main() выполнение возобновляется на той строке кода, которая непосредственно следует за вызовом myfunc(). Наконец, main() выполняет второе предложение cout и завершается. Вот вывод этой программы:

В main()

Внутри myfunc()

Снова в main()

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