您的当前位置:首页正文

C51函数库函数功能表

2022-08-31 来源:步旅网


一 、CTYPE.H

1、 extern bit isalpha (unsigned char);

检查参数字符是否为英文字符,是则返回1,否则返回0

2、 extern bit isalnum (unsigned char);

检查参数字符是否为字母或者数字字符,是则返回1,否则返回0

3、 extern bit iscntrl (unsigned char);

检查参数值是否在0x00~0x7F之间或者等于0x7F,是则返回1,否则返回0

4、extern bit isdigit (unsigned char);

检查参数值是否为数字字符,是则返回1,否则返回0

5、extern bit isgraph (unsigned char);

检查参数是否为可打印字符(0x21~0x7E),是则返回1,否则返回0

6、extern bit isprint (unsigned char);

检查参数是否为可打印字符,包括空格符,其余与isgraph相同

7、extern bit ispunct (unsigned char);

检查参数是否为标点、空格或者格式字符,是则返回1,否则返回0

8、extern bit islower (unsigned char);

检查参数是否为小写字母,是则返回1,否则返回0

9、extern bit isupper (unsigned char);

检查参数是否为大写字母,是则返回1,否则返回0

10、extern bit isspace (unsigned char);

检查参数是否为下列之一:空格、制表符、回车、换行、垂直制表符和送纸符号, 是则返回1,否则返回0

11、extern bit isxdigit (unsigned char);

检查参数是否为16进制数字字符,是则返回1,否则返回0

12、extern unsigned char tolower (unsigned char);

将大写字符转换成小写形式,如果字符不在(A~Z)之间,则直接返回该字符

13、extern unsigned char toupper (unsigned char);

将小写字符转换成大写形式,如果字符不在(a~z)之间,则直接返回该字符

14、extern unsigned char toint (unsigned char);

将ASCII字符0~9,A~F(不分大小写)转换成16进制的数字,返回转换后的16进制数字

二、STDIO.H

#ifndef EOF

#define EOF -1

#endif

#ifndef NULL

#define NULL ((void *) 0)

#endif

#ifndef _SIZE_T

#define _SIZE_T

typedef unsigned int size_t;

#endif

1、extern char _getkey (void);

从单片机串口读入一个字符,然后等待字符输入

2、extern char getchar (void);

该函数使用_getkey()函数从串口读入字符,并将读入的字符马上给putchar()函数输出

3、extern char ungetchar (char);

将输入的字符回送输入缓冲区,成功返回char,否则返回EOF

4、extern char putchar (char);

通过单片机的串口输出字符,与_getkey()函数一样

5、extern int printf (const char *, ...);

以一定的格式通过单片机串行口输出数值和字符串,返回值为实际输出的字符数

6、extern int sprintf (char *, const char *, ...);

通过一个指针S将数据送人可寻址的内存缓冲区,并以ASCII码的形式存储

7、extern int vprintf (const char *, char *);

8、extern int vsprintf (char *, const char *, char *);

9、extern char *gets (char *, int n);

10、extern int scanf (const char *, ...);

11、extern int sscanf (char *, const char *, ...);

12、extern int puts (const char *);

三、string.h

1、extern char *strcat (char *s1, char *s2);

2、extern char *strncat (char *s1, char *s2, int n);

3、extern char strcmp (char *s1, char *s2);

4、extern char strncmp (char *s1, char *s2, int n);

5、extern char *strcpy (char *s1, char *s2);

6、extern char *strncpy (char *s1, char *s2, int n);

7、extern int strlen (char *);

8、extern char *strchr (const char *s, char c);

9、extern int strpos (const char *s, char c);

10、extern char *strrchr (const char *s, char c);

11、extern int strrpos (const char *s, char c);

12、extern int strspn (char *s, char *set);

13、extern int strcspn (char *s, char *set);

14、extern char *strpbrk (char *s, char *set);

15、extern char *strrpbrk (char *s, char *set);

16、extern char *strstr (char *s, char *sub);

17、extern char *strtok (char *str, const char *set);

18、extern char memcmp (void *s1, void *s2, int n);

19、extern void *memcpy (void *s1, void *s2, int n);

20、extern void *memchr (void *s, char val, int n);

21、extern void *memccpy (void *s1, void *s2, char val, int n);

22、extern void *memmove (void *s1, void *s2, int n);

23、extern void *memset (void *s, char val, int n);

四、stdlib.h

1、extern int abs (int val);

2、extern long labs (long val);

3、extern float atof (char *s1);

将字符串转换成浮点数

4、extern long atol (char *s1);

将字符串转换成长整型

5、extern int atoi (char *s1);

将字符串转换成整型

