通常情况下,当我们使用数字在工作中,使用原始的数据类型,如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++中提供的数学函数。
利用这些函数需要包括数学头文件 <cmath>.
S.N. | 函数及用途 |
---|---|
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 () { // 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