【C语言】随机数生成以及`#include <time.h>`学习

 

目录

 

一、随机数生成

二、#include 头文件

三、一些碎碎念


 

一、随机数生成

1.伪随机数【rand函数的应用】

函数功能:可以随机产生0~rand_max的随机数,定义类型不同,最大值也不相同。

头文件:#include <stdlib.h>

之所以叫做伪随机数,是因为根据一个数按照某个公式推算出来的,有很大概率会多次产生同一个数。

 #include <stdio.h>
 #include <stdlib.h>
 int main()
 {
     int a=rand();
     printf("%d",a);
     return 0;
 }

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a6J6IuSXw==,size_10,color_FFFFFF,t_70,g_se,x_16 

 

 

2.随机数生成【srand函数总结】

函数原型:void srand (usigned int seed);

函数功能:随机数发生器的初始化函数(不讲人话,很小声)

函数头文件:#include <stdlib.h>但是也需要#include <time.h>主要srand里边的参数要用time函数

 #include<stdio.h>
 #include<stdlib.h>
 #include<time.h>
 int main()
 {
     srand((unsigned)time(NULL));
     int n=rand();
     printf("%d\n",n);
     return 0;
 }

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a6J6IuSXw==,size_20,color_FFFFFF,t_70,g_se,x_16 

 

 

3.生成特定范围的随机数

(1)产生随机数范围0~m(int型)

int a=rand()%m;

(2)产生随机数范围m~n

int a=rand()%(n-m+1)+m;

参考博客:http://t.csdn.cn/05x1B

二、#include <time.h>头文件

1.两个数据类型

clock_t:度量的时间值(只能表示时间区间)——用于程序记时

time_t:计算距离UTC时间(1970-01-01 00:00:00)的秒数

补充:一个结构体---->struct tm:可以称为分解时间,把时间分解成秒、分、时等。通常存储本地时watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a6J6IuSXw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

2.几个常用的函数

(1)clock: 获取程序开始执行后占用的处理器时间,返回值clock_t。

(2)time:获取当前系统时间(UTC时间)的time_t值。

(3)ctime:将time_t值转换为表示本地时间的字符串

(4)gmttime:将time_t值转换表示GMT时间的字符串

(5)localtime:将time_t转换表示本地时间的strunct tm结构

(6)mktime:表示本地时间struct tm**转换为time_t**。

(7)asctime:将struct tm**转换为字符串形式**。

(8)difftime:得到两个日历时间的差值

(9)strftime:自定义把结构体tm的日期与时间信息转换为制定的格式

 

补充:此头文件的函数可以分为两类

(1)时间处理函数

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a6J6IuSXw==,size_20,color_FFFFFF,t_70,g_se,x_16 

 

(2)时间转换函数

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a6J6IuSXw==,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

三、一些碎碎念

随机数以前看过,稍微用过那么一次/两次,知道它很有用,但是从来没有深入理解,以为自己知道的那点东西就可以了,指导一个学习上的伙伴问我怎么输出生成特定范围的随机数,我就一整个呆住了……

至于这个time.h的头文件,是前几天做项目实验的时候再次看到这个随机数生成,萌生想要进一步掌握的库文件,去做的。

不过随机数生成算是搞定了,但是这个time.h里的函数看了看,目前没有应用场景(或者说是我还用不到),再加上基本用不上看起来有点头大,所以就只是简单有了个轮廓的了解,知道了有几个类型,知道了有几个函数,还知道了,其中time(NULL)可以用在种种子上。

今天就到此为止吧!

 

  • 19
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值