数学库中包含许多有用的数学函数。math.h头文件提供这些函数的原型。表16.2中列出了一些声明在math.h中的函数。注意,函数中涉及的角度都以弧度为单位(1弧度=180/π=57.296度)。参考资料V“新增C99和C11标准的ANSI C库”列出了C99和C11标准的所有函数。
1 三角问题
我们可以使用数学库解决一些常见的问题:把x/y坐标转换为长度和角度。例如,在网格上画了一条线,该线条水平穿过了4个单元(x的值),垂直穿过了3个单元(y的值)。那么,该线的长度(量)和方向是什么?根据数学的三角公式可知:
magnitude = square root (x^2 + y^2)
and
angle = arctangent (y/x)
数学库提供平方根函数和一对反正切函数,所以可以用C程序表示这个问题。平方根函数是sqrt(),接受一个double类型的参数,并返回参数的平方根,也是double类型。 atan()函数接受一个double类型的参数(即正切值),并返回一个角度(该角度的正切值就