Cplusplus 简明教程
Numbers in C++
通常,当我们使用数字时,我们会使用基本数据类型,如 int、short、long、float 和 double 等。在讨论 C++ 数据类型时,已经解释了数字数据类型、它们可能的取值和数字范围。
Defining Numbers in 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
Math Operations in C++
除了你可以创建的各种函数外,C 语言还包括一些你可以使用的有用函数。这些函数可在标准 C 和 C 库中获得,称为 built-in 函数。这些是你可以在你的程序中包含然后使用的函数。
C 语言有一套丰富的数学运算,可以对各种数字执行这些运算。下表列出了 C 语言中一些有用的内置数学函数。
要使用这些函数,你需要包含数学头文件 <cmath> 。
Sr.No |
Function & Purpose |
1 |
double cos(double); 此函数采用一个角度(作为 double 类型)并返回余弦值。 |
2 |
double sin(double); 此函数接受一个角度(作为双精度浮点数),并返回正弦值。 |
3 |
double tan(double); 此函数接受一个角度(作为双精度浮点数),并返回正切值。 |
4 |
double log(double); 此函数接受一个数字,并返回该数字的自然对数。 |
5 |
double pow(double, double); 第一个是你希望提升的数字,第二个是你希望提升它到 2 次幂的次数 |
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
Random Numbers in 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