标准库函数是一个工具箱,极大的扩展了C语言的能力
整形函数
这组函数返回整形值。这些函数分为三类:算数,随机数 和 字符串转换。
算数:<stdlib.h>
函数原型:
int abs( int value);
返回它参数的绝对值。
long int labs( long int value);
返回参数的绝对值。
div_t div ( int numerator,int denominator);
第二个参数(denominator 分母) 除以 第一个参数(numerator 分子),产生商 和 余数,用一个 div_t 结构返回。
int quot; //商
int rem; //余数
lidv_t ldiv( long int numer,long int denom);
ldiv和div执行的任务相同,但他作用于长整型,返回一个ldiv_t 结构。
随机数 <sdtlib.h>
下面两个函数合在一起使用能够产生伪随机数。伪随机数是因为他们通过计算产生随机数,因此有可能重复出现,所以并不是真正的随机数。
int rand(void);
void srand(unsigned int seed);
rand 返回一个范围在0和RAND_MAX(至少在32767)之间的伪随机数。
srand函数它用它的参数值对随机数发生器进行初始化。一个常用的技巧是使用每天的时间作为随机数产生器的种子
srand((unsigned int)time(0));
字符串转换<stdlib.h>
字符串转换函数把字符串转换为数值
int atoi(char const *string);
long int atol(char const *string);
long int strtol(char const *string, char **unused,int base);
unsigned long int strtoul(char const *string,char **unused,int base);
如果这些函数的string参数中并不包含一个合法的数值,函数就返回0,如果被转换的值无法表示,函数便在errno中存储ERANGE这个值,并返回下表中的一个值。
函数 | 返回值 |
---|---|
strtol | 如果值太大且为负数,返回LONG_MIN。如果值太大且为正数,返回LONG_MAX |
strtoul | 如果值太大,返回ULONG_MAX |
数学函数<math.h>
三角函数
double sin(double angle);
double cos(double angle);
double tan(double angle);
double asin(double value);
double acos(double value);
double atan(double value);
double atan2(double x, double y);
asin 、acos 、atan 函数分别返回他们参数的反正弦,反余弦,反正切值。
asin和acos的参数并不位于 -1 和 1 之间,就出现一个定义域错误。
asin 和 atan 的返回值是范围在 -π / 2 和 π / 2 之间的一个弧度。
acos返回值是一个范围在0 和 π 之间的弧度。
双曲函数<math.h>
double sinh(double angle);
double cosh(double angle);
double tanh(double angle);
返回的参数的双曲正弦,双曲余弦,双曲正切值
对数和指数函数<math.h>
double exp(double x);
double log(double x);
double log10(double x);
exp 函数返回 e值的x的次幂,e^x
log 函数返回x以e为底的对数
log10 函数返回 x 以 10为底的对数。
如果参数为负数两个对数函数出现定义错误
浮点表示形式<math.h>
根据编译器定义的格式存储一个浮点值的方法
double frexp(double value,int *exponent);
double ldexp(double fraction,int *exponent);
double modf(double value,int *ipart);
幂 <math.h>
double pow(double x, double y);
double sqrt(double x);
pow 函数返回 x^y 的值
sqrt 函数返回其参数的平方根。参数不能为负
底数、顶数、绝对值和余数<math.h>
double floor(double x);
double ceil(double x);
double fabs(double x);
double fmod(double x,double y);
时间和日期函数
处理器时间
返回从程序开始执行起处理器所消耗的时间
clock_t clock(void);
该函数返回自程序启动起,处理器时钟所使用的时间。如果失败,则返回 -1 值。
当天时间
time_t time(time_t *returned_value);
如果参数是一个非NULL的指针,时间值也将通过这个指针进行存储
time函数返回当前的日期和时间
执行环境
终止执行<stdlib.h>
void abort(void);
用于不正常终止一个正在执行的程序
void atexit(void(func)(void));
把一些函数注册为退出函数。当程序将要正常终止时,退出函数将被调用。
void exit(int status);
用于正常终止程序
断言<assert.h>
void assert(int expression);
assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。
执行系统命令<stdlib.h>
void system(char const *command);
执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名。另,在windows系统下参数字符串不区分大小写。
命令执行成功返回0,执行失败返回-1。