收藏 分享(赏)

c语言函数库-第五章(数学函数).doc

上传人:gnk289057 文档编号:6833745 上传时间:2019-04-23 格式:DOC 页数:16 大小:147KB
下载 相关 举报
c语言函数库-第五章(数学函数).doc_第1页
第1页 / 共16页
c语言函数库-第五章(数学函数).doc_第2页
第2页 / 共16页
c语言函数库-第五章(数学函数).doc_第3页
第3页 / 共16页
c语言函数库-第五章(数学函数).doc_第4页
第4页 / 共16页
c语言函数库-第五章(数学函数).doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、c 语言函数库第五章(数学函数)1. abs、labs、fabs :求绝对值函数 12. acos: 反余弦函数 23. asin: 反正弦函数 34. atan:反正切函数 35. atan2:反正切函数 2 .46. ceil:向上舍入函数 .47. cos :余弦函数 .58. cosh: 双曲余弦函数 .59. div、ldiv:除法函数 .610. exp:求 e 的 x 次幂函数 711. floor:向下舍入函数 .712. fmod:求模函数 .813. frexp:分解浮点数函数 .814. hypot:求直角三角形斜边长函数 915. ldexp:装载浮点数函数 1016.

2、 log、log10:对数函数 .1017. modf:分解双精度数函数 .1118. pow、pow10:指数函数 .1119. rand:产生随机整数函数 1220. sin:正弦函数 .1321. sinh: 双曲正弦函数 .1322. sqrt:开平方函数 .1423. srand:设置随机时间的种子函数 .1424. tan: 正切函数 1525. tanh:双曲正切函数 151. abs、labs、fabs:求绝对值函数函数原型:int abs(int x);long labs(long x);double fabs(double x);头文件:#include是否是标准函数:是函

3、数功能:函数 int abs(int x);是求整数 x 的绝对值;函数 long labs(long n);是求长整型数 x 的绝对值;函数 double fabs(double x); 是求浮点数 x 的绝对值。返回值:返回计算结果。例程如下: 计算整数的绝对值。#include int main(void)int x = -56;printf(“number: %d absolute value: %dn“,x, abs(x);return 0; 例程说明:本例程通过 abs 函数计算出整型数 -56 的绝对值 56,并在屏幕上显示结果。本例程的运行结果为:number: -56 abs

4、olute value: 56例程如下:计算长整数的绝对值。#include int main(void) long x = -12345678L; printf(“number: %ld absolute value: %ldn“, x,labs(x);return 0; 例程说明:本例程通过 labs 函数计算出长整型数-12345678 的绝对值 12345678,并在屏幕上显示结果。本例程的运行结果为:number: -12345678 absolute value: 12345678例程如下:计算浮点数的绝对值。#include int main(void) float x = -1