6、extern int rand ();

取一个0~32767之间的随机数

7、extern void srand (int);

根据种子seed的值取随机数

8、extern float strtod (char *, char **);

9、extern long strtol (char *, char **, unsigned char);

将字符串转换成长整数

10、extern unsigned long strtoul (char *, char **, unsigned char);

将字符串转换成无符号长整数

#define _MALLOC_MEM_ xdata

11、extern void init_mempool (void _MALLOC_MEM_ *p, unsigned int size);

初始化内存池

12、extern void _MALLOC_MEM_ *malloc (unsigned int size);

申请一块大小为size的内存

13、extern void free (void _MALLOC_MEM_ *p);

释放一块被申请的内存

14、extern void _MALLOC_MEM_ *realloc (void _MALLOC_MEM_ *p, unsigned int size);

重新申请一块大小为size的内存

15、extern void _MALLOC_MEM_ *calloc (unsigned int size, unsigned int len);

申请有size个元素的,每个元素的大小为len的数组

五、math.h

1、extern char cabs (char val);

计算并返回val的绝对值,为char型

2、extern int abs (int val);

计算并返回val的绝对值,为int型

3、extern long labs (long val);

计算并返回val的绝对值,为long型

4、extern float fabs (float val);

计算并返回val的绝对值,为float型

5、extern float sqrt (float val);

返回x的正平方根

6、extern float exp (float val);

计算e为底x的幂并返回计算结果

7、extern float log (float val);

返回自然对数

8、extern float log10 (float val);

返回以10为底的对数

9、extern float sin (float val);

10、extern float cos (float val);

11、extern float tan (float val);

以上3个函数返回相应的三角函数值,所有的变量范围在-π/2 ~ +π/2之间,否则会返回错误

12、extern float asin (float val);

13、extern float acos (float val);

14、extern float atan (float val);

返回相应的反三角函数值,值域为-π/2 ~ +π/2

15、extern float sinh (float val);

16、extern float cosh (float val);

17、extern float tanh (float val);

返回x的相应的双曲函数值

18、extern float atan2 (float y, float x);

返回x/y的反正切值,值域为-π ~ +π

19、extern float ceil (float val);

返回一个不小于val的最小整数(作为浮点数)

20、extern float floor (float val);

返回一个不大于val最大整数(作为浮点型)

21、extern float modf (float val, float *n);

将浮点数val分为整数和小数两部分,两者的符号与val相同,整数部分放入*n,小数部分作为返回值

22、extern float fmod (float x, float y);

返回x/y的余数

23、extern float pow (float x, float y);

返回x的y次方

六、absacc.h

以下4个宏定义,对单片机的进行绝对地址访问,可以作为字节寻址,CBYTE寻址code区,DBYTE寻址data区,PBYTE寻址分页xdata区,XBYTE寻址xdata区

1、#define CBYTE ((unsigned char volatile code *) 0)

2、#define DBYTE ((unsigned char volatile data *) 0)

3、#define PBYTE ((unsigned char volatile pdata *) 0)

4、#define XBYTE ((unsigned char volatile xdata *) 0)

以上4个宏定义与上面4个功能类似,只是数据类型是unsigned int型

5、#define CWORD ((unsigned int volatile code *) 0)

6、#define DWORD ((unsigned int volatile data *) 0)

7、#define PWORD ((unsigned int volatile pdata *) 0)

8、#define XWORD ((unsigned int volatile xdata *) 0)

七、intrins.h

1、extern void _nop_ (void);

空操作指令,需要一个指令周期

2、extern bit _testbit_ (bit);

该函数对字节中的一个比特进行测试,如果该比特为1则返回1,并置该位为0,否则返回0

3、extern unsigned char _cror_ (unsigned char, unsigned char);

4、extern unsigned int _iror_ (unsigned int, unsigned char);

5、extern unsigned long _lror_ (unsigned long, unsigned char);

将第一个参数循环右移n位,3个函数的参数和返回值类型不同

6、extern unsigned char _crol_ (unsigned char, unsigned char);

7、extern unsigned int _irol_ (unsigned int, unsigned char);

8、extern unsigned long _lrol_ (unsigned long, unsigned char);

将第一个参数循环左移n位,3个函数的不同在于参数和返回值的类型

9、extern unsigned char _chkfloat_(float);

10、extern void _push_ (unsigned char _sfr);

11、extern void _pop_ (unsigned char _sfr);

八、setjmp.h

typedef char jmp_buf[_JBLEN];

1、 extern volatile int setjmp (jmp_buf);

2、extern volatile void longjmp (jmp_buf, int);

因篇幅问题不能全部显示,请点此查看更多更全内容