程序员

首页 » 常识 » 问答 » C语言基础教程C语言随机数黑马程序员
TUhjnbcbe - 2023/9/1 19:46:00

1.随机数概述

编写程序过程中,我们经常需要产生一些随机数。随机数在程序中分为两种:

真随机数:完全没有规则,无法预测接下来要产生的数。伪随机数:通过一些预先设定好的规则产生不能简单预测的数。当然,我们在程序中使用的随机数主要是伪随机,一般场景下,伪随机数能够满足我们大部分的场景了。本篇文章给大家介绍下,如何在C语言中产生一个伪随机数。

伪随机数在C语言中产生分为两个步骤:

设置随机数种子。获得随机数。设置随机数种子和获得随机数,我们需要使用两个函数。srand函数和rand函数。使用这两个函数需要导入头文件:#includestdlib.h

2.srand函数用法

设置随机数种子时,我们一般会用时间值作为种子。这是因为时间值一直都在变化。我们使用time函数获得当前时间值,使用该函数需要先导入头文件#includetime.h。

打印出来的是一串数字,并不是我们常见的时间格式。Time函数主要用于获得从年1月1日0时0分0秒到现在经历的秒数。时间一直在变,所以该函数可作为一直在改变的随机数种子。

所以,srand函数的一个常用的用法就是:

srand的要求的参数是unsignedint,所以需要将time函数返回的结果强制转换成unsignedint类型。

3.rand函数使用

设置好随机数种子,rand函数就可以根据该值来产生随机数了。在windows的vs平台上,默认该函数会产生一个0到之间的随机数。演示代码如下:

但是实际的场景是,我们希望产生一个指定范围内的随机数。此时,我们可以让随机产生数进行取余运算符,折算成指定范围。例如:我们要产生1-之间的随机数,可进行如下代码编写:

1.rand()%会产生一个0-99之间的数字。

2.rand()%+1会产生一个1-之间的数字、

4.随机数使用案例

我们下面做一个练习,创建一个包含10个元素的数组,使用for循环产生10个1-10之间的随机数存储到数组中,并打印输出。

注意:随机数种子设置一次即可。

1
查看完整版本: C语言基础教程C语言随机数黑马程序员