最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

那些年C++ 函数

XAMPP相关 admin 78浏览 0评论

第十四章:C++ 函数

在此篇教程中,我们将借助示例程序来了解 C++ 函数函数表达式

函数是执行特定任务的代码块。

假设我们用一个程序来创建一个圆并给它上色。我们可以创建两个函数来解决这个问题:

  • 绘制圆的函数
  • 一个给圆上色的函数

将复杂的问题分成更小的块使我们的程序更易于理解和重用。

有两种类型的函数:

  1. 标准库函数:用 C++ 预定义
  2. 用户自定义函数:由用户创建

在此篇教程中,我们将主要关注用户定义的函数


C++ 用户定义函数

C++ 允许程序员定义自己的函数。

用户定义的函数将代码分组以执行特定任务,并且该代码组被赋予一个名称(标识符)。

当从程序的任何地方调用该函数时,它都会执行函数体中定义的代码。


C++ 函数声明

声明函数的语法是:

returnType functionName (parameter1, parameter2,...) {
    // 函数主体  
}

下面是一个函数声明的例子:

// 函数声明
void function() {
    cout << "Hello World";
}

在此,

  • 函数的名称是 function()
  • 函数的返回类型是 void
  • 空括号表示它没有任何参数
  • 函数主体内容写在这里面 {}

Note:我们将在此篇教程后面了解 returnTypeparameters


函数调用

在上面的程序中,我们声明了一个名为 function() 的函数。当要使用 function() 函数,我们需要调用它。

下面是我们如何调用上面的 function() 函数。

int main() {

    // 调用函数  
    function(); 

}

dra93

C++ 中函数的工作过程


示例 1:显示打印文本

#include <iostream>
using namespace std;

// 声明函数
void function() {
    cout << "Hello You calling me!";
}

int main() {

    // 调用函数
    function();

    return 0;
}

输出:

Hello You calling me!

函数参数

如上所述,可以使用参数(arguments)声明函数。参数是在声明函数时传递的值。

例如,以下函数:

void printNum(int num) {
    cout << num;
}

这里,int 类型的变量 num 是函数的参数。

我们在调用函数时将一个值传递给函数的参数,例如:

int main() {
    int n = 7;

    // 调用函数
    // n作为参数传递给函数
    printNum(n);

    return 0;
}

示例 2:带参数的函数

// 打印文本的程序

#include <iostream>
using namespace std;

// 显示数字
void displayNum(int n1, float n2) {
    cout << "The int number is " << n1;
    cout << "The double number is " << n2;
}

int main() {

     int num1 = 8;
     double num2 = 8.85;

    // 调用函数
    displayNum(num1, num2);

    return 0;
}

输出:

The int number is 8
The double number is 8.85

在上面的程序中,我们使用具有一个 int 类型的参数和一个 double 类型的参数的函数。

然后,我们将num1num2作为参数传递。这些值分别由函数参数n1n2存储。

dra093

带参数的C++函数

Note:调用函数时传递的参数类型必须与函数声明中定义的相应参数匹配。


返回语句

在上面的程序中,我们在函数声明中使用了 void。例如:

void displayNumber() {
    // 代码
}

这意味着该函数没有返回任何值。

也可以从函数返回一个值。为此,我们需要在函数声明时指定函数的 returnType

然后,return 语句可用于从函数返回值。

例如:

int add (int a, int b) {
   return (a + b);
}

在这里,我们有数据类型 int 而不是 void。这意味着该函数返回一个 int 值。

代码 return (a + b); 返回两个参数的总和作为函数值。

return 语句表示函数已经结束。函数内 return 之后的任何代码都不会执行。


示例 3:两数相加

// 使用函数将两数相加的C++程序

#include <iostream>

using namespace std;

// 函数声明
int add(int a, int b) {
    return (a + b);
}

int main() {

    int sum;

    // 调用函数并存储
    // 和的返回值
    sum = add(100, 88);

    cout << "100 + 88 = " << sum << endl;

    return 0;
}

输出:

100 + 88 = 188

在上面的程序中,add() 函数用于求两个数之和。

我们在调用函数时传递两个 int 类型的数字 10088

我们将函数的返回值存储在变量sum中,然后将其打印出来。

dra0093

使用return语句处理C++函数

注意:sum是一个int类型的变量。这是因为add()的返回值是int类型。


函数原型

在C++中,函数声明的代码应该在函数调用之前。但是,如果我们想在函数调用后定义一个函数,就需要使用函数原型声明。例如:

// 函数原型声明
void add(int, int);

int main() {
    // 在声明之前调用函数
    add(5, 3);
    return 0;
}

// 函数定义
void add(int a, int b) {
    cout << (a + b);
}

上面代码中,函数原型为:

void add(int, int);

这为编译器提供了有关函数名称及其参数的信息。这就是为什么我们可以在定义函数之前使用代码调用函数的原因。

函数原型的语法是:

returnType functionName(dataType1, dataType2, ...);

示例 4:C++ 函数原型

// 在main()函数之后使用函数定义
// 函数原型在main()之前声明

#include <iostream>

using namespace std;

// 函数原型声明
int add(int, int);

int main() {
    int sum;

    // 调用函数并存储结果
    // 和的返回值
    sum = add(100, 88);

    cout << "100 + 88 = " << sum << endl;

    return 0;
}

// 函数定义
int add(int a, int b) {
    return (a + b);
}

输出:

100 + 88 = 188

上面的程序与示例 3 几乎相同。唯一不同的是,这里的函数是在函数调用之后定义的。这就是我们在这个例子中使用函数原型的原因。


使用用户定义函数的优势

  • 函数使代码可重用。我们可以声明一次并多次使用它们。
  • 函数使程序更容易,因为每个小任务都被划分为一个函数。
  • 函数提高了可读性

C++ 库函数

库函数是 C++ 编程中的内置函数。

程序员可以通过直接调用函数来使用库函数;他们不需要自己编写函数。

C++ 中一些常见的库函数有 sqrt()abs()isdigit() 等。

为了使用库函数,我们通常需要包含定义这些库函数的头文件

例如,为了使用诸如 sqrt()abs() 之类的数学函数,我们需要包含头文件 cmath


示例 5:求一个数的平方根的 C++ 程序

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    double number, squareRoot;

    number = 25.0;

    // sqrt() 是一个计算平方根的库函数
    squareRoot = sqrt(number);

    cout << "求平方根——> " << number << " = " << squareRoot;

    return 0;
}

输出:

求平方根—> 25 = 5

在这个程序中,sqrt() 库函数用于计算一个数的平方根。

sqrt() 的函数声明在 cmath 头文件中定义。这就是为什么我们需要使用代码 #include <cmath> 来使用 sqrt() 函数。

要了解更多相关信息,请翻阅后续教程 C++ 标准库函数

 

程序算法实验室 zhangJA-Lab

转载请注明:XAMPP中文组官网 » 那些年C++ 函数