VC数学函数用法详解

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++与其它语言的一大区别是提供了庞大的函数库,能用好它就可以提高你的效率。

先看看里面的:

int rand( ):返回一个随机的整数。

void srand(int):根据参数重新初始化随机数产生器。

int/float abs(int/float):返回数的绝对值。

min/max(a,b):返回a和b中的较小/大者,用#define定义的,大家不用担心效率。 int atoi(char *s);,返回由s字符串转换成的整数。

double atof(char *s);,返回由s字符串转换成的浮点数。

char* gcvt(double num, int sig, char *str);,num为待转换浮点数,sig为转换后数的有效数字数,str为目标字符串起点。函数返回指向str的指针。举个例子,如果sig=5那么9.876会转换成"9.876",-123.4578会变成"-123.46",6.7898e5就成了"6.7898e+05"。然后是里面的数学函数:

sin、cos、tan:这个你应该懂吧J。

asin、acos、atan:反三角函数。

sinh、cosh、tanh:双曲三角函数。

log、log10:自然和常用对数。

exp、pow10:上面两个函数的反函数。

pow(x,y):返回x的y次幂。

sqrt:开平方根。

ceil:返回最小的不小于x的整数。

floor:返回最大的不大于x的整数。

hypot(x,y):返回x的平方加上y的平方再开方的值。

接着要说的是常用的字符串函数,在内有它们的定义。

char *strcpy(char *dest, char *src);,该函数使dest=src并返回新的dest。使用它还可以实现字符串和字符数组之间的转换。

char* strcat(char *dest, char *src);,将src连接到dest的后面,并返回新的dest。

char* strstr(char *s1, char *s2);,返回指向s2在s1中第一次出现的位置的指针。

char* strchr(char *s1, char c);,返回指向c在s1中第一次出现的位置的指针。

char* strlwr(char *s);,将s中的所有大写字母转为小写。

char* strset(char *s, char c);,将s内所有字符替换为字符c。

int strlen(char *s);,返回字符串的长度。

最后是中的内存函数:

memcpy(char *dest, char *src, int n);,将从src开始的n个字节的内存内容拷贝到从dest 开始的内存中。注意dest和src在内存中的位置不能重叠。

memmove(char *dest, char *src, int n);,也可以实现拷贝,dest和src在内存中的位置可以重叠。当然,它比memcpy慢。

memset(s, c, n);,将从s开始的n个字节都设为c。可以用来将数组和结构清零。

数学函数,所在函数库为math.h、stdlib.h、string.h、float.h

int abs(int i) 返回整型参数i的绝对值

double cabs(struct complex znum) 返回复数znum的绝对值

double fabs(double x) 返回双精度参数x的绝对值

long labs(long n) 返回长整型参数n的绝对值

double exp(double x) 返回指数函数ex的值

double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中double ldexp(double value,int exp); 返回value*2exp的值

double log(double x) 返回logex的值

double log10(double x) 返回log10x的值

double pow(double x,double y) 返回xy的值

double pow10(int p) 返回10p的值

double sqrt(double x) 返回+√x的值

double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度

double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度

double atan(double x) 返回x的反正切tan-1(x)值,x为弧度

double atan2(double y,double x) 返回y/x的反正切tan-1(x)值,y的x为弧度double cos(double x) 返回x的余弦cos(x)值,x为弧度

double sin(double x) 返回x的正弦sin(x)值,x为弧度

double tan(double x) 返回x的正切tan(x)值,x为弧度

double cosh(double x) 返回x的双曲余弦cosh(x)值,x为弧度double sinh(double x) 返回x的双曲正弦sinh(x)值,x为弧度double tanh(double x) 返回x的双曲正切tanh(x)值,x为弧度double hypot(double x,double y) 返回直角三角形斜边的长度(z),

x和y为直角边的长度,z2=x2+y2

double ceil(double x) 返回不小于x的最小整数

double floor(double x) 返回不大于x的最大整数

void srand(unsigned seed) 初始化随机数发生器

int rand() 产生一个随机数并返回这个数

double poly(double x,int n,double c[])从参数产生一个多项式

double modf(double value,double *iptr)将双精度数value分解成尾数和阶double fmod(double x,double y) 返回x/y的余数

double frexp(double value,int *eptr) 将双精度数value分成尾数和阶double atof(char *nptr) 将字符串nptr转换成浮点数并返回这个浮点数double atoi(char *nptr) 将字符串nptr转换成整数并返回这个整数double atol(char *nptr) 将字符串nptr转换成长整数并返回这个整数char *ecvt(double value,int ndigit,int *decpt,int *sign)

将浮点数value转换成字符串并返回该字符串

char *fcvt(double value,int ndigit,int *decpt,int *sign)

将浮点数value转换成字符串并返回该字符串

char *gcvt(double value,int ndigit,char *buf)

将数value转换成字符串并存于buf中,并返回buf的指针

相关文档
最新文档