C++ Функции с примерами программ
Что такое функция в C++?
A функция in C++ относится к группе операторов, которая принимает входные данные, обрабатывает их и возвращает выходные данные. Идея функции заключается в объединении общих задач, которые выполняются неоднократно. Если у вас разные входные данные, вы не будете писать один и тот же код снова. Вы просто вызовете функцию с другим набором данных, называемым параметрами.
Каждый C++ В программе есть как минимум одна функция — функция main(). Вы можете разделить свой код на разные функции. Это разделение должно быть таким, чтобы каждая функция выполняла конкретную задачу.
В программе имеется множество встроенных функций. C++ стандартная библиотека. Вы можете вызывать эти функции в своей программе.
Зачем использовать функции?
Существует множество преимуществ, связанных с использованием функций. К ним относятся:
- Каждая функция объединяет связанный код. Это облегчает программистам понимание кода.
- Функции упрощают программирование, устраняя повторение кода.
- Функции облегчают повторное использование кода. Вы можете вызвать одну и ту же функцию для выполнения задачи в разных разделах программы или даже вне программы.
Встроенные функции
In C++ библиотечные функции встроены C++ функции. Чтобы использовать эти функции, вы просто вызываете их напрямую. Вам не нужно писать функции самостоятельно.
Пример 1:
#include <iostream> #include <cmath> using namespace std; int main() { double num, squareRoot; cout << "Enter number: "; cin >> num; squareRoot = sqrt(num); cout << "The square root of " << num << " is: " << squareRoot; return 0; }
Вывод:
Вот скриншот кода:
Пояснение к коду:
- Включите заголовочный файл iostream в нашу программу, чтобы использовать его функции.
- Включите библиотеку cmath, чтобы использовать ее функции. Мы хотим использовать определенную в нем функцию sqrt().
- Включите пространство имен std в наш код, чтобы использовать его классы, не вызывая его.
- Вызовите функцию main(). Логику программы следует добавить в тело этой функции.
- Объявите две переменные типа Double: num и SquareRoot.
- Напечатайте текст на консоли. В тексте пользователю предлагается ввести число.
- Чтение ввода пользователя с клавиатуры. Входными данными станет значение переменной num.
- Вызовите библиотечную функцию sqrt(), которая вычисляет квадратный корень числа. Мы передали функции параметр num, то есть она вычислит квадратный корень из num. Эта функция определена в библиотеке cmath.
- Выведите на консоль число, введенное пользователем, его квадратный корень и другой текст.
- Программа должна вернуть значение после успешного завершения.
- Конец тела функции main().
Пользовательские функции
C++ позволяет программистам определять свои собственные функции. Целью функции является группировка связанного кода. Затем коду присваивается уникальный идентификатор — имя функции.
Функцию можно вызвать/вызвать из любой другой части программы. Затем он выполнит код, определенный в его теле.
Пример 2:
#include <iostream> using namespace std; void sayHello() { cout << "Hello!"; } int main() { sayHello(); return 0; }
Вывод:
Вот скриншот кода:
Пояснение к коду:
- Включите заголовочный файл iostream в нашу программу, чтобы использовать его функции.
- Включите пространство имен std в наш код, чтобы использовать его классы, не вызывая его.
- Создайте пользовательскую функцию с именемsayHello().
- Выведите некоторый текст на консоль при вызове функции SayHello().
- Конец тела функции SayHello().
- Вызовите функцию main(). Логику программы следует добавить в тело этой функции.
- Вызовите/вызовите функцию SayHello().
- Программа должна вернуть значение после успешного завершения.
- Конец тела функции main().
Объявление функции/прототип
Если вы определяете пользовательскую функцию после функции main(), C++ компилятор вернет ошибку. Причина в том, что компилятор не знает деталей пользовательской функции. Подробности включают его имя, типы аргументов и типы их возвращаемых значений.
In C++, объявление/прототип функции объявляет функцию без тела. Это дает компилятору сведения о пользовательской функции.
В объявление/прототип мы включаем тип возвращаемого значения, имя функции и типы аргументов. Имена аргументов не добавляются. Однако добавление имен аргументов не вызывает ошибок.
Определение функции
Цель объявления функции — сообщить C++ компилятору имя функции, тип возвращаемого значения и параметры. Определение функции сообщает C++ компилятор о теле функции.
Синтаксис
return_datatype function_name( parameters) { function body }
Судя по вышеизложенному, определение функции имеет заголовок и тело функции. Вот объяснение параметров:
- return_datatype — некоторые функции возвращают значение. Этот параметр обозначает тип данных возвращаемого значения. Некоторые функции не возвращают значение. В этом случае значение этого параметра становится недействительным.
- имя_функции — это имя функции. Имя функции и параметры образуют сигнатуру функции.
- Параметры. Это тип, порядок и количество параметров функции. Некоторые функции не имеют параметров.
- Тело функции — это операторы, определяющие, что будет делать функция.
Вызов функции
Чтобы функция выполнила указанную задачу и вернула выходные данные, ее необходимо вызвать. Когда вы вызываете функцию, она выполняет инструкции, добавленные в ее тело.
Программа вызывается по своему имени. Если функция принимает параметры, их значения должны передаваться во время вызова. Если служба не принимает никаких параметров, не передавайте никаких значений во время вызова.
Передача аргументов
In C++, аргумент/параметр — это данные, передаваемые функции во время ее вызова. Значения должны быть инициализированы соответствующими переменными.
При вызове функции количество аргументов должно совпадать. Это означает, что передаваемые вами значения должны быть равны количеству параметров. Опять же, значения также должны соответствовать параметрам по типу. Если первый параметр является целым числом, передаваемое ему значение должно быть целым числом.
Параметрам функции можно присвоить значения по умолчанию. Если вы не передадите значение параметра во время вызова функции, будет использовано значение по умолчанию.
Пример 3: Как написать и вызвать функцию
#include <iostream> using namespace std; int addFunc(int, int); int main() { int x, y, sum; cout << "Enter two numbers: "; cin >> x >> y; sum = addFunc(x, y); cout <<"The sum of "<<x<< " and " <<y<<" is: "<<sum; return 0; } int addFunc(int num1, int num2) { int addFunc; addFunc = num1 + num2; return addFunc; }
Вывод:
Вот скриншот кода:
Пояснение к коду:
- Включите заголовочный файл iostream в нашу программу, чтобы использовать его функции.
- Включите пространство имен std в наш код, чтобы использовать его классы, не вызывая его.
- Объявите функцию с именем addFunc(), которая принимает два целочисленных параметра. Это создает прототип функции.
- Вызовите функцию main(). Логику программы следует добавить в тело этой функции.
- Объявите три целочисленные переменные: x, y и sum.
- Напечатайте текст на консоли. В тексте пользователю предлагается ввести два числа.
- Прочитайте вводимые пользователем данные с клавиатуры. Пользователь должен ввести два числа для переменных x и y, разделенных пробелом.
- Вызовите функцию addFunc() и передайте ей параметры x и y. Функция будет работать с этими параметрами и присваивать выходные данные переменной sum.
- Выведите значения переменных x, y и sum на консоль вместе с другим текстом.
- Функция должна возвращать значение после успешного завершения.
- Конец тела функции main().
- Определение функции. Мы определяем функцию addFunc(). Мы укажем, что будет делать функция, в ее теле { }.
- Объявление целочисленной переменной с именем addFunc.
- Сложение значений параметров num1 и num2 и присвоение результата переменной addFunc.
- Функция addFunc() должна возвращать значение переменной addFunc.
- Конец тела функции, то есть определения функции.
Резюме
- Функция в C++ помогает вам сгруппировать связанный код в один.
- Функции облегчают повторное использование кода.
- Вместо того, чтобы снова и снова писать один и тот же код, вы просто группируете его в функцию. Затем вы можете вызвать функцию из любого места кода.
- Функции могут быть библиотечными или пользовательскими.
- Библиотечные функции — это функции, встроенные в различные C++ Функции.
- Чтобы использовать функции библиотеки, вы просто включаете ее библиотеку определения и вызываете функцию. Вы не определяете функцию.
- Пользовательские функции — это функции, которые вы определяете как C++ программист.
- Объявление функции сообщает компилятору имя функции, тип возвращаемого значения и типы параметров.
- Определение функции добавляет тело функции.
- Если функция принимает параметры, их значения должны передаваться во время вызова функции.