C 库函数 -sqrt()
2025-11-25 22:16:54C 库函数 - sqrt()
C 标准库 -
描述
C 库函数 double sqrt(double x) 返回 x 的平方根。
sqrt() 是 C 标准库
声明
下面是 sqrt() 函数的声明。
#include
double sqrt(double x);
float sqrtf(float x);
long double sqrtl(long double x);
参数
x:一个非负数,要计算平方根的值。
返回值
返回 x 的平方根。
如果 x 是负数,则返回 NaN,并设置 errno 为 EDOM。
错误处理
如果 x 是负数,sqrt() 函数将返回 NaN,并设置 errno 为 EDOM。
实例
下面的实例演示了 sqrt() 函数的用法。
实例
#include
#include
int main ()
{
printf("%lf 的平方根是 %lf\n", 4.0, sqrt(4.0) );
printf("%lf 的平方根是 %lf\n", 5.0, sqrt(5.0) );
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
4.000000 的平方根是 2.000000
5.000000 的平方根是 2.236068
处理多个值的平方根
以下示例展示了如何处理多个值的平方根计算:
实例
#include
#include
#include
int main() {
double values[] = {16.0, 25.0, 100.0, -1.0, 0.0};
int num_values = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < num_values; i++) {
double x = values[i];
errno = 0; // 重置 errno
double result = sqrt(x);
if (errno == EDOM) {
printf("Domain error: sqrt(%f) is not defined\n", x);
} else {
printf("sqrt(%f) = %f\n", x, result);
}
}
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果:
sqrt(16.000000) = 4.000000
sqrt(25.000000) = 5.000000
sqrt(100.000000) = 10.000000
sqrt(-1.000000) = nan
sqrt(0.000000) = 0.000000
代码解析
定义一个包含多个浮点数的数组 values。
使用 for 循环遍历每个值,调用 sqrt(x) 进行计算。
重置 errno 为 0 并检查可能的错误。
打印每个值的平方根计算结果,或错误信息。
使用场景
sqrt() 函数在许多应用中有广泛的用途,包括但不限于:
计算几何学中的距离。
计算物理学中的速度、加速度等。
解决与平方根相关的数学问题。
总结
sqrt() 函数用于计算非负数的平方根,是处理数学计算的重要工具。通过合理使用 sqrt(),可以在科学计算、工程应用和数学问题中实现平方根的计算,并确保处理好可能的错误情况。
C 标准库 -