5、28.0;printf(“number: %f absolute value: %fn“, x, fabs(x);return 0; 例程说明:本例程通过 fabs 函数计算出浮点数-128.0 的绝对值 128.0,并在屏幕上显示结果。本例程的运行结果为:number: -128.000000 absolute value: 128.0000002. acos: 反余弦函数函数原型:double acos(double x);头文件:#include是否是标准函数:是函数功能:求 x 的反余弦值,这里,x 为弧度,x 的定义域为-1.0,1.0 ,arccosx 的值域为0, 。返回值:计算

6、结果的双精度值。例程如下: 求 arccosx。#include #include int main(void) double result; double x = 1.0;result = acos(x); printf(“arccos %lf=%lfn“, x, result);return 0; 例程说明:本例程应用函数 acos 计算 1.0 的反余弦值,即:arccos1。返回计算结果的双精度值。本例程的运行结果是:arccos 1.000000=0.0000003. asin: 反正弦函数函数原型:double asin(double x);头文件:#include是否是标准函数:

7、是函数功能:求 x 的反正弦值,这里,x 为弧度,x 的定义域为-1.0,1.0 ,arcsinx 值域为-/2, +/2。返回值:计算结果的双精度值。例程如下:求 arcsinx。#include #include int main(void) double result; double x = 1.0;result = asin(x); printf(“arcsin %lf is %lfn“, x, result);return(0); 例程说明:本例程应用函数 asin 计算 1.0 的反正弦值,即:arcsin1。返回计算结果的双精度值。本例程的运行结果是:arcsin 1.00000

8、0 is 1.5707964. atan:反正切函数函数原型:double atan(double x);头文件:#include是否是标准函数:是函数功能:求 x 的反正切值,这里,x 为弧度,x 的定义域为(-,+),arctanx 的值域为(-/2, +/2)。返回值:计算结果的双精度值。例程如下: 求 arctanx。#include #include int main(void) double result; double x = 1.0;result = atan(x); printf(“arctan %lf = %lfn“, x, result);return(0); 例程说明:

9、本例程应用函数 atan 计算 1.0 的反正切值,即:arctan1 。并返回计算结果的双精度值。本例程的运行结果是:arctan 1.000000 = 0.7853985. atan2:反正切函数 2函数原型:double atan2(double y, double x);头文件:#include是否是标准函数:是函数功能:求 y/x 的反正切值。返回值:计算结果的双精度值。例程如下: 求 arctan(x/y)。#include #include int main(void) double result; double x = 10.0, y = 5.0;result = atan2(

10、y, x); printf(“arctan%lf = %lfn“, (y / x), result);return 0; 例程说明:本例程应用函数 atan2 计算 10.0/5.0 的反正切值,即:arctan0.5。并返回计算结果的双精度值。本例程的运行结果是:arctan0.500000 = 0.4636486. ceil:向上舍入函数函数原型:double ceil(double x);头文件:#include是否是标准函数:是函数功能:将双精度数 x 向上舍入,即:取它的最大整数。例如:ceil(123.400000)=124.000000。返回值:返回计算结果。例程如下: 数值的向

11、上舍入。#include #include int main(void) double num = 123.400000;double up;up = ceil(num);printf(“The original number %lfn“, num);printf(“The num rounded up %lfn“, up);return 0; 例程说明:本例程通过函数 ceil 将双精度数 123.400000 向上舍入,得到的结果为 124.000000,并在屏幕上显示运算结果。本例程的运行结果为:The original number 123.400000The num rounded

12、up 124.0000007. cos :余弦函数函数原型:double cos(double x);头文件:#include是否是标准函数:是函数功能:求 x 的余弦值,这里,x 为弧度。返回值:计算结果的双精度值。例程如下: 求 cosx。#include #include int main(void) double result; double x = M_PI;result = cos(x); printf(“cos(PI) is %lfn“, result);return 0; 例程说明:本例程应用 cos 函数计算 的余弦值,即:cos ,再返回计算结果的双精度值。本例程的运行结果

13、是:cos(PI) is -1.0000008. cosh: 双曲余弦函数函数原型:dluble cosh(double x);头文件:#include是否是标准函数:是函数功能:计算 x 的双曲余弦值。其中 ch(x)=(ex+e-x)/2。返回值:计算结果的双精度值。例程如下: 求 x 的双曲余弦值 ch(x)。#include #include int main(void) double result; double x = 0.5; result = cosh(x); printf(“ch(%lf) = %lfn“, x, result);return 0; 例程说明:本例程应用函数

14、cosh 计算 0.5 的双曲余弦值,即:ch(0.5),并返回计算结果的双精度值。本例程的运行结果是:ch(0.500000) = 1.1276269. div、ldiv:除法函数函数原型:div_t div(int number, int denom);ldiv_t ldiv(long lnumer, long ldenom);头文件:#include是否是标准函数:是函数功能:函数 div 是将两个整数 numbe 和 denom 相除, 返回商和余数。函数 ldiv 是将两个长整数 lnumbe 和 ldenom 相除, 返回商和余数。返回值:函数 div 返回 div_t 类型的值;

15、函数 ldiv 返回 ldiv_t 类型的值。例程如下:两整数相除,求其商和余数。#include #include div_t x; int main(void) x = div(11,5);printf(“11 div 5 = %d remainder %dn“, x.quot, x.rem);return 0; 例程说明:本例程通过 div 函数将 11 和 5 相除,返回其商和余数。注意:div 函数并不是中的函数,而是中的函数。中包含存储分配函数和一些杂项函数。但由于 div 函数具有数学计算的功能,因此将其归类到数学函数中。div_t 是中定义的数据类型,它是一个结构体,定义如下:

