C语言入门小册子
Completion requirements
实用函数库
实用函数库包含了一些杂项函数。它需要以下声明:
#include <stdlib.h>
有用的函数包括:
atof( <string> ):将数字字符串转换为double类型的值。atoi( <string> ):将数字字符串转换为int类型的值。atol( <string> ):将数字字符串转换为long类型的值。rand():生成伪随机整数。srand( <seed> ):为随机数生成器设定种子,"seed" 是一个int类型。exit( <status> ):退出程序,"status" 是一个int类型。system( <string> ):告诉系统执行由 "string" 给出的程序。abs( n ):返回int类型参数n的绝对值。labs( n ):返回long类型参数n的绝对值。
函数 atof()、atoi() 和 atol() 如果无法将给定的字符串转换为相应的值,则会返回 0。
时间和日期库
时间和日期库包括多种功能,其中一些较为冷僻且非标准。此库需要以下声明:
#include <time.h>
最基本的函数是 time(),它返回自1970年1月1日午夜协调世界时(UTC)以来的秒数(不包括闰秒)。返回值为 time_t 类型(即 long 类型),在头文件中定义。
以下程序使用 time() 来实现一个以秒为单位的延迟:
/* delay.c */
#include <stdio.h>
#include <time.h>
void sleep(time_t delay);
void main()
{
puts("Delaying for 3 seconds.");
sleep(3);
puts("Done!");
}
void sleep(time_t delay)
{
time_t t0, t1;
time(&t0); // 获取当前时间
do
{
time(&t1); // 获取当前时间
}
while ((t1 - t0) < delay); // 判断时间差是否达到延迟时间
}
ctime() 函数将 time() 返回的时间值转换为时间和日期的字符串。以下小程序打印当前时间和日期:
/* time.c */
#include <stdio.h>
#include <time.h>
void main()
{
time_t *t;
time(t); // 获取当前时间
puts(ctime(t)); // 打印时间字符串
}
该程序会打印类似如下格式的字符串:
Tue Dec 27 15:18:16 1994
Last modified: Monday, 27 January 2025, 11:55 PM