C语言笔记3-随机数
C语言生成随机数-基础篇
话不多说先上程序。
1 | //生成100以内的随机数 |
可以看出本程序有几行崭新没学过的内容。下面就来分别介绍一下它们。
头文件stdlib.h
本程序引用了头文件stdlib.h主要是rand函数所需。
函数rand()
函数原型: int rand(void);
函数功能: 产生0到32767间的随机整数(0到0x7fff之间)
函数返回: 随机整数
rand()是生成伪随机数的函数,它会按照一定的序列来生成随机数,但是它序列是固定的:
程序每次执行它都将按照这个序列来给出随机数,所以在对rand()不加限制条件的话,生成的随机数不够随机。
现在我们来解释一下这个程序
1 | //生成100以内的随机数 |
C语言生成随机数-高级篇
上段说到rand函数每次生成随机数的序列是固定的,所以直接调用rand函数生成随机数是不严谨的,生成的也不是完全随机的数,所以我们需要给它定义一个在不停改变的起点,来使得序列不固定。
下面来看看升级版的随机数生成函数。
1 |
|
可以看出我们又使用了一些没有见过的语句,下面我们再来分别介绍一下它们。
头文件time.h
本程序引用了头文件time.h主要是time函数所需。
函数time()
函数原型: time_t time(time_t *timer)
函数功能: 得到系统当前的日历时间
函数返回: 系统当前日历时间,如果不能获得当前日历时间,则返回-1
函数srand()
用于初始化随机种子,使得rand函数的序列随机。
现在我们来解释一下这个程序
1 | //生成100以内的随机数 |
评论