C++入门教程(11):调用函数

小古银的官方网站(完整教程):http://www.xiaoguyin.com/
C++入门教程视频:https://www.bilibili.com/vide...


前言

函数又叫做功能,就是将一个功能的一堆实现代码封装到一起,而它的作用就是通过简单的一条语句就可以使用这个功能,而不需要知道代码怎样写。

举个例子,std::sqrt()函数的功能是:求一个数的根。std是前面提到的命名空间,而sqrt就是这个函数的名字,这个函数在cmath标准库中。可以用下面的形式使用这个功能:

std::sqrt(100);

像上面这样使用函数的功能,就叫做调用函数。上面代码中,100作为函数参数传给函数,让函数来计算它的运算结果。

std::sqrt()函数是用来求根的,所以会有计算结果,可以用下面代码输出计算结果:

std::cout << std::sqrt(100) << std::endl;

函数的计算结果叫做返回值。当然也可以用变量来保存返回值

double root = std::sqrt(100);

而整个过程,你都不需要考虑std::sqrt()函数里面的代码是怎样写的,这就是函数的作用。

C++中的标准库(包含C语言的函数库)有很多非常有用的函数。

调用函数

C++标准库中有很多非常有用的函数,当然,如果想提高水平不妨尝试以下实现标准库的功能。但是实际工程中,建议能使用标准库就不要自己再写一个。因为,你手写一个需要时间,调用不需要;而且你不留意还会写出bug;还有,标准库里的东西编译器都会有优化,你写的不一定会比标准库里的快。

如果你调用的函数不是自己写的,那你就需要知道函数怎么调用,函数需要的参数应该怎么填。

例如标准库cmath中的函数std::abs(),它是用来求绝对值的,它只有一个参数而且这个参数只能接收数值,它会将这个参数转换成绝对值,然后通过返回值返回。

#include <cmath> // std::abs
#include <iostream> // std::cout std::endl

int main(void)
{
    std::cout << std::abs(-100) << std::endl;
    return 0;
}

输出结果:

100

对于标准库里的函数,可以参考我在第一篇教程中提到的两个说明文档,也可以在网上找资料。

注意:C++可以调用C语言的标准库,但是C语言的标准库在C++中是弃用的,即不推荐使用。如:C++标准库cmath对应C语言的标准库是math.h。就是说,建议调用cmath而不是math.h

巩固练习

  1. 从终端输入一个数,代表弧度,然后输出这个弧度的cossintan的值。可以使用std::cos()std::sin()std::tan(),这三个函数都在cmath标准库中。
  2. 从终端输入一个数,代表角度,然后使用std::cos()std::sin()std::tan()计算出这个角度对应的值。
  3. 输入一个数,使用std::pow()函数求这个数的平方和立方。std::pow()函数在cmath标准库中。

相关推荐