C++ 中的数字
通常,我们使用数字时,会使用原始数据类型,例如 int、short、long、float 和 double 等。在讨论 C++ 数据类型时,我们已经解释了数字数据类型、它们的可能值以及数值范围。
在 C++ 中定义数字
您已经在前几章给出的各种示例中定义了数字。这里是另一个在 C++ 中定义各种数字类型的综合示例 -
#include <iostream> using namespace std; int main () { // 数字定义: short s; int i; long l; float f; double d; // 数字赋值; s = 10; i = 1000; l = 1000000; f = 230.47; d = 30949.374; // 数字打印; cout << "short s :" << s << endl; cout << "int i :" << i << endl; cout << "long l :" << l << endl; cout << "float f :" << f << endl; cout << "double d :" << d << endl; return 0; }
当编译并执行上述代码时,它会产生以下结果 -
short s :10 int i :1000 long l :1000000 float f :230.47 double d :30949.4
C++ 中的数学运算
除了您可以创建的各种函数之外,C++ 还包含一些可供您使用的实用函数。这些函数位于标准 C 和 C++ 库中,称为内置函数。这些函数可以包含在您的程序中并使用。
C++ 拥有丰富的数学运算,可以对各种数字执行。下表列出了 C++ 中一些实用的内置数学函数。
要使用这些函数,您需要包含数学头文件 <cmath>。
Sr.No | 函数 &用途 |
---|---|
1 | double cos(double); 此函数接受一个角度(double 类型)并返回余弦值。 |
2 | double sin(double); 此函数接受一个角度(double 类型)并返回正弦值。 |
3 | double tan(double); 此函数接受一个角度(double 类型)并返回正切值。 |
4 | double log(double); 此函数接受一个数字并返回该数字的自然对数。 |
5 | double pow(double, double); 第一个参数是您希望求的幂,第二个参数是您希望求的幂。 |
6 | double hypot(double, double); 如果您将直角三角形两条边的长度传递给此函数,它将返回斜边的长度。 |
7 | double sqrt(double); 您向此函数传递一个数字,它会计算其平方根。 |
8 | int abs(int); 此函数返回传递给它的整数的绝对值。 |
9 | double fabs(double); 此函数返回传递给它的任何十进制数的绝对值。 |
10 | double floor(double); 查找小于或等于传递给它的参数的整数。 |
以下是一个简单的示例,展示了一些数学运算 -
#include <iostream> #include <cmath> using namespace std; int main () { // 数字定义: short s = 10; int i = -1000; long l = 100000; float f = 230.47; double d = 200.374; // 数学运算; cout << "sin(d) :" << sin(d) << endl; cout << "abs(i) :" << abs(i) << endl; cout << "floor(d) :" << floor(d) << endl; cout << "sqrt(f) :" << sqrt(f) << endl; cout << "pow( d, 2) :" << pow(d, 2) << endl; return 0; }
当编译并执行上述代码时,它会产生以下结果 -
sign(d) :-0.634939 abs(i) :1000 floor(d) :200 sqrt(f) :15.1812 pow( d, 2 ) :40149.7
C++ 中的随机数
很多情况下,你都会希望生成一个随机数。实际上,你需要了解两个关于随机数生成的函数。第一个是 rand(),这个函数只会返回一个伪随机数。解决这个问题的方法是先调用 srand() 函数。
以下是一个生成几个随机数的简单示例。此示例使用 time() 函数获取系统时间的秒数,然后为 rand() 函数随机设定种子。-
#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int main () { int i,j; // 设置种子 srand( (unsigned)time( NULL ) ); /* 生成 10 个随机数。*/ for( i = 0; i < 10; i++ ) { // 生成实际的随机数 j = rand(); cout <<" 随机数: " << j << endl; } return 0; }
当编译并执行上述代码时,它会产生以下结果 -
随机数: 1748144778 随机数: 630873888 随机数: 2134540646 随机数: 219404170 随机数: 902129458 随机数: 920445370 随机数: 1319072661 随机数: 257938873 随机数: 1256201101 随机数: 580322989