4 главная функция программы структура функции ее заголовок

Функция в программировании — это поименованная часть программы, которая может вызываться из других частей программы нужное количество раз. Логически программа на С++ представляет собой набор функций, одна из которых, главная, имеет имя main() (в простейшем случае функция main() является единственной). Программа начинает работу с функции main(), являющейся точкой входа в программу и получающей управление первой после запуска программы на выполнение.

Обычно программа на С++состоит из большого числа небольших функций. Рассмотрим примеры программ, демонстрирующих вывод в стиле С и в стиле С++:

/* proba_1_1.cpp вывод в стиле С */ #include[4] //для ввода/вывода #include //для _getch() int main() < printf («Ivanov Ivann»); printf («Okn»); _getch();// функция _getch() приостанавливает выполнение программы до «нажатия любой // клавиши», это позволит увидеть результат вывода return 0[5]; >
//proba_1_2.cpp вывод в стиле С++ */ #include //для ввода/вывода #include //для _getch() int main()
//proba_1_3.cpp вывод в стиле С++ с использованием пространства имен std*/ #include #include using namespace std[8]; int main()

Шаблоны функций. Шаблонные функции c++. template typename. template class. Урок #41

Результат выполнения любой из программ в режиме консольных приложений:

Пояснения к примерам:

Для удобства работы целесообразно в начало каждого текстового файла программы помещать строку комментария с именем файла. В третьей и четвертой строках программ – директивы препроцессора, обеспечивающие включение в программу средств связи со стандартными потоками ввода/вывода данных и прототипа функции _getch (). В строке, содержащей заголовок функции main(),служебное словоint указывает, что функция возвращает целое значение. Круглые скобки после main()соответствуют синтаксису заголовка любой функции. В них помещается, при необходимости, список параметров.

В фигурных скобках представлено тело функции (последовательность описаний, определений и операторов, каждое из которых заканчивается символом «точка с запятой»). В наших примерах тело функции содержит только операторы вывода текста. С++ обеспечивает выполнение вывода в стандартный поток std::cout с использованием оператора , а ввода из стандартного потока std::cin – с использованием оператора >>. В то же время, доступны, как и в С, функции вывода printf() и ввода scanf().

Оператор return – оператор возврата, завершающий выполнение программы и передающий в точку ее вызова значение выражения (return выражение;). Для функции main() это значение должно быть равно нулю (return0;), если исполнение программы прошло успешно. Так как программа «запускается» на исполнение по команде операционной системы, то и возврат будет выполнен к операционной системе (точнее, в стандартный модуль, который автоматически «прикомпоновывается» к программе и из которого осуществляется ее вызов).

Формат заголовка функции:

void имя_функции () // нет ни параметров, ни возвращаемого значения

Передача параметров в функцию по ссылке. Разница между ссылкой и указателем. Урок #51

void имя_функции (void) // нет ни параметров, ни возвращаемого значения

Читайте также:
Какие параметры влияют на работу программы автозаказа

void имя_функции (список_параметров) // есть параметры и нет возвращаемого значения

тип_функции имя_функции (список_параметров)

// есть параметры и есть возвращаемое значение

тип_функции имя_функции () // нет параметров и есть возвращаемое значение

Прототип функции – это заголовок функции, заканчивающийся символом «;»:

char* strcpy( char*, const char* );

Объявление функции –указание ее прототипа.

Сигнатура функции – часть заголовка функции, позволяющая средствам трансляции идентифицировать функцию среди других. В С++ простая функция однозначно опознаётся компилятором по её имени и последовательности типов её параметров, что составляет сигнатуру функции в этом языке: заголовок функции, за вычетом типа_функции:

имя_функции (список_параметров)

Если функция является методом некоторого класса, то в сигнатуре будет участвовать и имя класса:

Complex::add (Complex y)
//функция add принадлежит классу Complex

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

return [ выражение ]; // [ выражение ] может отсутствовать

