当前位置: 首页 > 文档资料 > C++大学教程 >

3.3 数学函数库

优质
小牛编辑
136浏览
2023-12-01

数学函数库使程序员可以进行某些常见数学计算。我们这里用各种数学库函数介绍函数概念。本书稍后会介绍c++标准库中的许多其他函数。
调用函数时,通常写上函数名,然后是一对括号,括号中写上函数参数(或逗号分隔的参数表)。例如程序员可以用下列语句计算和打印900.0的平方根:

cout << sqrt(900.0);

执行这个语句时,数学库函数sqrt计算括号中所包含数字(900.0)的平方根。数字900.0是sqrt函数的参数。上述语句打印30。sqrtd函数取double类型参数,返回double类型结果。数学函数库中的所有函数都返回double类型结果。要使用数学库函数,需要在程序中包含math.h头文件(这个头文件在新的C++标准库中称为cmath)。

常见编程错误3.1

使用数学库孙数而不包括math.h文件是个语法错误。程序中使用的每个标准库函数都应包括标准头文件。

函数参数可取常量、变量或表达式。如果c1=13.0、d=3.0和f=4.0,则下列语句:

cout << sqrt (cl + d * f);

计算并打印13.0+3.0*4.0=25.0的平方根,即5(因为C++通常对没有小数部分的浮点数不打印小数点和后面的零)。

图3.2总结了一些数学库函数。图中变量x和y为double类型。

函数说明举例
ceil(x)将x取整为不小于x的最小整数ceil(9.2)=10.0
ceil(-9.8)=-9.0
cos(x)x(弧度)的余弦cos(0.0)=1.0
exp(x)指数函数exexp(1.0)=2.71828
exp(2.0)=7.38906
fabs(x)x的绝对值x>0,abs(x)=x
x=0,abs(x)=0.0
x<0,abs(x)=-x
floor(x)将x取整为不大于x的最大整数floor(9.2)=9.0
floor(-9.8)=-10.0
fmod(x,y)x/y的浮点数余数fmod(13.657,2.333)=1.992
log(x)x的自然对数(底数为e)log(2.718282)=1.0
log(7.389056)=2.0
log10(x)x的对数(底数为10)log(10.0)=1.0
log(100.0)=2.0
pow(x,y)x的y次方(xy)pow(2,7)=128
pow(9,.5)=3
sin(x)x(弧度)的正弦sin(0.0)=0
sqrt(x)x的平方根sqrt(900.0)=30.0
sqrt(9.0)=3.0
tan(x)x(弧度的正切tan(0.0)=0