C51函数库函数功能表.docx
《C51函数库函数功能表.docx》由会员分享,可在线阅读,更多相关《C51函数库函数功能表.docx(9页珍藏版)》请在冰豆网上搜索。
C51函数库函数功能表
一、CTYPE.H
1、externbitisalpha(unsignedchar);
检查参数字符是否为英文字符,是则返回1,否则返回0
2、externbitisalnum(unsignedchar);
检查参数字符是否为字母或者数字字符,是则返回1,否则返回0
3、externbitiscntrl(unsignedchar);
检查参数值是否在0x00~0x7F之间或者等于0x7F,是则返回1,否则返回0
4、externbitisdigit(unsignedchar);
检查参数值是否为数字字符,是则返回1,否则返回0
5、externbitisgraph(unsignedchar);
检查参数是否为可打印字符(0x21~0x7E),是则返回1,否则返回0
6、externbitisprint(unsignedchar);
检查参数是否为可打印字符,包括空格符,其余与isgraph相同
7、externbitispunct(unsignedchar);
检查参数是否为标点、空格或者格式字符,是则返回1,否则返回0
8、externbitislower(unsignedchar);
检查参数是否为小写字母,是则返回1,否则返回0
9、externbitisupper(unsignedchar);
检查参数是否为大写字母,是则返回1,否则返回0
10、externbitisspace(unsignedchar);
检查参数是否为下列之一:
空格、制表符、回车、换行、垂直制表符和送纸符号,是则返回1,否则返回0
11、externbitisxdigit(unsignedchar);
检查参数是否为16进制数字字符,是则返回1,否则返回0
12、externunsignedchartolower(unsignedchar);
将大写字符转换成小写形式,如果字符不在(A~Z)之间,则直接返回该字符
13、externunsignedchartoupper(unsignedchar);
将小写字符转换成大写形式,如果字符不在(a~z)之间,则直接返回该字符
14、externunsignedchartoint(unsignedchar);
将ASCII字符0~9,A~F(不分大小写)转换成16进制的数字,返回转换后的16进制数字
二、STDIO.H
#ifndefEOF
#defineEOF-1
#endif
#ifndefNULL
#defineNULL((void*)0)
#endif
#ifndef_SIZE_T
#define_SIZE_T
typedefunsignedintsize_t;
#endif
1、externchar_getkey(void);
从单片机串口读入一个字符,然后等待字符输入
2、externchargetchar(void);
该函数使用_getkey()函数从串口读入字符,并将读入的字符马上给putchar()函数输出
3、externcharungetchar(char);
将输入的字符回送输入缓冲区,成功返回char,否则返回EOF
4、externcharputchar(char);
通过单片机的串口输出字符,与_getkey()函数一样
5、externintprintf(constchar*,...);
以一定的格式通过单片机串行口输出数值和字符串,返回值为实际输出的字符数
6、externintsprintf(char*,constchar*,...);
通过一个指针S将数据送人可寻址的内存缓冲区,并以ASCII码的形式存储
7、externintvprintf(constchar*,char*);
8、externintvsprintf(char*,constchar*,char*);
9、externchar*gets(char*,intn);
10、externintscanf(constchar*,...);
11、externintsscanf(char*,constchar*,...);
12、externintputs(constchar*);
三、string.h
1、externchar*strcat(char*s1,char*s2);
2、externchar*strncat(char*s1,char*s2,intn);
3、externcharstrcmp(char*s1,char*s2);
4、externcharstrncmp(char*s1,char*s2,intn);
5、externchar*strcpy(char*s1,char*s2);
6、externchar*strncpy(char*s1,char*s2,intn);
7、externintstrlen(char*);
8、externchar*strchr(constchar*s,charc);
9、externintstrpos(constchar*s,charc);
10、externchar*strrchr(constchar*s,charc);
11、externintstrrpos(constchar*s,charc);
12、externintstrspn(char*s,char*set);
13、externintstrcspn(char*s,char*set);
14、externchar*strpbrk(char*s,char*set);
15、externchar*strrpbrk(char*s,char*set);
16、externchar*strstr(char*s,char*sub);
17、externchar*strtok(char*str,constchar*set);
18、externcharmemcmp(void*s1,void*s2,intn);
19、externvoid*memcpy(void*s1,void*s2,intn);
20、externvoid*memchr(void*s,charval,intn);
21、externvoid*memccpy(void*s1,void*s2,charval,intn);
22、externvoid*memmove(void*s1,void*s2,intn);
23、externvoid*memset(void*s,charval,intn);
四、stdlib.h
1、externintabs(intval);
2、externlonglabs(longval);
3、externfloatatof(char*s1);
将字符串转换成浮点数
4、externlongatol(char*s1);
将字符串转换成长整型
5、externintatoi(char*s1);
将字符串转换成整型
6、externintrand();
取一个0~32767之间的随机数
7、externvoidsrand(int);
根据种子seed的值取随机数
8、externfloatstrtod(char*,char**);
9、externlongstrtol(char*,char**,unsignedchar);
将字符串转换成长整数
10、externunsignedlongstrtoul(char*,char**,unsignedchar);
将字符串转换成无符号长整数
#define_MALLOC_MEM_xdata
11、externvoidinit_mempool(void_MALLOC_MEM_*p,unsignedintsize);
初始化内存池
12、externvoid_MALLOC_MEM_*malloc(unsignedintsize);
申请一块大小为size的内存
13、externvoidfree(void_MALLOC_MEM_*p);
释放一块被申请的内存
14、externvoid_MALLOC_MEM_*realloc(void_MALLOC_MEM_*p,unsignedintsize);
重新申请一块大小为size的内存
15、externvoid_MALLOC_MEM_*calloc(unsignedintsize,unsignedintlen);
申请有size个元素的,每个元素的大小为len的数组
五、math.h
1、externcharcabs(charval);
计算并返回val的绝对值,为char型
2、externintabs(intval);
计算并返回val的绝对值,为int型
3、externlonglabs(longval);
计算并返回val的绝对值,为long型
4、externfloatfabs(floatval);
计算并返回val的绝对值,为float型
5、externfloatsqrt(floatval);
返回x的正平方根
6、externfloatexp(floatval);
计算e为底x的幂并返回计算结果
7、externfloatlog(floatval);
返回自然对数
8、externfloatlog10(floatval);
返回以10为底的对数
9、externfloatsin(floatval);
10、externfloatcos(floatval);
11、externfloattan(floatval);
以上3个函数返回相应的三角函数值,所有的变量范围在-π/2~+π/2之间,否则会返回错误
12、externfloatasin(floatval);
13、externfloatacos(floatval);
14、externfloatatan(floatval);
返回相应的反三角函数值,值域为-π/2~+π/2
15、externfloatsinh(floatval);
16、externfloatcosh(floatval);
17、externfloattanh(floatval);
返回x的相应的双曲函数值
18、externfloatatan2(floaty,floatx);
返回x/y的反正切值,值域为-π~+π
19、externfloatceil(floatval);
返回一个不小于val的最小整数(作为浮点数)
20、externfloatfloor(floatval);
返回一个不大于val最大整数(作为浮点型)
21、externfloatmodf(floatval,float*n);
将浮点数val分为整数和小数两部分,两者的符号与val相同,整数部分放入*n,小数部分作为返回值
22、externfloatfmod(floatx,floaty);
返回x/y的余数
23、externfloatpow(floatx,floaty);
返回x的y次方
六、absacc.h
以下4个宏定义,对单片机的进行绝对地址访问,可以作为字节寻址,CBYTE寻址code区,DBYTE寻址data区,PBYTE寻址分页xdata区,XBYTE寻址xdata区
1、#defineCBYTE((unsignedcharvolatilecode*)0)
2、#defineDBYTE((unsignedcharvolatiledata*)0)
3、#definePBYTE((unsignedcharvolatilepdata*)0)
4、#defineXBYTE((unsignedcharvolatilexdata*)0)
以上4个宏定义与上面4个功能类似,只是数据类型是unsignedint型
5、#defineCWORD((unsignedintvolatilecode*)0)
6、#defineDWORD((unsignedintvolatiledata*)0)
7、#definePWORD((unsignedintvolatilepdata*)0)
8、#defineXWORD((unsignedintvolatilexdata*)0)
七、intrins.h
1、externvoid_nop_(void);
空操作指令,需要一个指令周期
2、externbit_testbit_(bit);
该函数对字节中的一个比特进行测试,如果该比特为1则返回1,并置该位为0,否则返回0
3、externunsignedchar_cror_(unsignedchar,unsignedchar);
4、externunsignedint_iror_(unsignedint,unsignedchar);
5、externunsignedlong_lror_(unsignedlong,unsignedchar);
将第一个参数循环右移n位,3个函数的参数和返回值类型不同
6、externunsignedchar_crol_(unsignedchar,unsignedchar);
7、externunsignedint_irol_(unsignedint,unsignedchar);
8、externunsignedlong_lrol_(unsignedlong,unsignedchar);
将第一个参数循环左移n位,3个函数的不同在于参数和返回值的类型
9、externunsignedchar_chkfloat_(float);
10、externvoid_push_(unsignedchar_sfr);
11、externvoid_pop_(unsignedchar_sfr);
八、setjmp.h
typedefcharjmp_buf[_JBLEN];
1、externvolatileintsetjmp(jmp_buf);
2、externvolatilevoidlongjmp(jmp_buf,int);