C语言未赋值了随机数,c语言学习——随机数的学习

开始学习c语言的旅程哈哈。

1.只产生随机数不需要其范围

头部包含头文件stdlib.h,使用rand()函数返回一个随机数。随机数范围在0-RAND_MAX之间(RAND_MAX为stdlib.h中定义的整数与系统有关)

注:在stdlib.h头文件中函数定义为int rand();所以rand()函数返回的随机数为整型,生成浮点类型可以对生成的随机数进行运算得到。例如rand()/100生成两位小数点的随机浮点数,或者rand()/(double)RAND_MAX生成0-1的随机浮点数

2.产生在一定范围内的随机数

可以在宏定义中定义random(int number)函数,#define random(x) (rand()%x),再在main函数中调用random()函数。实质与直接对rand()%x进行操作赋值生成随机数一致,定义random()函数方便。

注:rand()%x生成的随机数范围为[0,x)

写了个简单的程序进行运用,代码如下:

#include

#include

#define random(x)(rand()%x)

int main()

{

int i;

printf("产生不定范围的随机数:\n");

for(i=0;i<5;i++)

{

printf("%d\n",rand());

}

printf("产生一定范围内的随机数:\n");

printf("%d\n",random(10));

return 0;

}

运行两次发现产生的随机数一致。

需要先调用srand()函数设置随机数的种子,如果未调用默认随机数种子为1,所以产生了上个代码运行多次产生随机数一致的情况。

srand()函数在stdlib.h中定义为void srand(unsigned int seed),seed可以用getpid()(返回进程标识符)或者用time(NULL)(返回的是系统时间).

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png明天继续学习

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值