第11章 数学函数库:math.h 数学函数是对数据进行计算时常用的函数,也是程序设计中最为常用的操作之一。每个函数都有自己所需的头文件,C语言提供数学运算的函数库为math.h。 11.1 abs()——整数绝对值函数 abs()函数
实用程度:★★★★☆
实例位置:配套资源\SL\11\01
abs()函数用于求整数的绝对值。
语法
intabs( int x) ;
abs()函数的语法参数说明如下:
参数x为整型数。
abs()函数的返回值:参数x的绝对值。
示例
本示例演示从键盘上输入任意一个整数,使用abs()函数求出输入整数的绝对值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.1所示。
图11.1 使用abs()函数求出整数的绝对值 11.2 acos()——反余弦值函数 acos()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\02
acos()函数用于取给定值的反余弦值。
语法
double acos ( double x ) ;
acos()函数的语法参数说明如下:
参数x为要取反余弦的双精度数。
acos()函数的返回值:给定值的反余弦值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用acos()函数求出输入数值的反余弦值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.2所示。
图11.2 求出输入数值的反余弦值 11.3 asin()——反正弦值函数 asin()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\03
asin()函数用于求出给定值的反正弦值。
语法
double asin( double x ) ;
asin()函数的语法参数说明如下:
参数x为要取反正弦的双精度数。
asin()函数的返回值:给定值的反正弦值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用asin()函数求出输入数值的反正弦值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.3所示。
图11.3 求出输入数值的反正弦值 11.4 atan()——反正切值函数 atan()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\04
atan()函数用于求出给定值的反正切值。
语法
double atan( double x ) ;
atan()函数的语法参数说明如下:
参数x为双精度弧度值。
atan()函数的返回值:给定值的反正切值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用atan()函数求出输入数值的反正切值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.4所示。
图11.4 求出输入数值的反正切值 11.5 atan2()——X/Y反正切函数 atan2()函数
实用程度:★★☆☆☆
实例位置:配套资源\SL\11\05
atan2()函数用于求x/y的反正切值。
语法
double atan2 ( double x , double y ) ;
atan2()函数的语法参数说明如下:
参数x为双精度弧度值。
参数y为双精度弧度值。
atan2()函数的返回值:x和y商的反正切值。
示例
本示例演示用atan2()函数求出x和y商的反正切值,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.5所示。
图11.5 求出x和y商的反正切值 11.6 ceil()——不小于某数的最小整数函数 ceil()函数
实用程度:★★☆☆☆
实例位置:配套资源\SL\11\06
ceil()函数用于求出不小于某数的最小整数。
语法
double ceil ( double x ) ;
ceil()函数的语法参数说明如下:
参数x表示要取整的双精度浮点数。
ceil()函数的返回值:一个不小于给定值的最小整数。
示例
本示例演示用ceil()函数实现下面的功能:从键盘中输入一个数,求出不小于该数的最小整数。其具体代码如下:
运行结果如图11.6所示。
图11.6 求出不小于该数的最小整数 11.7 cos()——余弦值函数 cos()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\07
cos()函数用于获取给定值的余弦值。
语法
double cos ( double x ) ;
cos()函数的语法参数说明如下:
参数x为要取余弦值的双精度浮点数。
cos()函数的返回值:给定值的余弦值。
示例
本示例演示从键盘上输入任意一个整数,使用cos()函数求出输入整数的余弦值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.7所示。
图11.7 求出输入整数的余弦值 11.8 cosh()——双曲余弦值函数 cosh()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\08
cosh()函数用于求出给定值的双曲余弦值。
语法
double cosh ( double x ) ;
cosh()函数的语法参数说明如下:
参数x为要求出双曲余弦值的双精度浮点数。
cosh()函数的返回值:给定值的双曲余弦值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用cosh()函数求出输入数值的双曲余弦值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.8所示。
图11.8 求出输入数值的双曲余弦值 11.9 exp()——e的次幂函数 exp()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\09
exp()函数用于求双精度数的指数函数值。
语法
double exp( double x ) ;
exp()函数的语法参数说明如下:
参数x为要求指数的双精度数。
exp()函数的返回值:双精度数的指数函数值。
示例
本示例演示用exp()函数求m的双精度数的指数函数值。其具体代码如下:
运行结果如图11.9所示。
图11.9 求m的双精度数的指数函数值 11.10 fabs()——浮点数绝对值函数 fabs()函数
实用程度:★★★★☆
实例位置:配套资源\SL\11\10
fabs()函数的功能是求浮点数的绝对值。
语法
double fabs ( double x ) ;
fabs()函数的语法参数说明如下:
参数x为要求绝对值的浮点数。
fabs()函数的返回值:双精度实数的绝对值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用fabs()函数求出输入双精度实数的绝对值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.10所示。
图11.10 求出输入双精度实数的绝对值 11.11 floor()——不大于某数的最大整数函数 floor()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\11
floor()函数用于求不大于x的最大整数。
语法
double floor( double x ) ;
floor()函数的语法参数说明如下:
参数x为双精度数。
floor()函数的返回值:不大于x的最大整数。
示例
本示例演示用floor()函数求出不大于输入数值的最大整数,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.11所示。
图11.11 求出不大于输入数值的最大整数 11.12 fmod()——余数函数 fmod()函数
实用程度:★★☆☆☆
实例位置:配套资源\SL\11\12
fmod()函数用于求出x/y的余数。
语法
double fmod ( double x , double y ) ;
fmod()函数的语法参数说明如下:
参数x为双精度数。
参数y为双精度数。
fmod()函数的返回值:x/y的余数。
示例
本示例演示用fmod()函数求出x和y商的余数,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.12所示。
图11.12 求出x和y商的余数 11.13 frexp()——计算浮点数尾数和指数函数 frexp()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\13
frexp()函数用于把一个双精度数分解为尾数的指数。
语法
double frexp ( double x , int *eptr ) ;
frexp()函数的语法参数说明如下:
参数x为要进行分解的双精度浮点数。
参数eptr为指针类型的形参。
frexp()函数将给定的双精度数分解为数字部分和以2为底的指数n,即x=m*2n,n存储在eptr所指向的变量中。
示例
本示例演示用frexp()函数实现对浮点数72.0进行分解,使其以72.0=x*2eptr形式输出到屏幕上。其具体代码如下:
运行结果如图11.13所示。
图11.13 使用frexp()函数实现对浮点数72.0进行分解 11.14 hypot()——计算直角三角形斜边长度函数 hypot()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\14
hypot()函数用于求直角三角形斜边长度。
语法
double hypot( double x, double y );
hypot()函数的语法参数说明如下:
参数x为直角三角形直角边。
参数y为直角三角形直角边。
hypot()函数的返回值:直角三角形斜边的长度。
示例
本示例演示根据给定三角形的两个直角边长,使用hypot()函数求出该直角三角形的斜边长度,并在输出窗体中显示出结果。其具体代码如下:
运行结果如图11.14所示。
图11.14 求出直角三角形的斜边长度 11.15 labs()——长整型绝对值函数 labs()函数
实用程度:★★★★☆
实例位置:配套资源\SL\11\15
labs()函数用于求长整型参数x的绝对值。
语法
long labs ( long x );
labs()函数的语法参数说明如下:
参数x为长整型。
labs()函数的返回值:参数的绝对值。
示例
本示例演示从键盘上输入任意一个长整型数值,使用labs()函数求出输入数值的绝对值,并在输出窗体中显示出结果。其具体代码如下:
运行结果如图11.15所示。
图11.15 求长整型数的绝对值 11.16 ldexp()——计算幂函数 ldexp()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\16
ldexp()函数用于计算指定的(2^ exp)倍数。
语法
double ldexp( double x, int exp );
ldexp()函数的语法参数说明如下:
参数x为双精度。
参数exp为2的整型指数。
ldexp()函数的返回值:x*(2^ exp)的结果。
示例
本示例演示了ldexp()函数的使用,采用该函数计算用户输入数值的(2^ exp)倍数。首先需要定义两个变量,然后获取用户输入的数值,最后计算该数值的(2^ exp)倍数,并输出结果。其具体代码如下:
运行结果如图11.16所示。
图11.16 使用ldexp()函数计算指定的(2^ exp)倍数 11.17 log()——自然对数函数 log()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\17
log()函数用于求自然对数。
语法
double log( double x );
log()函数的语法参数说明如下:
参数x为双精度数。
log()函数的返回值:参数的自然对数值。
示例
本示例演示用log()函数求3和40的自然对数,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.17所示。
图11.17 使用log()函数求3和40的自然对数 11.18 log10()——对数函数 log10()函数
实用程度:★★☆☆☆
实例位置:配套资源\SL\11\18
log10()函数是计算指定数值的以10为底的对数。
语法
double log10 ( double x );
log10()函数的语法参数说明如下:
参数x为双精度数。
log10()函数的返回值:以10为底的参数的对数值。
示例
本示例演示用log10()函数求以10为底的40的对数,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.18所示。
图11.18 使用log10()函数求以10为底的40的对数 11.19 modf()——取浮点数小数部分函数 modf()函数
实用程度:★★☆☆☆
实例位置:配套资源\SL\11\19
modf()函数用于求双精度数的小数部分。
语法
double modf( double x, double *intptr );
modf()函数的语法参数说明如下:
参数x为双精度数。
参数intptr为回传整数部分的变量指针。
modf()函数的返回值:x的小数部分。
示例
本示例演示用modf()函数求出3.1415的小数部分,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.19所示。
图11.19 求出3.1415的小数部分 11.20 pow()——计算x的y次幂函数 pow()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\20
pow()函数用于求出x的y次幂的值。
语法
double pow ( double x, double y );
pow()函数的语法参数说明如下:
参数x为双精度数。
参数y为双精度数。
pow()函数的返回值:x的y次幂的值。
示例
本示例演示用pow()函数计算出a的b次幂,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.20所示。
图11.20 计算出a的b次幂 11.21 pow10()——计算10的x次幂函数 pow10()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\21
pow10()函数用于计算给定数值10的指定次幂值。
语法
double pow10 ( int x ) ;
pow10()函数的语法参数说明如下:
参数x为要计算10的指定次幂。
pow10()函数的返回值:10的指定次幂x的值。
示例
本示例演示用pow10()函数计算10的指定次幂值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.21所示。
图11.21 使用pow10()函数计算10的指定次幂值 11.22 sin()——正弦值函数 sin()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\22
sin()函数用于计算给定值的正弦值。
语法
double sin ( double x ) ;
sin()函数的语法参数说明如下:
参数x为要求正弦的双精度数。
sin()函数的返回值:给定值的正弦值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用sin()函数求出输入数值的正弦值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.22所示。
图11.22 求出输入数值的正弦值 11.23 sinh()——双曲正弦值函数 sinh()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\23
sinh()函数用于求出指定值的双曲正弦值。
语法
double sinh ( double x ) ;
sinh()函数的语法参数说明如下:
参数x为要计算双曲正弦值的双精度数。
sinh()函数的返回值:给定值的双曲正弦值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用sinh()函数求出输入数值的双曲正弦值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.23所示。
图11.23 求出输入数值的双曲正弦值 11.24 sqrt()——平方根函数 sqrt()函数
实用程度:★★★☆☆
实例位置:配套资源\SL\11\24
sqrt()函数用于计算给定值的平方根。
语法
double sqrt ( double x ) ;
sqrt()函数的语法参数说明如下:
参数x为要取平方根的双精度数。
sqrt()函数的返回值:给定值的平方根。
示例
本示例演示用sqrt()函数求出指定值的平方根,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.24所示。
图11.24 使用sqrt()函数求出指定值的平方根 11.25 tan()——正切值函数 tan()函数
实用程度:★★★★☆
实例位置:配套资源\SL\11\25
tan()函数用于求出给定值的正切值。
语法
double tan( double x ) ;
tan()函数的语法参数说明如下:
参数x为要计算正切值的双精度浮点数值。
tan()函数的返回值:给定值的正切值。
示例
本示例演示从键盘上输入任意一个双精度实数,使用tan()函数求出输入数值的正切值,并在屏幕中显示出结果。其具体代码如下:
运行结果如图11.25所示。
图11.25 求出输入数值的正切值 11.26 tanh()——双曲正切值函数 tanh()函数
实用程度:★★☆☆☆
实例位置:配套资源\SL\11\26
tanh()函数用于求出双曲正切值函数。
语法
double tanh ( double x ) ;
tanh()函数的语法参数说明如下:
参数x为要计算双曲正切值的双精度浮点数值。
tanh()函数的返回值:给定值的双曲正切值。
示例
本示例演示用tanh()函数计算出给定值的双曲正切值,并在屏幕中显示出计算后的结果。其具体代码如下:
运行结果如图11.26所示。
图11.26 计算出给定值的双曲正切值