C语言基础教程:C语言随机函数

1. 随机数概述

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

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

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

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

2. srand 函数用法

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

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

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

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

3. rand 函数使用

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

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

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

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

4. 随机数使用案例

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

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

C语言随机函数视频教程:

C语言基础教程:C语言中用于产生随机数的函数使用方法详细讲解!_哔哩哔哩_bilibili我的C/C++学习资料/笔记/源码都在粉丝群:【921427443】可以进来和一群小伙伴一起玩耍学习~ps: 收藏≠会了 一键三连=会了稳了https://www.bilibili.com/video/BV1nq4y1u7NV?spm_id_from=333.999.0.0

图标

  • 13
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言之基础 1) C语言之简介 2) C语言之搭建开发环境 3) C语言之第一个简单程序的结构详解 4) C语言之书写规范和注释 5) C语言之数据类型 字符串和格式化输入输出 6) C语言之使用字符串 7) C语言之格式化输出 8) C语言之格式化输入 9) C语言之格式化输入输出整理 10) C语言之基本运算符 11) C语言之其他运算符 12) C语言之表达式和语句 循环语句 13) C语言之while循环语句 14) C语言之do-while循环语句 15) C语言之for循环语句 16) C语言之使用关系运算符和表达式 17) C语言之赋值运算+=、-=、*=、/=、%= 18) C语言之循环嵌套 分支跳转 19) C语言之分支和跳转 if 20) C语言之分支和跳转 if-else 21) C语言之条件运算符 ?: 22) C语言之循环辅助手段:continue 和 break 23) C语言之分支和跳转 switch和break 24) C语言之分支和跳转 goto语句 25) C语言之字符输入/输出和输入确认 指针 26) C语言之初识指针 27) C语言之指针的简单用法 28) C语言之字符串指针详解 数组 29) C语言之定义数组 30) C语言之一维数组的使用 31) C语言之二维数组和多维数组 32) C语言之指向数组的指针 33) C语言之保护数组内容const的使用 34) C语言之指向多维数组的指针 函数 35) C语言函数的定义和调用 36) C语言之定义带参数的函数 37) C语言函数之形参和实参 38) C语言函数之返回值和函数类型 39) C语言之指针做函数参数 40) C语言之数组做函数参数 41)c语言之递归 字符串和字符串函数 42)c语言之字符串I/O 43) C语言之字符串输入/输出 44) C语言之字符串处理函数 文件操作 45) C语言之文件是什么 46) C语言之用fopen() 打开文件,关闭文件 fclose() 47) C语言之getc() 和 putc 读写文件 48) C语言之文件结尾 49) C语言之fgets() 和 fputs() 50) C语言之文件内部指针 51) C语言之rewind() 52) C语言随机存取 fseek() 和 ftell() 函数 53) C语言之fsetpos和fgetpos 54) C语言之fread() 和 fwrite() 函数 结构体和其他数据形式 55) C语言之结构体的定义和初始化 56) C语言之访问结构体成员 57) C语言之结构数组 58) C语言之结构体指针 59) C语言之结构体做函数参数 60) C语言之把结构体保存到文件 已更新至此 61)C语言之联合简介 62)C语言之枚举类型 63)C语言函数和指针 位操作 64) C语言之二进制、位和字节 65)C语言之位运算 66)C语言之打开位 67) C语言之转置位及查看位 68) C语言之左移右移(大结局)
为了使用C语言中的随机函数,需要进行以下几个步骤: 1. 引入头文件:首先,在程序的开头,使用#include <stdlib.h>将stdlib.h头文件引入到程序中,以便使用随机函数。 2. 设置随机数种子:在使用随机函数之前,我们需要使用srand函数设置随机数种子。随机数种子决定了随机数的起始值。一般情况下,可以使用time函数获取当前时间来作为随机数种子,确保每次运行程序时都能得到不同的随机数序列。示例代码如下: ```c srand(time(NULL)); ``` 这里的time(NULL)函数返回当前时间的秒数。 3. 获得随机数:设置好随机数种子后,可以使用rand函数来获得随机数。rand函数会生成一个范围在0到RAND_MAX之间的随机数。RAND_MAX是一个常量,表示rand函数可以生成的最大随机数。示例代码如下: ```c int randomNum = rand(); ``` 这里的randomNum变量将保存生成的随机数。 综上所述,使用C语言随机函数的用法包括引入头文件、设置随机数种子和获得随机数。通过这些步骤,我们可以在程序中生成随机数。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [C语言基础教程C语言随机函数](https://blog.csdn.net/weixin_58045538/article/details/121400387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值