C++ 中的 sqrt() 函数

2025 年 6 月 12 日 | 阅读 4 分钟

在 C++ 中,`sqrt()` 函数用于计算非负值的平方根。它属于 `` 库,并生成 `double` 类型的结果。该函数通过头文件 `` 访问。它在头文件中指定。如果参数为零或更大,它将计算输入值的正平方根。

在数学上,该函数的作用是

如果向 `sqrt()` 传递负数,在传统的实数计算中结果将是未定义的,并可能导致域错误,具体取决于所使用的上下文。

语法

它具有以下语法。

这里,x 是一个非负数,我们想要计算它的平方根。提供的值必须是与 `double` 兼容的数字类型。它应该是一个正值或零值。传递负数将导致域错误,因为负数的平方根在实数集中未定义。

返回值

  • 该函数计算给定值的平方根。
  • 无论输入是整数还是浮点数,返回类型始终为 `double`。

C++ Sqrt 函数示例

让我们通过一个示例来说明 C++ 中的 `sqrt()` 函数。

示例

编译并运行

输出

The square root of 0 is: 0
The square root of 8 is: 2.82843
The square root of 10 is: 3.16228
The square root of 0.25 is: 0.5
The square root of -25 is: -nan (undefined in real numbers)

说明

在此示例中,我们使用了 `` 库中的 `sqrt()` 函数来计算并显示各种值的平方根,包括零、正整数、小数和负数。它展示了 `sqrt()` 函数如何响应不同类型的输入。

Sqrt() 函数的要点

C++ 中,`sqrt()` 函数有几个需要记住的要点。其中一些如下:

  1. 该函数接收一个非负数作为输入并返回其平方根。
  2. 如果提供负值,该函数将触发域错误,因为负值的平方根在实数中未定义。
  3. 如果我们不带任何参数调用 `sqrt()` 函数,我们将收到编译时错误,提示未找到匹配函数。
  4. 尽管该函数是为 `double` 值设计的,但它也接受整数,因为它们在处理之前会自动转换为 `double`。

C++ 中的另一个 Sqrt 示例

让我们再举一个例子来说明 C++ 中的 `sqrt()` 函数。

示例

编译并运行

输出

The square root of 16 is 4

说明

在此示例中,我们使用 `` 库中的 `sqrt()` 函数计算给定数字的平方根。之后,我们将数字初始化为 16.0,计算其平方根,然后使用 `cout` 显示结果。

C++ 中 `sqrt()` 函数的异常

在 C++ 中使用 `sqrt()` 函数时,如果不正确处理,有几个重要的场景可能导致错误:

  • 负数输入: `sqrt()` 函数只接受非负值。如果我们尝试提供负值作为参数,该函数将超出其有效域。这通常会导致域错误,因为负数的平方根在实数集中未指定。
  • 缺少参数: 在没有值的情况下使用 `sqrt()` 函数将导致编译错误。编译器将生成错误消息“未找到匹配的 `sqrt()` 函数”。
  • 这会导致错误,因为 `sqrt()` 函数只期望一个参数。

C++ `Sqrt()` 函数 MCQ

1) 在 C++ 中使用 `sqrt()` 函数必须包含哪个头文件?

  1. <math.h>
  2. <cmath>
  3. <mathlib>
  4. <stdlib.h>
 

答案: b) <cmath>


2) C++ 中 `sqrt()` 函数的返回类型是什么?

  1. int
  2. float
  3. double
  4. char
 

答案: c) double。


3) 如果向 C++ 中的 `sqrt()` 函数传递负数会发生什么?

  1. 它返回 0
  2. 抛出运行时异常
  3. 它返回一个负数
  4. 它导致域错误
 

答案: d) 它导致域错误


4) 以下哪个选项显示了 C++ 中 `sqrt()` 函数的正确用法?

  1. sqrt(49)
  2. sqrt()=
  3. sqrt(25, 2)=
  4. sqrt(-4)
 

答案: a) sqrt(49)


5) `sqrt(2)` 在 C++ 中输出什么?

  1. 2
  2. 1
  3. 大约 1.41
  4. Error
 

答案: c) 大约 1.41


下一主题C++ 数学函数