c语言中rand()函数怎么用?

Python013

c语言中rand()函数怎么用?,第1张

rand函数功能为获取一个伪随机数(伪随机数的概念下面会有介绍)。

一、函数名:

rand()

二、声明:

int rand()

三、所在头文件:

stdlib.h

四、功能:

返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。

五、为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。

六、使用rand的流程可以总结为:

1 调用srand(time(NULL))设置随机数种子。

2 调用rand函数获取一个或一系列随机数。

需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次。

七、以下是随机获取10个整型值并输出的例子,辅助理解。

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int main()

{

    int i

    

    srand(time(NULL))//设置随机数种子。

    

    for(i = 0 i < 10 i ++)//运行10次。

        printf("%d\n", rand())//每次获取一个随机数并输出。

    

    return 0

}

rand()是表示产生随机数的一种函数,多应用于循环语句当中进行判断。

比如说n=rand();

switch(n)

{case1.......

case2......}

这些都是都可能被执行的,因为数字是随机的。

扩展资料:

注意

rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,

当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值,C提供了 srand()函数,它的原形是void srand( int a) ,

功能是初始化随机产生器既rand()函数的初始值,即使把种子的值改成a从这你可以看到通过sand()函数,可以产生可以预见的随机序列。

参考资料来源:rand函数-百度百科