16、typedef struct int quot; /*商*/int rem; /*余数*/div_t;其中包含两个域:商和余数。div 函数将两个整数相除, 返回一个 div_t 类型的值。该函数的运行结果是:11 div 2 = 5 remainder 1例程如下:两长整数相除,求其商和余数。#include #include ldiv_t lx; int main(void) lx = ldiv(200000L, 70000L);printf(“200000 div 70000 = %ld remainder %ldn“, lx.quot, lx.rem);return 0; 例程说明:本

17、例程通过 ldiv 函数将长整数 200000 与 70000 相除,并返回其商和余数。注意:同函数 div 一样,函数 ldiv 是中的函数。ldiv_t 是中定义的数据类型,它是一个结构体,定义如下:typedef struct long quot;long rem; ldiv_t;其中包含两个域:商和余数。ldiv 函数将两个长整数相除, 返回一个 ldiv_t 类型的值。该函数的运行结果是:200000 div 70000 = 2 remainder 6000010. exp:求 e 的 x 次幂函数函数原型:double exp(double x);头文件:#include是否是标准

18、函数:是函数功能:计算自然常数 e 的 x 幂。返回值:返回计算结果的双精度值。例程如下: 计算 ex(说明:e=2.718281828.) 。#include #include int main(void) double result; double x = 3.0;result = exp(x); printf(“e raised to the power of %lf (e %lf) = %lfn“, x, x, result);return 0; 例程说明:本例程应用函数 exp 计算 e3,该函数返回计算结果的双精度值。本例程的运行结果为:e raised to the power

19、of 3.000000 (e 3.000000) = 20.08553711. floor:向下舍入函数函数原型:double floor(double x);头文件:#include是否是标准函数:是函数功能:将双精度数 x 向下舍入,即:取它的最小整数。例如:floor(123.400000)=123.000000。返回值:返回计算结果。例程如下:数值的向下舍入。#include #include int main(void) double num = 123.400000;double up;up = floor(num);printf(“The original number %lfn

20、“, num);printf(“The num rounded down %lfn“, up);return 0; 例程说明:本例程通过函数 floor 将双精度数 123.400000 向下舍入,得到的结果为 123.000000,并在屏幕上显示运算结果。本例程的运行结果为:The original number 123.400000The num rounded down 123.00000012. fmod:求模函数函数原型:double fmod(double x, double y);头文件:#include是否是标准函数:是函数功能:计算 x 对 y 的模, 即 x/y 的余数。返

21、回值:返回计算结果,即余数的双精度。例程如下: 计算两数的余数。#include #include int main(void)float x,y;x=12.580000;y=2.600000;printf(“12.580000/2.600000: %fn“,fmod(x,y);getchar();return 0;例程说明:本例程通过函数 fmod 求双精度数 12.580000 和 2.600000 的模,其结果为:2.180000。本例程的运行结果为:12.580000/2.600000: 2.18000013. frexp:分解浮点数函数函数原型:double frexp(double

22、 val, int *exp);头文件:#include是否是标准函数:是函数功能:把浮点数或双精度数 val 分解为数字部分(尾数部分)x 和以 2 为底的指数部分 n。即 val=x*2n,其中 n 存放在 exp 指向的变量中。返回值:返回尾数部分 x 的双精度值,且 0.5x#include int main(void)float x;int exp;x=frexp(64.0,printf(“64.0=%.2f*2%d“,x,exp);getchar();return 0;例程说明:本例程通过函数 frexp 将浮点数 64.0 分解为尾数 0.5 和以 2 为底的指数 7。该函数将指

23、数 7 存放在变量 exp 中,并返回一个双精度的尾数 0.500000。本例程的运行结果为:64.0=0.50*2714. hypot:求直角三角形斜边长函数函数原型:double hypot(double x, double y);头文件:#include是否是标准函数:是函数功能:x,y 为给定的直角三角形两直角边,求该直角三角形的斜边。返回值:返回计算结果的双精度值。例程如下: 根据两直角边求斜边的长。#include #include int main(void) double result; double x = 3.0; double y = 4.0; result = hypo

