C++ 数字
通常情况下,当我们使用数字时,我们会使用诸如int、short、long、float和double等原始数据类型。数字数据类型、它们的可能值和数字范围在讨论C++数据类型时已经解释过。
在C++中定义数字
在之前的章节中,您已经对各种类型的数字进行了定义的示例。这里是另一个整合的示例,用于定义C++中的各种数字类型 –
#include <iostream>
using namespace std;
int main () {
// number definition:
short s;
int i;
long l;
float f;
double d;
// number assignments;
s = 10;
i = 1000;
l = 1000000;
f = 230.47;
d = 30949.374;
// number printing;
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++中一些有用的内置数学函数。
若要使用这些函数,需要包含数学头文件 **
序号 | 功能及用途 |
---|---|
1 | double cos(double); 此函数接受一个角度(以双精度表示)并返回余弦值。 |
2 | double sin(double); 此函数接受一个角度(以双精度表示)并返回正弦值。 |
3 | double tan(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 () {
// number definition:
short s = 10;
int i = -1000;
long l = 100000;
float f = 230.47;
double d = 200.374;
// mathematical operations;
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;
// set the seed
srand( (unsigned)time( NULL ) );
/* generate 10 random numbers. */
for( i = 0; i < 10; i++ ) {
// generate actual random number
j = rand();
cout <<" Random Number : " << j << endl;
}
return 0;
}
当上述代码被编译和执行时,它产生以下结果−
Random Number : 1748144778
Random Number : 630873888
Random Number : 2134540646
Random Number : 219404170
Random Number : 902129458
Random Number : 920445370
Random Number : 1319072661
Random Number : 257938873
Random Number : 1256201101
Random Number : 580322989