C 库函数 -sqrt()

2025-11-25 22:16:54

C 库函数 - 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 标准库 -