Тип функции – это тип возвращаемого функцией значения. Оператор return выражение; возвращает значение выражения в точку вызова функции. Оператор return; записываемый без выражения означает, что функция не имеет возвращаемого значения и имеет тип void. При этом управление из функции возвращается либо при выполнении этого оператора, либо при достижении правой фигурной скобки, завершающей функцию (при отсутствии ключевого слова return).

return; //функция не возвращает значения и имеет тип void;

return 3; //возвращаемое функцией значение = 3;

return (a + b); //возвращаемое значение = значению выражения (а + b);

//скобки необязательны, используются для улучшения читаемости кода

Тело функции main() – это блокпрограммы. Любой фрагмент текста программы в фигурных скобках называют составным оператором (блоком операторов) или просто блоком. В общем случае, тело любой функции может содержать сколько угодно блоков.

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

Вызов функции – указание имени функции и в круглых скобках списка фактических параметров (аргументов), которые необходимо ей передать (если они есть):

_getch(); //вызов функции ожидания нажатия клавиши на клавиатуре strcpy(s, » aaaaa » ); //вызов функции копирования строки » aaaaa » в строку s int i = f1(5); //переменной i присваивается значение результата вызова функции f1 f2(x); double x = sin(1.2) + cos(0.7); //переменной x присваивается значение суммы результатов вызова
//функций синуса и косинуса от заданнных аргументов

Оператор вызова функции состоит из ее имени, за которым в круглых скобках располагается список фактических параметров (если они есть) или только из идентификатора функции, если параметров нет. Выполнение оператора вызова функции приводит к активизации действий, описанных в ее теле: если в программе встречается имя функции, то происходит ее вызов (обращение к ней), т.е. функции передается управление. После завершения работы функции управление возвращается в точку ее вызова. Функция, которая вызывает какую-либо другую функцию, называется вызывающей функцией, а функция, которую вызывают на выполнение, называется вызываемой функцией.

Указанные в операторе фактические параметры (аргументы) должны соответствовать описанным в заголовке функции формальным параметрам по типу, количеству и порядку следования. Перед активизацией тела функции происходит передача в нее значений фактических параметров, соответствующих формальным параметрам (с учетом способа передачи):

Читайте также:
Как составить концепцию программы

double CUB_X (double x)

return (x*x*x);

void main ()

double a = 10.0, y;

y = CUB_X(a);

return;
>

Вызвать функцию можно после ее объявления или определения. Объявление функции из стандартной библиотеки выполняется подключением соответствующего файла директивой препроцессора #include.

Если функция возвращает значение некоторого типа, то необходимо принять (сохранить) это значение в переменную того же типа, либо вывести его на экран, либо использовать в составном выражении. Например, функция sqrt() (#include ), извлекающая квадратный корень, принимает как аргумент значение, из которого корень следует извлечь, и возвращает значение этого корня:

С++ не позволяет определять функции внутри других функций. Связь между функциями осуществляется с помощью передаваемых функции фактических параметров (аргументов) и возвращаемых значений или через глобальные (внешние) переменные. Определение «внешние» используется главным образом для того, чтобы подчеркнуть отличие от «внутренних» информационных объектов – аргументов и переменных, определяемых внутри функции.

Воспользуйтесь поиском по сайту:

studopedia.org — Студопедия.Орг — 2014-2023 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с) .

Источник: studopedia.org

1.2.4. Главная функция

Листинг программы на Си содержит одну или несколько функций. Обязательным является использование главной функции – функции main(). Строка описания главной функции в приведенной программе содержит ключевое словоvoid. Это означает, что после окончания функции ничего не возвращается. В общем виде описание каждой функции, в том числе и функцииmain(), имеет следующий синтаксис (символы русского алфавита и знаки < и >используются только для пояснения):

где – результат исполнения функции, точнее тип возвращаемого значения переменной (допустимо использовать разрешенные типы, например, void,int,floatи т.д.);

– идентификатор (имя) функции;

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

Чтобы стала понятной эта форма описания функции, приведем запись функции в естественной математической форме:

