带程序示例的 C++ 函数
C++ 中的函数是什么?
C++ 中的函数是指一组语句,它接受输入、处理输入并返回输出。函数的核心思想是组合那些需要反复执行的常见任务。如果您有不同的输入,您不必一遍又一遍地编写相同的代码。您只需使用一组称为参数的不同数据调用该函数。
每个 C++ 程序至少有一个函数,即 main() 函数。您可以将代码分成不同的函数。这种划分应该使每个函数都能完成特定任务。
C++ 标准库中有很多内置函数。您可以在程序中调用这些函数。
为什么要使用函数?
使用函数有许多好处。这些包括:
- 每个函数将相关代码放在一起。这使得程序员更容易理解代码。
- 函数通过消除代码重复来使编程更容易。
- 函数促进代码重用。您可以调用同一个函数在程序的不同部分甚至程序之外执行任务。
内置函数
在 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() 函数。程序逻辑应添加到此函数的主体中。
- 声明两个双精度变量 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++ 编译器将返回错误。原因是编译器不知道用户定义函数的详细信息。这些详细信息包括其名称、参数类型和返回类型。
在 C++ 中,函数声明/原型在没有函数体的情况下声明一个函数。这为编译器提供了用户定义函数的详细信息。
在声明/原型中,我们包含返回类型、函数名称和参数类型。参数名称不添加。但是,添加参数名称不会产生错误。
函数定义
函数声明的目的是告知 C++ 编译器有关函数名称、返回类型和参数的信息。函数定义告知 C++ 编译器有关函数体的信息。
语法
return_datatype function_name( parameters) { function body }
以上,函数定义包含函数头和函数体。下面是对参数的解释:
- return_datatype- 一些函数返回一个值。此参数表示返回值的数据类型。有些函数不返回值。在这种情况下,此参数的值将为 void。
- function_name- 这是函数的名称。函数名称和参数构成了函数签名。
- Parameters- 这是函数参数的类型、顺序和数量。有些函数没有参数。
- function body- 这些是定义函数将做什么的语句。
函数调用
为了让函数执行指定任务并返回输出,必须调用它。调用函数时,它会执行其主体内添加的语句。
程序通过其名称进行调用。如果函数需要参数,则应在调用时传递它们的。如果服务不需要参数,则在调用时不传递任何值。
传递参数
在 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++ 程序员定义的函数。
- 函数声明告诉编译器有关函数名称、返回类型和参数类型的信息。
- 函数定义添加了函数的主体。
- 如果函数需要参数,则应在函数调用期间传递其值。