当前位置:网站首页 > 技术博客 > 正文

c语言rand函数产生随机数




文章出自个人博客https://knightyun.github.io/2018/04/25/c-rand-number,转载请申明。


在程序设计中,难免会使用到随机值函数,其原理与语法大多类似,接下来以C语言为例介绍其随机值函数 用法。

原理

引用百度百科,首先,需要包含头文件:

 

rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数,使用 生成随机数之前需要用随机发生器的初始化函数 (也位于 中) 进行伪随机数序列初始化, 又叫随机种子,通俗讲就是,如果每次提供的 是一样的话,最后每一轮生成的几个随机值也都是一样的,因此叫伪随机数,所以需要每次提供不同的 达到完全的随机,我们通常用时间函数 作为 ,因为时间值每秒都不同,这个函数需要包含以下头文件:

 

理论太泛,下面用例子分析理解。

举例分析

先来理解以下伪随机数,编译以下代码:

运行结果

 

然后无论运行多少次,结果都依然是以上随机数,不会改变,因为每次设置的种子 都是 。

但是假如把 换成 ,每次就不一样了,如下:

结果是就变了,并且每次都不一样:

 

这里的 的结果是一个类似于 的数字,并且每秒都在递增 1,也就达成了 srand() 的 seed 不断变化的目的,不断生成新的随机数。

拓展

这里注意一下例子中函数 的用法,函数括号内不需要加参数,如果直接调用 的话会生成下面这样的数:

 

所以我们想要生成指定范围的随机数的话就需要使用到求余运算符 ,这里有个规律:例如我们需要 0–10的随机数时,就写成 ,0–100就写成 ,就是运算符后的数字需要比需求范围极值大 1,当然这也是取余运算的原理。


技术文章推送

手机、电脑实用软件分享



版权声明


相关文章:

  • 数据库中事务是什么意思2025-04-06 18:30:04
  • 计算机基础ppt课件2025-04-06 18:30:04
  • 97core2025-04-06 18:30:04
  • 代码设计的方法与步骤2025-04-06 18:30:04
  • 微信小程序示例源码2025-04-06 18:30:04
  • python爬取html内容2025-04-06 18:30:04
  • 字典树优化2025-04-06 18:30:04
  • java 元注解2025-04-06 18:30:04
  • linux在线升级ssh版本2025-04-06 18:30:04
  • elb的基本概念2025-04-06 18:30:04