c语言指数函数 C语言常用标准库解读
许多工程师喜欢自己将一些现有的功能打包到标准库中。其实自己打包的函数不一定比标准库好,只是有时候代码比较冗余,有bug。让我们分享一些常见的C语言标准库。
标准头文件包括:
一、标准定义;
ptrdiff_t类型;
类型wchar_t;
符号常量NULL;
宏偏移量
求结构类型t)的变量中成员m的偏移量。
注意:其中一些定义也会出现在其他头文件中。
二、错误信息 ;intfclose;
字符输入和输出:
intfgetc ;intfputc ;Getc和putc类似于这两个函数,但是通过宏定义来实现。通常有以下定义:
# definegetchar getc# defineputchar putcintungetc ; //把字符 c 退回流 stream格式化输入和输出:
intscanf ;intprintf ;intfscanf ;intfprintf ;intsscanf ;intsprintf ;线路输入/输出:
char* fgets ;intfputs ;char* gets ;intputs ;直接输入和输出:
size_tfread;size_tfwrite;第四,数学函数
实数的余数,两个参数分别是被除数和除数
双fmod
注意:以上没有类型特征的函数都取一个参数,参数和返回值都是双类型的。
下列函数返回双精度值。在下表中,函数的所有参数都是双类型的,除了那些特别指定的。
功能原型
意义解释
天花板
求不小于x的最小整数
楼层
找出不大于x的最大整数
atan2
得到tan-1,其取值范围为
ldexp
求x*2n
frexp
x分解为y*2n,y * 2n是区间中的小数,作为函数结果返回,整数n由指针*exp返回。当x为0时,两个结果的值都为0
modf
x分解为小数部分和整数部分,小数部分作为函数的返回值,整数部分由指针*ip返回。
动词 字符处理功能
c是字母字符
int isdigit
c是数字字符
int isalnum
c是字母或数字字符
int ISS space
c是空,制表符,新行字符
int isupper
c是大写字母
int islower
c是小写字母
int is centrl
c是控制字符
int isprint
c是可打印字符,包括空
int isgraph
c是可打印字符,不包括空。
int isxdigit
c是十六进制数字字符
int is unct
c是标点符号
int tolower
当C是大写字母时,返回相应的小写字母,否则,返回C本身
int toupper
当C是小写字母时,返回对应的大写字母,否则,返回C本身
注意:当条件成立时,这些函数返回非零值。最后两个转换函数返回非字母参数的原始字符。
不及物动词字符串函数类型参数,cs和ct表示类型参数。n代表size_t类型的参数,c是整数参数:
功能原型
意义解释
size_t strlen
求cs的长度
char *strcpy
需要将ct复制到S. S .才能指定足够大的字符数组
char *strncpy
需要将ct中最多n个字符复制到s. S,以指定足够大的字符数组。如果ct中没有足够的N个字符,用空字符填充S。
char *strcat
将ct中的字符复制到S. S .中的现有字符串应指定一个字符数组,该数组包含一个足够大的字符串。
char *strncat
将ct中最多n个字符复制到S. S .中的现有字符串应指定一个字符数组,该数组包含一个足够大的字符串。
int strcmp
比较字符串cs和ct的大小,当cs大于、等于和小于ct时,返回正值、0和负值。
int strncmp
比较字符串cs和ct的大小,最多比较n个字符。当cs大于、等于和小于ct时,分别返回正值、0和负值。
char *strchr
在cs中查找c,并返回c出现的第一个位置,该位置由指向该位置的指针指示。当cs中没有c时返回空值
char * str chr
在cs中搜索c,返回c出现的最后一个地方,如果没有,返回NULL
size_t strspn
从cs中确定由ct中的字符组成的序列,并返回其长度
size _ t strcpn
从cs中确定由非ct字符组成的序列,并返回其长度
char *strpbrk
在cs中搜索ct中的字符,返回满足条件的第一个字符出现的位置,如果不满足条件,则返回NULL
char * strtr
在cs中搜索字符串ct,返回ct的第一个出现位置作为cs的子串,当ct没有出现在cs中时返回NULL
char *strerror
返回与错误号n相关的错误消息字符串。
char *strtok
搜索由ct中的字符组成的单词作为s中的分隔符。
2.存储操作
& ltstring.h & gt还有一组字符数组操作函数,都是从mem开始,以某种高效的方式实现的。在下面的原型中,参数s和t的类型是,cs和ct是,n是size_t,c是int。
功能原型
意义解释
void *memcpy
从ct复制N个字符到S,然后返回S。
void *memmove
将N个字符从ct复制到S,并返回S,其中允许两个段重叠
int memcmp
比较从cs和ct开始的n个字符,返回值的定义与strcmp相同
void *memchr
在n个字符的范围内搜索c在cs中的第一次出现。如果找到,返回该位置的指针值,否则返回NULL
void *memset
将s的前n个字符设置为c并返回s。
七、功能功能
生成一个从0到RAND_MAX的随机整数
无效种子
使用种子为后续随机数生成设置种子值
2.动态存储分配功能:
功能原型
意义解释
void *calloc
分配一个足以容纳n个大小对象的存储块,并用0个字符填充所有字节。返回内存块的地址。如果不能满足,则返回空值
void *malloc
分配一个大小为的存储块,返回存储块的地址,如果不能满足,则返回空值
void *realloc
将p指向的内存块调整到大小,并返回新块的地址。如果能够满足要求,新区块的内容与原区块一致;当不能满足要求时,返回空值,此时原始块保持不变
无空隙
释放先前分配的动态内存块
3.几个整数函数
几个简单的整数函数见下表。div_t和ldiv_t是两种预定义的结构类型,用于存储除法过程中获得的商和余数。div_t类型的组件是int类型的quot和rem,ldiv_t类型的组件是long类型的quot和rem。
功能原型
意义解释
int abs
求一个整数的绝对值
长实验室
求长整数的绝对值
div_t div
为了找到n/m,商和余数分别存储在结果结构的相应成员中
长n,长m
同上,参数是一个长整数
4.数字转换
功能原型
意义解释
双atof异常终止功能中止。
原型是:
voidabort ;2)正常终止功能退出。
原型是:
voidexit ;使程序以正常方式立即终止。Status是发送到执行环境的退出值,0表示成功完成,两个可用常量是EXIT_SUCCESS和EXIT_FAILURE。
3)正常终止寄存器功能atexit。
原型是:
intatexit)您可以使用这个函数来注册一些函数作为结束动作。注册的函数应该是没有参数和返回值的函数。当注册正常完成时,Atexit返回值0,否则返回非零值。
6.与执行环境交互
1)向执行环境传输命令的功能系统。
原型是:
intsystem ;将字符串s传递到程序的执行环境需要作为系统命令执行。如果将NULL作为参数调用,函数返回非0,表示环境中有命令解释器。如果s不为空,返回值由实现决定。
2)访问执行环境的函数getenv。
原型是:
char* getenv ;从执行环境中检索与字符串s相关联的环境字符串。如果找不到,则返回空值。这个函数的具体结果由实现决定。在许多执行环境中,可以使用这个函数来检查“环境变量”的值。
7.常用功能有搜索和排序
1)二分搜索法函数研究:
void* bsearch) ;函数指针参数cmp的实际参数应该是一个类似于字符串比较函数strcmp的函数,该函数确定排序顺序,当第一个参数keyval大于、等于或小于第二个参数datum时,返回正值、零值或负值。
2)快速排序功能qsort:
Qsort对比较功能cmp的要求与bsearch相同。有基于的数组,...,base,元素大小为size。使用qsort,这个数组的元素可以按照cmp确定的升序重新排列。
voidqsort) ;本文来源于网络。如果原作者不支持我们转发,请联系我们删除。谢谢大家!
技术来自积累,成功来自坚持