C语言的随机数rand()函数详解
介绍
在C语言中,rand()
函数是一个生成随机数的函数,用于生成伪随机数序列。它的返回值是一个 int
类型的随机数。该函数使用线性同余算法生成伪随机数。每次调用 rand()
函数都会返回一个在0到 RAND_MAX
之间的整数,其中 RAND_MAX
是一个常量,代表 rand()
函数能够返回的最大随机数。
语法
int rand(void)
使用方法
使用 rand()
函数需要包含 stdlib.h
头文件。
下面是一个简单的示例程序,演示如何使用 rand()
函数生成随机数:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i, n;
time_t t;
n = 5;
/* 初始化随机数种子 */
srand((unsigned) time(&t));
/* 生成随机数 */
for(i = 0 ; i < n ; i++ )
{
printf("%d\n", rand());
}
return 0;
}
这个程序将生成5个随机数。在这个程序中,使用 srand()
函数初始化了随机数生成的种子。在使用 rand()
函数之前,必须先调用 srand()
函数初始化随机数种子。否则,每次运行程序生成的随机数序列都是一样的。
下面是另一个示例程序,演示如何使用 rand()
函数生成一定范围内的随机数。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int n, flag = 1;
time_t t;
/* 初始化随机数种子 */
srand((unsigned) time(&t));
while (flag)
{
n = rand() % 21; // 生成0到20之间的随机数
if (n == 0)
{
printf("随机数等于0,停止生成随机数。\n");
flag = 0;
}
else
{
printf("%d\n", n);
}
}
return 0;
}
这个程序将生成0到20之间的随机数,并在生成的随机数等于0时停止生成。
总结
本文介绍了 rand()
函数的使用方法和注意事项。在使用 rand()
函数时,必须先使用 srand()
函数初始化随机数种子。随机数种子是一个动态的值,以当前时间为基准。
如果在程序中需要生成一定范围内的整数随机数,应该使用 %
运算符。这个运算符将生成的随机数除以一个数,得到的余数就是在指定范围内的随机数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言的随机数rand()函数详解 - Python技术站