VC++中的数学函数及其用法详解

更新时间:2024-04-01 09:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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会转换成\,-123.4578会变成\,6.7898e5就成了\。 然后是里面的数学函数: 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的指针 char *ultoa(unsigned long value,char *string,int radix)

将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 char *ltoa(long value,char *string,int radix)

将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数 char *itoa(int value,char *string,int radix)

将整数value转换成字符串存入string,radix为转换时所用基数

double atof(char *nptr) 将字符串nptr转换成双精度数,并返回这个数,错误返回0 int atoi(char *nptr) 将字符串nptr转换成整型数, 并返回这个数,错误返回0 long atol(char *nptr) 将字符串nptr转换成长整型数,并返回这个数,错误返回0 double strtod(char *str,char **endptr)将字符串str转换成双精度数,并返回这个数, long strtol(char *str,char **endptr,int base)将字符串str转换成长整型数, 并返回这个数, int matherr(struct exception *e)

用户修改数学错误返回信息函数(没有必要使用) double _matherr(_mexcep why,char *fun,double *arg1p, double *arg2p,double retval)

用户修改数学错误返回信息函数(没有必要使用) unsigned int _clear87() 清除浮点状态字并返回原来的浮点状态 void _fpreset() 重新初使化浮点数学程序包 unsigned int _status87() 返回浮点状态字

***************************************************

原型:extern int abs(int x);

用法:#include

功能:求整数x的绝对值

说明:计算|x|, 当x不为负时返回x,否则返回-x

***************************************************

原型:extern float acos(float x);

用法:#include

功能:求x(弧度表示)的反余弦值

说明:x的定义域为[-1.0,1.0],值域为[0,π]。

***************************************************

原型:extern float asin(float x);

用法:#include

功能:求x(弧度表示)的反正弦值

说明:x的定义域为[-1.0,1.0],值域为[-π/2,+π/2]。

***************************************************

原型:extern float atan(float x);

用法:#include

功能:求x(弧度表示)的反正切值

说明:值域为(-π/2,+π/2)。

***************************************************

原型:extern float atan2(float y, float x);

用法:#include

功能:求y/x(弧度表示)的反正切值

说明:值域为(-π/2,+π/2)。

***************************************************

原型:extern float ceil(float x);

用法:#include

功能:求不小于x的最小整数

说明:返回x的上限,如74.12的上限为75,-74.12的上限为-74。返回值为float类型。

***************************************************

原型:extern float cos(float x);

用法:#include

功能:求x(弧度表示)的余弦值

说明:返回值在[-1.0,1.0]之间。

***************************************************

原型:extern float cosh(float x);

用法:#include

功能:求x的双曲余弦值

说明:cosh(x)=(e^x+e^(-x))/2

***************************************************

原型:extern float exp(float x);

用法:#include

功能:求e的x次幂

说明:e=2.718281828...

***************************************************

原型:extern float fabs(float x);

用法:#include

功能:求浮点数x的绝对值

说明:计算|x|, 当x不为负时返回x,否则返回-x

***************************************************

原型:extern float floor(float x);

用法:#include

功能:求不大于x的最达整数

说明:返回x的下限,如74.12的下限为74,-74.12的下限为-75。返回值为float类型。

***************************************************

原型:extern float fmod(float x, float y);

用法:#include

功能:计算x/y的余数

说明:返回x-n*y,符号同y。n=[x/y](向离开零的方向取整)

***************************************************

原型:extern float frexp(float x, int *exp);

用法:#include

功能:把浮点数x分解成尾数和指数。

说明:x=m*2^exp,m为规格化小数。返回尾数m,并将指数存入exp中。

***************************************************

原型:extern float hypot(float x, float y);

用法:#include

功能:对于给定的直角三角形的两个直角边,求其斜边的长度。

说明:返回斜边值。

***************************************************

原型:extern float ldexp(float x, int exp);

用法:#include

功能:装载浮点数。

说明:返回x*2^exp的值。

***************************************************

原型:extern float log(float x);

用法:#include

功能:计算x的自然对数。

说明:x的值应大于零。

***************************************************

原型:extern float log10(float x);

用法:#include

功能:计算x的常用对数。

说明:x的值应大于零。

***************************************************

原型:extern float modf(float num, float *i);

用法:#include

功能:将浮点数num分解成整数部分和小数部分。

说明:返回小数部分,将整数部分存入*i所指内存中。

***************************************************

原型:extern float pow(float x, float y);

用法:#include

功能:计算x的y次幂。

说明:x应大于零,返回幂指数的结果。

***************************************************

原型:extern float pow10(float x);

用法:#include

功能:计算10的x次幂。

说明:相当于pow(10.0,x)。

***************************************************

原型:extern float sin(float x);

用法:#include

功能:计算x(弧度表示)的正弦值。

说明:x的值域为[-1.0,1.0]。

***************************************************

原型:extern float sinh(float x);

用法:#include

功能:计算x(弧度表示)的双曲正弦值。

说明:sinh(x)=(e^x-e^(-x))/2。

***************************************************

原型:extern float sqrt(float x);

用法:#include

功能:计算x的平方根。

说明:x应大于等于零。

***************************************************

原型:extern float tan(float x);

用法:#include

功能:计算x(弧度表示)的正切值。

说明:返回x的正切值。

***************************************************

原型:extern float tanh(float x);

用法:#include

功能:求x的双曲正切值

说明:tanh(x)=(e^x-e^(-x))/(e^2+e^(-x))

***************************************************

本文来源:https://www.bwwdw.com/article/y4jr.html

Top