C语言如何实现幂运算

Python043

C语言如何实现幂运算,第1张

C语言中计算一个数的N次方可以用库函数pow来实现。函数原型:double pow(double x, double y)功 能:计算x^y的值返 回 值:计算结果举例如下:double a = pow(3.14, 2) // 计算3.14的平方注:使用pow函数时,需要将头文件#include<math.h>包含进源文件中。

extern float pow(float x, float y)

用法:#include <math.h>

功能:计算x的y次幂。

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

举例:

// pow.c

#include <stdlib.h>

#include <math.h>

#include <conio.h>

void main()

{

printf("4^5=%f",pow(4.,5.))

getchar()

}

相关函数:pow10

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

1、头文件:#include

2、原型:

double pow(double x, double y)

pow() 函数用来求 x 的 y 次幂(次方)

pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。

3、举例如下:

double a = pow(4, 2) // 计算4的平方

4、可能导致错误的情况:

如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error 错误。

如果底数 x 和指数 y 都是 0,可能会导致 domain error 错误,也可能没有;这跟库的实现有关。

如果底数 x 是 0,指数 y 是负数,可能会导致 domain error 或 pole error 错误,也可能没有;这跟库的实现有关。

如果返回值 ret 太大或者太小,将会导致 range error 错误。

错误代码:

如果发生 domain error 错误,那么全局变量 errno 将被设置为  EDOM;

如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。

注意:1、使用pow函数时,需要将头文件#include包          含进源文件中。

2、用pow(x,y)的话要用到math.h头文件。

扩展资料:

1、 三角函数: double sin (double)正弦   double cos (double)余弦   double tan (double)正切

2 、反三角函数:   double asin (double)结果介于[-PI/2, PI/2]   double acos (double)结果介于[0, PI]   double atan (double)反正切(主值), 结果介于[-PI/2, PI/2]   double atan2 (double, double)反正切(整圆值), 结果介于[-PI/2, PI/2]

3 、双曲三角函数:   double sinh (double)  double cosh (double)  double tanh (double)

4 、指数与对数:   double exp (double)  double sqrt (double)开平方   double log (double)以e为底的对数   double log10 (double)以10为底的对数   double pow(double x, double y)计算以x为底数的y次幂   float powf(float x, float y)功能与pow一致,只是输入与输出皆为浮点数

5 、取整:   double ceil (double)取上整   double floor (double)取下整

6 、绝对值:   double fabs (double)求绝对值   double cabs(struct complex znum) 求复数的绝对值

7 、标准化浮点数:   double frexp (double f, int *p)标准化浮点数, f = x * 2^p, 已知f求x, p ( x介于[0.5, 1] )   double ldexp (double x, int p)与frexp相反, 已知x, p求f

8 、取整与取余:   double modf (double, double*)将参数的整数部分通过指针回传, 返回小数部分   double fmod (double, double)返回两参数相除的余数

9 、其他:   double hypot(double x, double y)已知直角三角形两个直角边长度,求斜边长度   double ldexp(double x, int exponent)计算x*(2的exponent次幂)   double poly(double x, int degree, double coeffs [] )计算多项式   nt matherr(struct exception *e)数学错误计算处理程序