24、t(x, y); printf(“The hypotenuse is: %lfn“, result); return 0; 例程说明:本例程中,已知两直角边长度:x = 3.0; y = 4.0,应用函数 hypot 求出其斜边长度。本例程的运行结果为:The hypotenuse is: 5.00000015. ldexp:装载浮点数函数函数原型:double ldexp(double val, int exp);头文件:#include是否是标准函数:是函数功能:功能与函数 frexp 相反,将给定的尾数,指数装载成相应的双精度数或浮点数。即计算 val*2n,其中 n 为参数 exp 的

25、值。返回值:返回 val*2n 的计算结果。例程如下:应用函数 frexp 装载浮点数。#include #include int main(void) double value; double x = 3.000000;value = ldexp(x,3); printf(“The ldexp value is: %lfn“, value);getchar();return 0;例程说明:本例程通过函数 ldexp 将尾数 3.000000 与指数 3 装载成相应的双精度数。即:3.000000*23= 24.000000。该函数返回一个双精度数。本例程的运行结果为:The ldexp va

26、lue is: 24.00000016. log、log10:对数函数函数原型:double log(double x);double log10(double x);头文件:#include是否是标准函数:是函数功能:求对数。函数 log 是求以 e 为底的 x 的对数(自然对数)即:lnx;函数log10 是求以 10 为底的 x 的对数,即: log10x。返回值:返回计算结果的双精度值。例程如下: 计算 lnx。#include #include int main(void) double result; double x = M_E;result = log(x); printf(“

27、The natural log of %lf is %lfn“, x, result); return 0; 例程说明:本例程应用函数 log 计算双精度数 M_E 的自然对数,其中 M_E 为中定义的常数#define M_E 2.71828182845904523536 就等于 e,因此,本例程的运行结果为:The natural log of 2.718282 is 1.000000例程如下: 计算 log10x。#include #include int main(void) double result; double x = 1000.0 ;result = log10(x); pr

28、intf(“The common log of %lf is %lfn“, x, result); return 0; 例程说明:本例程应用函数 log10 计算双精度数 1000.0 的以 10 为底的对数,该函数返回的结果仍是双精度数。本例程的运行结果为:The common log of 1000.000000 is 3.00000017. modf:分解双精度数函数函数原型:double modf(double num, double *i);头文件:#include是否是标准函数:是函数功能:把双精度数 num 分解为整数部分和小数部分,并把整数部分存到 i 指向的单元中。返回值:返

29、回 num 的小数部分的双精度值。例程如下: 应用函数 modf 分解双精度数。#include #include int main(void) double fraction, integer; double number = 12345.6789;fraction = modf(number, printf(“The integer and the fraction of %lf are %lf and %lfn“,number, integer, fraction); return 0; 例程说明:本例程将双精度数 12345.6789 分解为整数部分和小数部分,并将整数部分存入变量in

30、teger 中,返回小数部分。最后在屏幕上显示结果。本例程的运行结果为:The integer and the fraction of 12345.678900 are 12345.000000 and 0.67890018. pow、pow10:指数函数函数原型:double pow(double x, double y);double pow10(int x);头文件:#include是否是标准函数:是函数功能:指数函数。函数 pow 是求 x 的 y 次方;函数 pow10 相当于 pow(10.0,x),是求 10 的 x 次方。返回值:返回计算结果的双精度值。例程如下: 计算 xy

31、。#include #include int main(void) double x = 2.0, y = 10.0;printf(“The result of %lf raised to %lf is %lfn“, x, y, pow(x, y);return 0; 例程说明:本例程中,应用函数 pow 计算 210,并将结果的双精度值返回。本例程的运行结果为:The result of 2.000000 raised to 10.000000 is 1024.000000例程如下: 计算 10x。#include #include int main(void) double x = 2.0

