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
巩固练习
- 从终端输入一个数,代表弧度,然后输出这个弧度的
cos
、sin
、tan
的值。可以使用std::cos()
、std::sin()
、std::tan()
,这三个函数都在cmath
标准库中。 - 从终端输入一个数,代表角度,然后使用
std::cos()
、std::sin()
、std::tan()
计算出这个角度对应的值。 - 输入一个数,使用
std::pow()
函数求这个数的平方和立方。std::pow()
函数在cmath
标准库中。