C语言中常用库函数
标准头文件包括:
<asset.h><ctype.h><errno.h><float.h>
<limits.h><locale.h><math.h><setjmp.h>
<signal.h><stdarg.h><stddef.h><stdlib.h>
isalpha 函数<stdio.h><string.h><time.h>
一、标准定义(<stddef.h>)
文件<stddef.h>里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,
<stddef.h>都会被自动包含进来。
这个文件里定义:
类型size_t(sizeof运算符的结果类型,是某个无符号整型);
类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);
类型wchar_t(宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的字符集的所有编码值。这里还保证空字符的编码值为0);
符号常量NULL(空指针值);
宏offsetor(这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构成员名。
offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。
注:其中有些定义也出现在其他头文件里(如NULL)。
二、错误信息(<errno.h>)
<errno.h>定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。
<errno.h>里还定义了两个宏EDOM和ERANGE,都是非0的整数值。数学函数执行中遇到参数错误,就会将errno置为EDOM,如出现值域错误就会将errno置为ERANGE。
三、输入输出函数(<stdio.h>)
文件打开和关闭:
FILE*fopen(const char*filename,const char*mode);
int fclose(FILE*stream);
字符输入输出:
函数原型
意义解释
ceil(x)求出不小于x 的最小整数(返回与这个整数对应的double 值)floor(x)求出不大于x 的最大整数(返回与这个整数对应的double 值)
atan2(y,x)
求出tan -1
(y/x),其值的范围是[-pai,pai]
ldexp(x,int n)求出x*2
n
frexp(x,int *exp)
把x 分解为y*2n
,
是位于区间[1/2,1)里的一个小数,作为函数结果返回,整数n 通过指针*exp 返回(应提供一个int 变量地址)。当x 为0时这两个结果的值都是0
modf(x,double *ip)
把x 分解为小数部分和整数部分,小数部分作为函数返回值,整数部分通过指针*ip 返回。
int strncmp(cs,ct,n)比较字符串cs和ct的大小,至多比较n个字符。在cs大于、等
于、小于ct时分别返回正值、0、负值。
char*strchr(cs,c)在cs中查寻c并返回c第一个出现的位置,用指向这个位置的指
针表示。当cs里没有c时返回值NULL
char*strrchr(cs,c)在cs中查寻c并返回c最后一个出现的位置,没有时返回NULL size_t strspn(cs,ct)由cs起确定一段全由ct里的字符组成的序列,返回其长度
size_t strcspn(cs,ct)由cs起确定一段全由非ct里的字符组成的序列,返回其长度char*strpbrk(cs,ct)在cs里查寻ct里的字符,返回第一个满足条件的字符出现的位置,
没有时返回NULL
char*strstr(cs,ct)在cs中查寻串ct(查询子串),返回ct作为cs的子串的第一个
出现的位置,ct未出现在cs里时返回NULL
char*strerror(n)返回与错误编号n相关的错误信息串(指向该错误信息串的指针)char*strtok(s,ct)在s
中查寻由ct中的字符作为分隔符而形成的单词
执行控制
1)非正常终止函数abort。
原型是:void abort(void);
2)正常终止函数exit。
原型是:void exit(int status);
导致程序按正常方式立即终止。status作为送给执行环境的出口值,0表示成功结束,两个可用的常数为EXIT_SUCCESS,EXIT_FAILURE。
3)正常终止注册函数atexit。
原型是:int atexit(void(*fcn)(void))
可用本函数把一些函数注册为结束动作。被注册函数应当是无参无返回值的函数。注册正常完成时atexit返回值0,否则返回非零值。
与执行环境交互
1)向执行环境传送命令的函数system。
原型是:int system(const char*s);
把串s传递给程序的执行环境要求作为系统命令执行。如以NULL为参数调用,函数返回非0表示环境里
有命令解释器。如果s不是NULL,返回值由实现确定。
2)访问执行环境的函数getenv。
原型是:char*getenv(const char*s);
从执行环境中取回与字符串s相关联的环境串。如果不到就返回NULL。本函数的具体结果由实现确定。在许多执行环境里,可以用这个函数去查看“环境变量”的值。
常用函数bsearch和qsort
1)二分法查函数bsearch:
void*bsearch(const void*key,const void*base,size_t n,size_t size,int (*cmp)(const void*keyval,const void*datum));
函数指针参数cmp的实参应是一个与字符串比较函数strcmp类似的函数,确定排序的顺序,当第一个参数keyval比第二个参数datum大、相等或小时分别返回正、零或负值。
2)快速排序函数qsort:
void qsort(void*base,size_t n,size_t size,int(*cmp)(const void*,const void*));
qsort对于比较函数cmp的要求与bsearch一样。设有数组base[0],...,base[n-1],元素大小为size。用qsort可以把这个数组的元素按cmp确定的上升顺序重新排列。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论