y = sin ( x )

ТипВозвращаемогоЗначения ИмяФункции СписокФормальныхПеременных

В рассматриваемом примере программы «HelloWorld!» строка описания заголовка функции

означает, что имя функции main, список формальных параметров отсутствует и после ее завершения ничего не возвращается.

1.2.5. Начало и конец функции или блока

Любая функция на языке содержит «тело» – список операторов, которые выполняются при ее вызове. Принадлежность операторов данной функции определяется символами открывающей фигурной скобки < и закрывающей скобки >. В общем случае эти символы начала и конца блока можно использовать не только для функций, но и для операторов управления, позволяющих изменить ход исполнения программы: операторов if,switch,for,while,do-while.

1.2.6. Вывод на экран сообщения

Для вывода данных на экран в языке Си имеется достаточно большое количество средств. Наиболее часто используется функция printf()из стандартной библиотеки ввода-вывода. В простейшем случае, как в приведенном примере, эта функция содержит только один параметр – строку, начинающуюся и завершающуюся символом двойной кавычки″…″. Все, что заключено внутри строки, выводится на экран при исполнении программы. Содержимое строки может быть записано как на латинском, так и на русском языке.

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

Читайте также:
Как работать в программе capcut на телефоне

n– перевод строки;

t– горизонтальная табуляция (перенос курсора вправо на несколько позиций);

а – подача звукового сигнала.

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

позволит вывести на экран сообщение в нескольких строках со смещением в каждой новой строке:

В рассматриваемом примере программы на экран выводится сообщение “Hello world!”и курсор переводится на новую строку.

Следует отметить еще одну важную деталь – практически все операторы внутри функции заканчиваются символами точка с запятой, операторы вне функций обычно записываются без этих символов.

Источник: studfile.net

Структура функции

Функция — некий «чёрный ящик». В этот ящик попадают входные данные, над ними производятся некие манипуляции, а на выходе из этого ящика мы получаем результат.

cs50 функция

Если вы решали задачник первой недели, вы уже успели познакомиться с функциями GetInt () , GetString () , printf () . Каждая из них получает на вход определенные данные, выполняет определенные действия и возвращает определенный результат.

Зачем нужны функции

  • Упорядочивание кода. Код гораздо проще поддерживать, если он разбит на функции, и каждая из них делает чётко определенную небольшую часть работы.
  • Упрощение кода. Вам не нужно знать, как работает функция, главное — результат её работы. Это упрощает понимание большой программы.
  • Повторное использование. Если вам нужно сделать подобные действия в различных частях программы, можно написать всего одну функцию, и использовать её многократно.

Структура функции

Функции имеют следующую структуру:

имя (список параметров) < >

Структура функции - 1

#include gt int cube(int input); //Прототип функции cube int main(void) < int x = 2; printf(«x is %in», x); x = cube(x); printf(«x is %in», x); >int cube(int input)

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

Прототипом функции (header) называют объявления заголовка функции, без тела. Прототип указывает компилятору, что существует функция с определенным именем, типом результата и списком параметров, тело которой будет описано позже в коде. То есть прототип состоит из имени функции, списка параметров и возвращаемого типа.

Тип результата (return type)

На Си нужно всегда указывать тип результата. То есть мы должны явно указать, какого типа будет то значение, которое должна вернуть функция. В примере выше, функция возвращает куб целого числа. Результат относится к типу int .

Имя функции (function name)

Любое название функции. Желательно называть функции так, чтобы было понятно, что они делают. В примере функция называется cube.

Список параметров (parameter list)

Перечень входных данных для функции. Функция может не иметь параметров, может иметь один или несколько параметров. Для каждого параметра нужно указать его имя и тип. В примере функция принимает единственный параметр — целое число int input .

Тело функции (body)

В теле описаны действия, которые выполняет функция. Слово return указывает на конец работы функции и указывает значение, которое возвращает функция в качестве результата её работы (значение переменной output в примере). Функция может и не возвращать никакого результата.

Источник: javarush.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru