目录

C语言复习笔记-分支循环涉及到的函数简单介绍

C语言复习笔记–分支/循环(涉及到的函数简单介绍)

sqrt

这个函数是用于 求给定函数平方根的.

函数所需头文件为<math.h>.

函数原型为double sqrt(double);

因为有隐式类型转换的存在,也可以用于求int类的平方根.

如果将sqrt直接用于printf的函数内要记得用%lf占位符来占位,用%d的话会因为整形与浮点型储存不同导致错误.

rand与srand

rand

这函数是可以⽣成随机数的,但它生成的不是真正的随机数,而是有一定规律的随机数.(

这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的⼤⼩是 依赖编译器上实现的,但是⼤部分编译器上是32767.)

并且如果不设置srand这个随机数种子,那么rand每次重新启动程序时所生成的随机数都是相同的一批.

之所以前⾯每次运⾏程序产⽣的随机数序列是⼀样的,那是因为rand函数⽣ 成随机数的默认种⼦是1如果要⽣成不同的随机数,就要让种⼦是变化的。

rand函数所需头⽂件是:<stdlib.h>

函数原型为:int rand (void);

srand

srand是⽤来初始化随机数的⽣成器的.

srand函数所需头⽂件是:<stdlib.h>

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

程序中在调⽤ rand 函数之前先调⽤ srand 函数,通过 srand 函数的参数seed来设置rand函数⽣成随机数的时候的种⼦,只要 种子在变化 ,每次⽣成的随机数序列也就变化起来了。

srand函数是不需要频繁调⽤的,⼀次运⾏的程序中调⽤⼀次就够了.

time

在程序中我们⼀般是使用程序运行的时间作为种子 的,因为时间时刻在发⽣变化的。 在C语⾔中有⼀个函数叫 time ,就可以获得这个时间.

函数所需头⽂件是:<time.h>

函数原型为:time_t time(time_t timer);*

time 函数会返回当前的⽇历时间,其实返回的是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的 差值,单位是秒。 返回的类型是time_t类型的,time_t 类型本质上其实就是32位或者64位的整型类型。

如果 timer 是NULL ,就只返回这个时间的差值。time函数返回的这个时间差也被叫做: 时间戳。

time函数的参数 timer 如果是 非NULL的指针的话 ,函数也会将这个返回的差值放在timer指向的内存 中带回去。

设置随机数的范围

所以如果要⽣成 a~b的随机数 ,⽅法如下: a + rand()%(b-a+1).