C语言猜数游戏(1)

0 阅读2分钟

 掌握了前面的知识,我们可以写一个猜数游戏,让系统给出一个数,我们来猜

一、rand

首先怎么样产生随机数呢,我们需要用到一个函数rand

rand函数会返回⼀个伪随机数,这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX

的大小是依赖编译器上实现的,但是⼤部分编译器上是32767。

rand函数的使⽤需要包含⼀个头⽂件是:stdlib.h

下面我们就来试一下

再试一次呢

我们可以看出这并不是完全随机的,深入了解我们可以知道,rand函数是伪随机的伪随机数不是真

正的随机数,是通过某种算法⽣成的随机数。真正的随机数的是无法预测下⼀个值是多少的。而

rand函数是对⼀个叫“种子”的基准值进⾏运算⽣成的随机数。之所以前⾯每次运⾏程序产⽣的随机

数序列是⼀样的,那是因为rand函数⽣成随机数的默认种⼦是1。如果要⽣成不同的随机数,就要

让种⼦是变化的。

二、srand

C语言中还有一个srand函数,是用来初始化随机数的生成器

在调用rand函数之前先调用srand函数,通过srand函数的参数seed来设置rand函数生成随

机数的时候的种子,只要种子在变化,每次生成的随机数序列也就变化起来了。

那也就是说给srand的种子是如果是随机的,rand就能生成随机数;在生成随机数的时候又需要⼀

个随机数,这就矛盾了。

那怎样才能得到这个随机数呢,我们下一篇再讲。