与许多编程语言不同的是,C++没有指数运算符。计算数字的幂需要使用库函数。C++ 库包含一系列专门的函数,可以将库函数视为执行特定操作的“例程”。其中一个库函数叫作pow,其目的就是计算数字的幂。 pow 函数用法示例:area = pow(4.0,2); 该语句包含对 pow 函数的调用。括号内的数字是实参,也就是发送到函数的信息。pow 函数总是以第一个参数为底数,第二个参数为指数。在本示例中,4.0 是底数,2 是指数。结果从该函数返回,并在调用了该函数的语句中使用。pow 函数需要浮点参数。在某些 C++ 编译器上,整数参数也可以工作,但是许多编译器要求至少第一个参数是 double 类型的,本教程也遵守此约定。从该函数返回的值始终是 double 类型数字。在这种情况下,pow 将返回 16.0 并赋值给变量 area,如图 1 所示。
语句area = pow(4.0,2)与以下代数表达式是等效的:Area = 4 2 以下是另外一个使用 pow 函数的示例,它将 3X6 3的结果赋值给 x:x= 3 * pow(6.0, 3); 以下语句显示了底数为 5、指数为 4 的幂值:cout 可以将 pow 函数视为一个“黑箱”,它接收 2 个数字,然后发送出第 3 个数字。发出来的数字是以第一个数字为底数、第二个数字为指数的幂值,如图 2 所示。
使用 pow 函数时应遵循一些指导原则:程序必须包含 cmath 头文件;在传递给函数的两个参数中,至少第一个参数应该是 double 类型的,当然也可以两个都是;因为 pow 函数返回一个 double 值,所以被赋值的任何变量也应该是 double 类型的;例如,在下面的语句中,变量 area 应该定义为 double 类型:area = pow(4.0, 2); 下面的程序解决了一个简单的代数问题。它要求用户输入圆的半径,然后计算圆的面积:// This program calculates the area of a circle. The formula for the area of a circle is PI times the radius squared. PI is 3.14159. #include #include // Needed for the pow function usingnamespace std; int main() { double area, radius; cout << "This program calculates the area of a circle. \n"; // Get the radius cout << "What is the radius of the circle? "; cin >> radius; // Compute and display the area area = 3.14159 * pow(radius, 2); cout << "The area is " << area << endl; return 0; }程序输出结果为:This program calculates the area of a circle. What is the radius of the circle? 10The area is 314.159注意,该程序仅作为 pow 函数的用法演示。实际上,没有理由在这样简单的操作中使用这个函数。第 13 行可以很简单地写作:area = 3.14159 * radius * radius; 当然,pow函数在涉及较大指数的运算中是很有用的。
yao.xywy.com/ppyy/3432.html
yao.xywy.com/ppyy/3434.html
|