下载此文档

C语言参考手册17.doc


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
。在标准C语言中,
学函数,。
下面介绍本章数学函数的一般规则:
参数类型在C99之前,所有浮点数的C语言库运算只对double类型参数定义。即使
float类型,这也是可行的,因为float参数会在调用之前自动转换为double参数。C99
float与long double类型参数定义了一组并行数学函数,分别在原函数名后面加上后缀f
每种浮点数参数用不同数学函数名使编程人员可以更好地控制性能与类型转换,但会
程序移植性。例如,将变量类型从double变成long double之后,就要编辑许多函数名
则会不知不觉遇到精度问题,因为long double参数要根据double函数原型转换成doq
类型。因此,()中定义了通用类型宏。这些宏与原
double类型库函数同名,根据参数类型调用相应同名函数,就像内置的加法与乘法运算符
的操作一样。如果需要访问原函数,编程人员可以用#undef取消这些宏的定义(或不
)。这些宏要加进C99实现中,因为无法用C语言编写通用类型宏。
错误处理数学函数可以进行两种一般化错误处理,但早期的C语言实现可能不按一致
处理。如果输入参数位于定义函数的定义域之外,或参数具有无限大和NaN之类特殊值,
生定义域错误。这时errno()设置为数值EDOM,函数返回一个由实现定义的值
网统的错误返回值为0,但有些实现可能有更好的选择,如特殊的“非数字”值。
如果函数结果无法表示为函数返回类型的值,则发生范围错误。这时errn0设置为E删
函数应返回与正确结果具有相同符号的最大可表示浮点数值。在C89中,这是宏HUGE—V.
值;C99中提供了HUGE VALF与HUGE VALL宏。C99可以灵活地控制哪种情形表示错误,
停止;哪种情形是遇到无限大或NaN,可以继续。
如果函数结果太小,无法表示,则函数返回0,errn0是否设置为ERANGE由实现确定。
1 abs、Iabs、Ilabs、div、ldiv、lIdiv
()。
fabs
语法概要
#include<>
double labs(double X);
float fabsf(floaf X)j//c99
long doubie fabsl(10ng double x); //C99
labs函数返回参数的绝对值。整型绝对值函数(abs、labs与1labs)
第17章数学函数 303
参考章节abs、labs、1labs ;通用类型宏
1 ceil、floor、Irint、Ilrint、Iround、Ilround、nearbyint、round、rint、trunc
语法概要
#include<mat:> //All new l:o C99 except:eeil, floor
double ceil (c101:lble x);
float: ceilf(fl oat;x);
lortg clouble ceill("tong clouble x);
double floot (double x)j
float floorf C£10at x);
long double floorl(10rlg double x)j
double xaearbyint (double x);
float: rtearbyirlt=f(fl oat:x);
lortg double nearbyintl (10ng double x);
double first (double x);
float: rirlt:f(float x);
lortg double rirltl(1 0ng dotti3le x);
long'izat:1tint:(double x);
"l ong irLt:1rintf(float:x);
long irlt:lrirtt=l(10ng dottble x)j
l ong long int llrint (double x)j
long long int llrint£(float:x);
long lorlg int llrirlt:l(10ng double x);
double round (dottble x);
float: rourldf(float x);
long

C语言参考手册17 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人n22x33
  • 文件大小191 KB
  • 时间2018-05-21