c语言函数库第五章数学函数.docx
- 文档编号:5003787
- 上传时间:2022-12-12
- 格式:DOCX
- 页数:26
- 大小:21.30KB
c语言函数库第五章数学函数.docx
《c语言函数库第五章数学函数.docx》由会员分享,可在线阅读,更多相关《c语言函数库第五章数学函数.docx(26页珍藏版)》请在冰豆网上搜索。
c语言函数库第五章数学函数
c语言函数库
第五章(数学函数)
1.abs、labs、fabs:
求绝对值函数1
2.acos:
反余弦函数2
3.asin:
反正弦函数3
4.atan:
反正切函数3
5.atan2:
反正切函数24
#
6.ceil:
向上舍入函数4
7.cos:
余弦函数5
8.cosh:
双曲余弦函数5
9.div、ldiv:
除法函数6
10.exp:
求e的x次幂函数7
11.floor:
向下舍入函数7
12.fmod:
求模函数8
13.frexp:
分解浮点数函数8
:
14.hypot:
求直角三角形斜边长函数9
15.ldexp:
装载浮点数函数10
16.log、log10:
对数函数10
17.modf:
分解双精度数函数11
18.pow、pow10:
指数函数11
19.rand:
产生随机整数函数12
20.sin:
正弦函数13
21.sinh:
双曲正弦函数13
!
22.sqrt:
开平方函数14
23.srand:
设置随机时间的种子函数14
24.tan:
正切函数15
25.tanh:
双曲正切函数15
1.abs、labs、fabs:
求绝对值函数
函数原型:
intabs(intx);
longlabs(longx);
doublefabs(doublex);
\
头文件:
#include<>
是否是标准函数:
是
函数功能:
函数intabs(intx);是求整数x的绝对值;函数longlabs(longn);是求长整型数x的绝对值;函数doublefabs(doublex);是求浮点数x的绝对值。
返回值:
返回计算结果。
例程如下:
计算整数的绝对值。
#include<>
intmain(void)
{
:
intx=-56;
printf("number:
%dabsolutevalue:
%d\n",x,abs(x));
return0;
}
例程说明:
本例程通过abs函数计算出整型数-56的绝对值56,并在屏幕上显示结果。
本例程的运行结果为:
number:
-56absolutevalue:
56
例程如下:
计算长整数的绝对值。
】
#include<>
intmain(void)
{
longx=-12345678L;
printf("number:
%ldabsolutevalue:
%ld\n",x,labs(x));
return0;
}
例程说明:
$
本例程通过labs函数计算出长整型数-的绝对值,并在屏幕上显示结果。
本例程的运行结果为:
number:
-absolutevalue:
例程如下:
计算浮点数的绝对值。
#include<>
intmain(void)
{
floatx=;
printf("number:
%fabsolutevalue:
%f\n",x,fabs(x));
)
return0;
}
例程说明:
本例程通过fabs函数计算出浮点数的绝对值,并在屏幕上显示结果。
本例程的运行结果为:
number:
absolutevalue:
2.acos:
反余弦函数
函数原型:
doubleacos(doublex);
%
头文件:
#include<>
是否是标准函数:
是
函数功能:
求x的反余弦值,这里,x为弧度,x的定义域为[,],arccosx的值域为[0,π]。
返回值:
计算结果的双精度值。
例程如下:
求arccosx。
#include<>
#include<>
intmain(void)
[
{
doubleresult;
doublex=;
result=acos(x);
printf("arccos%lf=%lf\n",x,result);
return0;
}
例程说明:
|
本例程应用函数acos计算的反余弦值,即:
arccos1。
返回计算结果的双精度值。
本例程的运行结果是:
arccos=
3.asin:
反正弦函数
函数原型:
doubleasin(doublex);
头文件:
#include<>
是否是标准函数:
是
函数功能:
求x的反正弦值,这里,x为弧度,x的定义域为[,],arcsinx值域为[-π/2,+π/2]。
!
返回值:
计算结果的双精度值。
例程如下:
求arcsinx。
#include<>
#include<>
intmain(void)
{
doubleresult;
doublex=;
】
result=asin(x);
printf("arcsin%lfis%lf\n",x,result);
return(0);
}
例程说明:
本例程应用函数asin计算的反正弦值,即:
arcsin1。
返回计算结果的双精度值。
本例程的运行结果是:
arcsinis
4.^
5.atan:
反正切函数
函数原型:
doubleatan(doublex);
头文件:
#include<>
是否是标准函数:
是
函数功能:
求x的反正切值,这里,x为弧度,x的定义域为(-∞,+∞),arctanx的值域为(-π/2,+π/2)。
返回值:
计算结果的双精度值。
例程如下:
求arctanx。
#include<>
|
#include<>
intmain(void)
{
doubleresult;
doublex=;
result=atan(x);
printf("arctan%lf=%lf\n",x,result);
return(0);
'
}
例程说明:
本例程应用函数atan计算的反正切值,即:
arctan1。
并返回计算结果的双精度值。
本例程的运行结果是:
arctan=
6.atan2:
反正切函数2
函数原型:
doubleatan2(doubley,doublex);
头文件:
#include<>
|
是否是标准函数:
是
函数功能:
求y/x的反正切值。
返回值:
计算结果的双精度值。
例程如下:
求arctan(x/y)。
#include<>
#include<>
intmain(void)
{
,
doubleresult;
doublex=,y=;
result=atan2(y,x);
printf("arctan%lf=%lf\n",(y/x),result);
return0;
}
例程说明:
本例程应用函数atan2计算的反正切值,即:
。
并返回计算结果的双精度值。
本例程的运行结果是:
…
=
7.ceil:
向上舍入函数
函数原型:
doubleceil(doublex);
头文件:
#include<>
是否是标准函数:
是
函数功能:
将双精度数x向上舍入,即:
取它的最大整数。
例如:
ceil=。
返回值:
返回计算结果。
;
例程如下:
数值的向上舍入。
#include<>
#include<>
intmain(void)
{
doublenum=;
doubleup;
up=ceil(num);
<
printf("Theoriginalnumber%lf\n",num);
printf("Thenumroundedup%lf\n",up);
return0;
}
例程说明:
本例程通过函数ceil将双精度数向上舍入,得到的结果为,并在屏幕上显示运算结果。
本例程的运行结果为:
Theoriginalnumber
Thenumroundedup
…
8.cos:
余弦函数
函数原型:
doublecos(doublex);
头文件:
#include<>
是否是标准函数:
是
函数功能:
求x的余弦值,这里,x为弧度。
返回值:
计算结果的双精度值。
例程如下:
求cosx。
$
#include<>
#include<>
intmain(void)
{
doubleresult;
doublex=M_PI;
result=cos(x);
printf("cos(PI)is%lf\n",result);
…
return0;
}
例程说明:
本例程应用cos函数计算π的余弦值,即:
cosπ,再返回计算结果的双精度值。
本例程的运行结果是:
cos(PI)is
9.cosh:
双曲余弦函数
函数原型:
dlublecosh(doublex);
?
头文件:
#include<>
是否是标准函数:
是
函数功能:
计算x的双曲余弦值。
其中ch(x)=(ex+e-x)/2。
返回值:
计算结果的双精度值。
例程如下:
求x的双曲余弦值ch(x)。
#include<>
#include<>
intmain(void)
$
{
doubleresult;
doublex=;
result=cosh(x);
printf("ch(%lf)=%lf\n",x,result);
return0;
}
例程说明:
-
本例程应用函数cosh计算的双曲余弦值,即:
ch,并返回计算结果的双精度值。
本例程的运行结果是:
ch=
10.div、ldiv:
除法函数
函数原型:
div_tdiv(intnumber,intdenom);
ldiv_tldiv(longlnumer,longldenom);
头文件:
#include<>
是否是标准函数:
是
》
函数功能:
函数div是将两个整数numbe和denom相除,返回商和余数。
函数ldiv是将两个长整数lnumbe和ldenom相除,返回商和余数。
返回值:
函数div返回div_t类型的值;函数ldiv返回ldiv_t类型的值。
例程如下:
两整数相除,求其商和余数。
#include<>
#include<>
div_tx;
intmain(void)
{
?
x=div(11,5);
printf("11div5=%dremainder%d\n",,;
return0;
}
例程说明:
本例程通过div函数将11和5相除,返回其商和余数。
注意:
div函数并不是<>中的函数,而是<>中的函数。
<>中包含存储分配函数和一些杂项函数。
但由于div函数具有数学计算的功能,因此将其归类到数学函数中。
div_t是<>中定义的数据类型,它是一个结构体,定义如下:
·
typedefstruct
{
intquot;/*商*/
intrem;/*余数*/
}div_t;
其中包含两个域:
商和余数。
div函数将两个整数相除,返回一个div_t类型的值。
该函数的运行结果是:
11div2=5remainder1
`
例程如下:
两长整数相除,求其商和余数。
#include<>
#include<>
ldiv_tlx;
intmain(void)
{
lx=ldiv(200000L,70000L);
`
printf("200000div70000=%ldremainder%ld\n",,;
return0;
}
例程说明:
本例程通过ldiv函数将长整数200000与70000相除,并返回其商和余数。
注意:
同函数div一样,函数ldiv是<>中的函数。
ldiv_t是<>中定义的数据类型,它是一个结构体,定义如下:
typedefstruct{
<
longquot;
longrem;
}ldiv_t;
其中包含两个域:
商和余数。
ldiv函数将两个长整数相除,返回一个ldiv_t类型的值。
该函数的运行结果是:
200000div70000=2remainder60000
11.exp:
求e的x次幂函数
)
函数原型:
doubleexp(doublex);
头文件:
#include<>
是否是标准函数:
是
函数功能:
计算自然常数e的x幂。
返回值:
返回计算结果的双精度值。
例程如下:
计算ex(说明:
e=...)。
#include<>
#include<>
"
intmain(void)
{
doubleresult;
doublex=;
result=exp(x);
printf("'e'raisedtothepowerof%lf(e^%lf)=%lf\n",x,x,result);
return0;
}
《
例程说明:
本例程应用函数exp计算e3,该函数返回计算结果的双精度值。
本例程的运行结果为:
'e'raisedtothepowerof(e^=
12.floor:
向下舍入函数
函数原型:
doublefloor(doublex);
头文件:
#include<>
是否是标准函数:
是
~
函数功能:
将双精度数x向下舍入,即:
取它的最小整数。
例如:
floor=。
返回值:
返回计算结果。
例程如下:
数值的向下舍入。
#include<>
#include<>
intmain(void)
{
doublenum=;
—
doubleup;
up=floor(num);
printf("Theoriginalnumber%lf\n",num);
printf("Thenumroundeddown%lf\n",up);
return0;
}
例程说明:
本例程通过函数floor将双精度数向下舍入,得到的结果为,并在屏幕上显示运算结果。
本例程的运行结果为:
:
Theoriginalnumber
Thenumroundeddown
13.fmod:
求模函数
函数原型:
doublefmod(doublex,doubley);
头文件:
#include<>
是否是标准函数:
是
函数功能:
计算x对y的模,即x/y的余数。
^
返回值:
返回计算结果,即余数的双精度。
例程如下:
计算两数的余数。
#include<>
#include<>
intmain(void)
{
floatx,y;
x=;
|
y=;
printf(":
%f\n",fmod(x,y));
getchar();
return0;
}
例程说明:
本例程通过函数fmod求双精度数和的模,其结果为:
。
本例程的运行结果为:
!
:
14.frexp:
分解浮点数函数
函数原型:
doublefrexp(doubleval,int*exp);
头文件:
#include<>
是否是标准函数:
是
函数功能:
把浮点数或双精度数val分解为数字部分(尾数部分)x和以2为底的指数部分n。
即val=x*2n,其中n存放在exp指向的变量中。
返回值:
返回尾数部分x的双精度值,且≤x<1。
^
例程如下:
应用函数frexp分解浮点数。
#include<>
#include<>
intmain(void)
{
floatx;
intexp;
x=frexp,&exp);
、
printf("=%.2f*2^%d",x,exp);
getchar();
return0;
}
例程说明:
本例程通过函数frexp将浮点数分解为尾数和以2为底的指数7。
该函数将指数7存放在变量exp中,并返回一个双精度的尾数。
本例程的运行结果为:
=*2^7
15.,
16.hypot:
求直角三角形斜边长函数
函数原型:
doublehypot(doublex,doubley);
头文件:
#include<>
是否是标准函数:
是
函数功能:
x,y为给定的直角三角形两直角边,求该直角三角形的斜边。
返回值:
返回计算结果的双精度值。
例程如下:
根据两直角边求斜边的长。
#include<>
-
#include<>
intmain(void)
{
doubleresult;
doublex=;
doubley=;
result=hypot(x,y);
printf("Thehypotenuseis:
%lf\n",result);
—
return0;
}
例程说明:
本例程中,已知两直角边长度:
x=;y=,应用函数hypot求出其斜边长度。
本例程的运行结果为:
Thehypotenuseis:
17.ldexp:
装载浮点数函数
函数原型:
doubleldexp(doubleval,intexp);
!
头文件:
#include<>
是否是标准函数:
是
函数功能:
功能与函数frexp相反,将给定的尾数,指数装载成相应的双精度数或浮点数。
即计算val*2n,其中n为参数exp的值。
返回值:
返回val*2n的计算结果。
例程如下:
应用函数frexp装载浮点数。
#include<>
#include<>
intmain(void)
—
{
doublevalue;
doublex=;
value=ldexp(x,3);
printf("Theldexpvalueis:
%lf\n",value);
getchar();
return0;
}
…
例程说明:
本例程通过函数ldexp将尾数与指数3装载成相应的双精度数。
即:
*23=。
该函数返回一个双精度数。
本例程的运行结果为:
Theldexpvalueis:
18.log、log10:
对数函数
函数原型:
doublelog(doublex);
doublelog10(doublex);
头文件:
#include<>
:
是否是标准函数:
是
函数功能:
求对数。
函数log是求以e为底的x的对数(自然对数)即:
lnx;函数log10是求以10为底的x的对数,即:
log10x。
返回值:
返回计算结果的双精度值。
例程如下:
计算lnx。
#include<>
#include<>
intmain(void)
{
—
doubleresult;
doublex=M_E;
result=log(x);
printf("Thenaturallogof%lfis%lf\n",x,result);
return0;
}
例程说明:
本例程应用函数log计算双精度数M_E的自然对数,其中M_E为<>中定义的常数#defineM_E就等于e,因此,本例程的运行结果为:
【
Thenaturallogofis
例程如下:
计算log10x。
#include<>
#include<>
intmain(void)
{
doubleresult;
doublex=;
/
result=log10(x);
printf("Thecommonlogof%lfis%lf\n",x,result);
return0;
}
例程说明:
本例程应用函数log10计算双精度数的以10为底的对数,该函数返回的结果仍是双精度数。
本例程的运行结果为:
Thecommonlogofis
19.!
20.modf:
分解双精度数函数
函数原型:
doublemodf(doublenum,double*i);
头文件:
#include<>
是否是标准函数:
是
函数功能:
把双精度数num分解为整数部分和小数部分,并把整数部分存到i指向的单元中。
返回值:
返回num的小数部分的双精度值。
例程如下:
应用函数modf分解双精度数。
#include<>
?
#include<>
intmain(void)
{
doublefraction,integer;
doublenumber=;
fraction=modf(number,&integer);
printf("Theintegerandthefractionof%lfare%lfand%lf\n",
number,integer,fraction);
》
return0;
}
例程说明:
本例程将双精度数分解为整数部分和小数部分,并将整数部分存入变量integer中,返回小数部分。
最后在屏幕上显示结果。
本例程的运行结果为:
Theintegerandthefractionofareand
21.pow、pow10:
指数函数
函数原型:
doublepow(doublex,doubley);
¥
doublepow10(intx);
头文件:
#include<>
是否是标准函数:
是
函数功能:
指数函数。
函数pow是求x的y次方;函数pow10相当于pow,x),是求10的x次方。
返回值:
返回计算结果的双精度值。
例程如下:
计算xy。
#include<>
#include<>
(
intmain(void)
{
doublex=,y=;
printf("Theresultof%lfraisedto%lfis%lf\n",x,y,pow(x,y));
return0;
}
例程说明:
本例程中,应用函数pow计算210,并将结果的双精度值返回。
本例程的运行结果为:
?
Theresultofraisedtois
例程如下:
计算10x。
#include<>
#include<>
intmain(void)
{
doublex=;
printf("Theresultof10raisedto%lfis%lf\n",x,pow10(x));
"
return0;
}
本例程中,应用函数pow10计算102,并将结果的双精度值返回。
本例程的运行结果为:
Theresultof10raisedtois
22.rand:
产生随机整数函数
函数原型:
intrand(void);
头文件:
#includ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 函数库 第五 数学 函数