在编程过程中,随机数的使用是非常常见的。在C++语言中,我们可以使用rand函数和rand()函数来生成伪随机数。接下来我们将详细介绍如何使用这两个函数。
rand函数
rand函数会返回一个介于0和RAND_MAX之间的随机整数。RAND_MAX是一个常量,它的值通常为32767。我们可以通过对rand函数返回值的模运算来产生整数值的范围。要产生介于1和10之间的随机整数,可以使用以下代码:
```
int x = rand() % 10 + 1;
x的值将介于1和10之间。
需要注意的是,rand函数在每次程序运行时所产生的随机数序列是相同的。这是因为rand函数使用一个种子来初始化随机数生成器。如果我们不调用srand函数来重新设置种子,那么每次程序运行时,rand函数都将返回同样的结果。
rand()函数
rand()函数和rand函数类似,也会返回一个介于0和RAND_MAX之间的随机整数。rand()函数每次调用时会自动使用系统时间作为种子来初始化随机数生成器。我们无需手动调用srand函数来设置种子,即可获得不同的随机数序列。
要使用rand()函数,只需要调用它即可。要产生介于1和10之间的随机整数,可以使用以下代码:
srand函数
srand函数用于设置rand函数和rand()函数所使用的种子。我们可以通过手动调用srand函数来设置种子。要使用当前系统时间作为种子,可以使用以下代码:
srand((unsigned)time(NULL));
这里的time(NULL)函数将返回当前系统时间。为了避免种子为负数,我们需要将其转换为unsigned类型。
总结
rand函数和rand()函数是C++语言中常用的随机数生成函数。rand函数的随机数序列在每次程序运行时相同,因此我们需要手动调用srand函数来设置种子。而rand()函数则会自动使用系统时间作为种子,无需手动调用srand函数。