32、;printf(“The result of 10 raised to %lf is %lfn“, x, pow10(x);return 0; 本例程中,应用函数 pow10 计算 102,并将结果的双精度值返回。本例程的运行结果为:The result of 10 raised to 2.000000 is 100.00000019. rand:产生随机整数函数函数原型:int rand(void);头文件:#include是否是标准函数:是函数功能:产生-90 到 32767 之间的随机整数。返回值:产生的随机整数。例程如下: 利用函数 rand 产生处于 099 之间的 5 个随机整数。

33、#include #include int main(void) int i; printf(“Random numbers from 0 to 99n“);for(i=0; i 中定义的函数,而是 中定义的函数。因此要在源程序中包含头文件。20. sin:正弦函数函数原型:double sin(double x);头文件:#include是否是标准函数:是函数功能:求 x 的正弦值,这里,x 为弧度。返回值:计算结果的双精度值。例程如下: 求 sinx。#include #include int main(void)float x;x=M_PI/2;printf(“sin(PI/2)=%f“

34、,sin(x);getchar();return 0;例程说明:本例程应用 sin 函数计算 /2 的正弦值,即:sin(/2)。返回计算结果的双精度值。注意:M_PI 是中定义 的 值常量。本例程的运行结果为:sin(PI/2)=1.0000021. sinh: 双曲正弦函数函数原型:double sinh(double x);头文件:#include是否是标准函数:是函数功能:计算 x 的双曲正弦值。其中 sh(x)=(ex-e-x)/2。返回值:计算结果的双精度值。例程如下: 求 x 的双曲正弦值 sh(x)。#include #include int main(void) double

35、 result, x = 0.5; result = sinh(x); printf(“sh( %lf )=%lfn“, x, result);return 0; 例程说明:本例程应用函数 sinh 计算 0.5 的双曲正弦值,即:sh(0.5),并返回计算结果的双精度值。本例程的运行结果是:sh( 0.500000 )=0.52109522. sqrt:开平方函数函数原型:double sqrt(double x);头文件:#include是否是标准函数:是函数功能:求双精度数 x 的算术平方根,这里,x0。返回值:返回计算结果的双精度值。例程如下: 计算双精度数的平方根。#include

36、#include int main(void) double result,x = 4.0;result = sqrt(x); printf(“The square root of %lf is %lfn“, x, result); return 0; 例程说明:本例程中,应用函数 sqrt 计算出 4.0 的平方根,并将结果的双精度值返回。本例程的运行结果为:The square root of 4.000000 is 2.00000023. srand:设置随机时间的种子函数函数原型:int srand (unsigned int seed);头文件:#include是否是标准函数:是函数

37、功能:设置随机时间的种子,常与 rand()结合使用。否则如果直接用 rand 函数产生随机数,每次运行程序的结果都相同。返回值:例程如下: 产生不同的随机整数序列。#include #include #include int main(void) int i; time_t t; srand(unsigned) time( printf(“Random numbers from 0 to 99n“);for(i=0; i中定义的数据类型,用以描述 时间 。而函数 time 可以获取当前的系统时间。运行两次本例程,可得到两组不同的随机数序列:Random numbers from 0 to 9

38、923 16 92 26 99Random numbers from 0 to 9960 72 77 40 4524. tan: 正切函数函数原型:double tan(double x);头文件:#include是否是标准函数:是函数功能:求 x 的正切值,这里,x 为弧度,其中 xk(/2),k 为整数。返回值:计算结果的双精度值。例程如下: 求 tanx。#include #include int main(void) double result, x; x = M_PI/4;result = tan(x); printf(“tan (PI/4)=%lfn“, result);retur

39、n 0; 例程说明:本例程应用 tan 函数计算 /4 的正切值,即:tan(/4)。并返回计算结果的双精度值。本例程的运行结果是:tan (PI/4)=1.0000025. tanh:双曲正切函数函数原型:double tanh(double x);头文件:#include是否是标准函数:是函数功能:求 x 的双曲正切值。其中 th(x)=sh(x)/ch(x)= (ex-e-x)/ (ex+e-x)。返回值:计算结果的双精度值。例程如下: 求 x 的双曲正切值 th(x)。#include #include int main(void) double result, x; x = 0.5; result = tanh(x); printf(“th(%lf) = %lfn“, x, result);return 0; 例程说明:本例程应用函数 tanh 计算 0.5 的双曲正切值,即:th(0.5),并返回计算结果的双精度值。本例程的运行结果是:th(0.500000) = 0.462117

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报