【C语言】第二十八课.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LOGO C 语言第二十八课 有时候人需要对自己下狠心 Come to together ! 随机函数 1 日期和时间处理函数 2 Exit 函数 3 Qsort 函数 4 28.1 随机函数 28.1.1 初识随机函数 28.1.2 使用随机函数 Company Logo 28.1.1 初识随机函数 统计学 模拟流 通电流 电信流量 计算机 博彩类 游戏 【随机数】 【随机数】 【随机数】 28.1.1 初识随机函数 在实践中,找到真正的随机数字是很困难的。数字计算机只能在一个限定的范围内和有限的精度下去处理数字。在大多数情况下,一个人能够做的最好的方法是产生伪随机数,而不是真正意义的随机数,它的意义是,单次产生的数列是无法预测的,但是每次都会生成同样一组随机数列。 28.1.1 初识随机函数 标准C函数库提供一个随机数函数,rand()函数,它返回[0,MAX]之间均匀分布的伪随机整数。rand()函数不接受参数,默认以1为种子(即起始值),它总是以相同的种子开始,所以形成的伪随机数列也相同,不是真正的随机数。这是有意设计的,目的是为了便于程序的调试。 另一个函数srand(),可以使用该函数指定不同的数(无符号整数)为种子。但是如果种子相同,伪随机数列也相同。有两种方法可以采用,一种办法是让用户输入种子,但是效果不是很理想;另外一种比较理想的方法是采用变化的数,常用时间来作为随机数生成器的种子。这样种子不同,产生的随机数也就不同。 rand()函数没有参数,它返回一个从0到最大值之间的随机整数。如果要产生0~10的随机整数,可以表达为: int n= rand() % 11; 如果要产生1~10,则是这样: int n= 1 + rand() % 10; 总的来说,要生成一个[a,b]范围内的一个随机整数,可以用下式来表示: int n=a + rand() % (b-a+1) 28.1.2 使用随机函数 【范例28-1】 随机函数的应用 01 #include stdio.h /*包含标准输入输出头文件*/ 02 #include stdlib.h /*包含转换和存储头文件*/ 03 #include time.h /*包含日期时间处理头文件*/ 04 #define MAX 100 05 int main() 06 { 07 int i; 08 srand( (unsigned)time( NULL ) ); /*随机数播种函数*/ 09 for (i=0;i10;i++) /*产生十个随机数*/ 10 printf(%d\n,rand()%MAX); /*设定随机数范围并输出*/ 11 return 0; 12 } 28.1.2 使用随机函数 28.1.2 使用随机函数 srand()函数的参数是一个带NULL参数的time()函数。NULL参数使time()函数以秒为单位读取计算机内部时钟的时间。然后srand()函数使这个时间初始化,rand() 函数设定随机数范围,也就是常说的产生一个以当前时间开始的随机种子。 28.1.2 使用随机函数 在实践中,需要对rand()函数生成的随机数进行修改,比如需要生成的随机数的范围在0到1之间,那该怎么办呢? 可以这样做,首先产生范围0~10的随机正整数,然后除以10.0,根据需要再明确精度,这样就可以了,其它情况依此类推。 28.2 日期和时间处理函数 原型 功能 char *asctime(const struct tm *timeptr) 将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。 char *ctime(const time_t *timep) 将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。 struct tm*gmtime(const time_t*timep) 参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。 struct tm *localtime(const time_t *timep) 参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回. 结构tm的定义请参考gmtime()。 28.2 日期和时间处理函数 例如下面的代码: struct tm { int tm_sec; /*目前秒数,正常范围为0-59,但允许至61秒*/ int tm_min; /*目前分数,范围0-

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档