C 语言中的随机数生成21


C 语言中提供了 stdlib.h 库中的 `srand()` 和 `rand()` 函数,用于生成随机数。这些函数广泛用于各种计算机科学应用程序中,包括模拟、赌博游戏和科学建模。

srand() 函数

`srand()` 函数用于初始化随机数生成器。它接受一个整型参数种子,该种子用作随机数序列的起点。种子可以是任何整数值,但不同的种子将产生不同的随机数序列。
#include
void main() {
srand(10);
printf("%d", rand());
}

rand() 函数

`rand()` 函数用于生成随机数。它不接受任何参数,并返回一个 0 到 RAND_MAX 之间的伪随机整数。RAND_MAX 是一个常量,定义为 2^31 - 1,是 rand() 函数可能生成的最大的整数。
#include
void main() {
printf("%d", rand());
}

rand() 函数的用法

rand() 函数可用于生成各种类型的随机数据。以下是一些示例:* 生成随机数字:如上例所示,rand() 函数可用于生成随机数字。
* 生成随机布尔值:rand() 函数可以与模运算符 (%) 结合使用,以生成随机布尔值。例如,如果 rand() % 2 等于 0,则返回 true;否则,返回 false。
* 生成随机字符:rand() 函数可以与其他字符操作函数结合使用,以生成随机字符。例如,可以使用 rand() % 26 来生成随机小写字母。
* 生成随机字符串:rand() 函数可以与循环和字符串操作函数结合使用,以生成随机字符串。

生成真正的随机数

需要强调的是,C 语言中的 `srand()` 和 `rand()` 函数并不生成真正的随机数。它们生成的是伪随机数,这意味着它们是通过一个确定性算法生成的,并且随着时间的推移会重复。对于需要真正随机数的应用程序,应使用 /dev/urandom 等其他方法。

示例程序

以下是生成 10 个随机数的示例程序:
#include
void main() {
int i;
srand(time(NULL));
for (i = 0; i < 10; i++) {
printf("%d ", rand());
}
}


`srand()` 和 `rand()` 函数是 C 语言中生成随机数的基本工具。它们可以用于生成各种类型的数据,从数字到字符串。虽然它们并不生成真正的随机数,但对于大多数应用程序来说,它们已经足够好了。

2024-10-13


上一篇:C 语言中的 if 函数:深入理解条件语句

下一篇:C 语言的 main 函数:功能与用法详解