标准函数库
来源:互联网 发布:淘宝的id是什么 编辑:程序博客网 时间:2024/04/28 14:48
1、rand与srand函数产生伪随机数
rand返回一个范围在0和RAND _MAX之间的伪随机数,为了避免程序每次运行时获得相同的随机数序列,可以使用srand函数对随机数发生器进行初始化;
常用的技巧是使用每天的时间作为随机数发生器的种子:
2、处理日期和时间的函数位于<time.h>之中
(1)clock函数
clock函数返回从程序开始执行起处理器所消耗的时间;往往是返回一个数字,为了将其转换为秒,需要将它除以CLOCKS_PER_SEC;
通常使用方法是两个clock函数返回值相减得到运行时间;
(2)time函数
time函数返回当前的日期时间;注: 调用time函数两次并把两个值相减由此判断期间所流逝的时间是很危险的操作方式;
(3)ctime函数与difftime函数
ctime函数参数是指向time_t的指针,并返回一个指向字符串的指针,字符串格式如下:Sun Jul 4 04:02:48 1976\n\0
difftime函数计算time1-time2的差,并把结果转换为秒;
关于difftime的例子:
(4)gmtime函数与localtime函数
gmtime函数将时间值转换为UTC时间,localtime函数把时间转换为当地时间; 注:一个常见的错误忘了tm_year这个值与1900相加;
3、信号表示一个程序的执行期间可能发生的不可预料的事件;
4、当一个信号发生时系统所采取的缺省反应是由编译器定义的,一般是终止程序,但是我们可以通过定义一个信号处理函数并使用signal函数对其进行设置,从而改变信号的缺省行为;
5、处理信号
raise函数用于显式的引发一个信号;signal是一个函数,返回一个函数指针,后者所指向的函数接受一个整型参数且没有返回值;
6、volatile关键字防止编译器以一种可能修改程序含义的方式“优化”程序;
7、终止执行函数
abort函数用于不正常的终止一个正在执行的程序;atexit函数可以把一些函数注册为退出函数,当程序将要正常终止时(或者由于调用exit,或由于main函数返回),退出函数将被调用;
总之:当exit函数被调用时,所以被atexit函数注册为退出函数的函数将按照它们所注册的顺序被反序调用,然后所有用于流的缓冲区被刷新,所有打开的文件被关闭,用tmpfile函数创建的文件被删除,然后退出状态返回给宿主环境,程序停止执行;
8、断言(<assert.h>)
这是一个宏,当它被执行时,这个宏对表达式参数进行测试,如果它的值为假,它就向标准错误打印一条诊断信息并终止程序;注:
(1)assert只适用于验证必须为真的表达式;
(2)当NDEBUG被定义后,预处理器将丢弃所有的断言而不必从源文件中把所有的断言实际删除;
- 标准函数库
- 标准函数库
- Wml的标准函数库
- ASP标准函数库
- Wml的标准函数库
- C 标准函数库
- ANSI C标准函数库
- ANSI C标准函数库
- ANSI C标准函数库
- ANSI C 标准函数库
- c语言标准函数库
- C语言标准函数库
- AHSI C标准函数库
- ANSI C 标准函数库
- ANSI C标准函数库
- ANSI C标准函数库
- C/C++标准函数库
- ANSI C标准函数库
- java惰性初始化的小例子
- @RequestParam和@PathVariable区别
- linux 之 select
- Android之ExecutorService线程池
- (八)Spring详解——代理实现
- 标准函数库
- STM32F4学习笔记2——自建库函数整合FFT计算遇到的问题及解决方法
- coredump文件分析:vs和windbg
- 七种排序方法
- noip 2006 能量项链 题解
- database中的执行和提交
- 2016.11.10
- java中调用另一个类中方法的两种方法
- 秋水伊人