C语言常用的库函数表
- 格式:docx
- 大小:35.83 KB
- 文档页数:8
c语言函数库目录第一章(C标准库) (4)1. <assert.h>:诊断 (4)2. <ctype.h>:字符类别测试 (5)3. <errno.h>:错误处理 (5)4. <limits.h>:整型常量 (6)5. <locale.h>:地域环境 (6)6. <math.h>:数学函数 (7)7. <setjmp.h>:非局部跳转 (8)8. <signal.h>:信号 (9)9. <stdarg.h>:可变参数表 (11)10. <stddef.h>:公共定义 (11)11. <stdio.h>:输入输出 (12)12. <stdlib.h>:实用函数 (13)13. <time.h>:日期与时间函数 (13)第二章(IO函数) (14)clearerr:复位错误标志函数 (15)feof:检测文件结束符函数 (16)ferror:检测流上的错误函数 (17)fflush:清除文件缓冲区函数 (18)fgetc:从流中读取字符函数 (19)fgetpos:取得当前文件的句柄函数 (20)fgets:从流中读取字符串函数 (21)fopen、fclose:文件的打开与关闭函数 (22)fprintf:格式化输出函数 (23)fputc:向流中输出字符函数 (25)fputs:向流中输出字符串函数 (25)fread:从流中读取字符串函数 (26)freopen:替换文件中数据流函数 (27)fscanf:格式化输入函数 (28)fseek:文件指针定位函数 (29)fsetpos:定位流上的文件指针函数 (30)ftell:返回当前文件指针位置函数 (31)fwrite:向文件写入数据函数 (31)getc:从流中读取字符函数 (32)getchar:从标准输入文件中读取字符函数 (33)gets:从标准输入文件中读取字符串函数 (34)perror:打印系统错误信息函数 (35)printf:产生格式化输出的函数 (35)putc:向指定流中输出字符函数 (36)putchar:向标准输出文件上输出字符 (37)puts:将字符串输出到终端函数 (37)remove:删除文件函数 (38)rename:重命名文件函数 (39)rewind:重置文件指针函数 (39)scanf:格式化输入函数 (40)setbuf、setvbuf:指定文件流的缓冲区函数 (41)sprintf:向字符串写入格式化数据函数 (42)sscanf:从缓冲区中读格式化字符串函数 (43)tmpfile:创建临时文件函数 (43)tmpnam:创建临时文件名函数 (44)ungetc:把字符退回到输入流函数 (45)第三章(字符处理函数) (47)isalnum:检查字符是否是字母或数字 (47)isalpha:检查字符是否是字母 (48)isascii:检查字符是否是ASCII码 (49)iscntrl:检查字符是否是控制字符 (49)isdigit:检查字符是否是数字字符 (50)isgraph:检查字符是否是可打印字符(不含空格) (51)islower:检查字符是否是小写字母 (51)isprint:检查字符是否是可打印字符(含空格) (52)ispunct:检查字符是否是标点字符 (53)isspace:检查字符是否是空格符 (53)isupper:检查字符是否是大写字母 (54)isxdigit:检查字符是否是十六进制数字字符 (55)toascii:将字符转换为ASCII码 (55)tolower:将大写字母转换为小写字母 (56)toupper:将小写字母转换为大写字母 (57)第四章(字符串函数) (57)atof:字符串转浮点型函数 (58)atoi:字符串转整型函数 (59)atol:字符串转长整型函数 (60)memchr:字符搜索函数 (60)memcmp:字符串比较函数 (61)memcpy:字符串拷贝函数 (62)memmove:字块移动函数 (63)memset:字符加载函数 (64)strcat:字符串连接函数 (65)strchr:字符串中字符首次匹配函数 (66)strcmp:字符串比较函数 (67)strcpy:字符串拷贝函数 (68)strcspn:字符集逆匹配函数 (68)strdup:字符串新建拷贝函数 (69)strerror:字符串错误信息函数 (70)strlen:计算字符串长度函数 (71)strlwr:字符串小写转换函数 (72)strncat:字符串连接函数 (73)strncmp:字符串子串比较函数 (73)strncpy:字符串子串拷贝函数 (75)strpbrk:字符集字符匹配函数 (76)strrchr:字符串中字符末次匹配函数 (77)strrev:字符串倒转函数 (78)strset:字符串设定函数 (78)strspn:字符集匹配函数 (79)strstr:字符串匹配函数 (80)strtod:字符串转换成双精度函数 (81)strtok:字符串分隔函数 (82)strtol:字符串转换成长整型函数 (83)strtoul:字符串转换成无符号长整型函数 (84)strupr:字符串大写转换函数 (85)strupr:字符串大写转换函数 (86)第五章(数学函数) (86)abs、labs、fabs:求绝对值函数 (87)acos:反余弦函数 (88)asin:反正弦函数 (89)atan:反正切函数 (89)atan2:反正切函数2 (90)ceil:向上舍入函数 (90)cos :余弦函数 (91)cosh:双曲余弦函数 (91)div、ldiv:除法函数 (92)exp:求e的x次幂函数 (93)floor:向下舍入函数 (93)fmod:求模函数 (94)frexp:分解浮点数函数 (94)hypot:求直角三角形斜边长函数 (95)ldexp:装载浮点数函数 (96)log、log10:对数函数 (96)modf:分解双精度数函数 (97)pow、pow10:指数函数 (98)rand:产生随机整数函数 (98)sin:正弦函数 (99)sinh:双曲正弦函数 (99)sqrt:开平方函数 (100)srand:设置随机时间的种子函数 (100)tan:正切函数 (101)tanh:双曲正切函数 (102)第六章(时间和日期函数) (102)asctime:日期和时间转换函数 (102)clock:测定运行时间函数 (103)ctime:时间转换函数 (104)difftime:计算时间差函数 (105)gmtime:将日历时间转换为GMT (106)localtime:把日期和时间转变为结构 (106)mktime:时间类型转换函数 (107)time:获取系统时间函数 (108)第七章(其它函数) (109)abort:异常终止进程函数 (109)atexit:注册终止函数 (110)bsearch:二分搜索函数 (110)calloc:分配主存储器函数 (112)exit:正常终止进程函数 (113)free:释放内存函数 (114)getenv:获取环境变量 (114)malloc:动态分配内存函数 (115)qsort:快速排序函数 (116)realloc:重新分配主存函数 (117)第一章(C标准库)1. <assert.h>:诊断2. <ctype.h>:字符类别测试3. <errno.h>:错误处理4. <limits.h>:整型常量5. <locale.h>:地域环境6. <math.h>:数学函数7. <setjmp.h>:非局部跳转8. <signal.h>:信号9. <stdarg.h>:可变参数表10. <stddef.h>:公共定义11. <stdio.h>:输入输出12. <stdlib.h>:实用函数13. <time.h>:日期与时间函数1. <assert.h>:诊断<assert.h>中只定义了一个带参的宏assert,其定义形式如下:void assert (int 表达式)assert宏用于为程序增加诊断功能,它可以测试一个条件并可能使程序终止。
C语言的常用库函数函数1。
absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num 个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。
参数:drive=0对应A盘,drive=1对应B盘。
返回值:0:成功;-1:失败。
头文件:dos.h函数2。
abswrite()写磁盘绝对扇区函数原形:int abswrite(int drive,int nsects,int lsect,void *buffer)drive=0(A驱动器)、1(B驱动器)、nsects=要写的扇区数(最多64K个);lsect=起始逻辑扇区号;buffer=要写入数据的内存起始地址。
功能:将指定内容写入(调用DOS中断0x26)磁盘上的指定扇区,即使写入的地方是磁盘的逻辑结构、文件、FAT表和目录结构所在的扇区,也照常进行。
返回值:0:成功;-1:失败。
头文件:dos.h函数3。
atof()将字符串转换成浮点数的函数原形:double atof(const char *s)功能:把s所指向的字符串转换成double类型。
s格式为:符号数字.数字E符号数字返回值:字符串的转换值。
头文件:math.h、stdlib.h函数4。
atoi()将字符串转换成整型数的函数原形:int atoi(const char *s)功能:把s所指向的字符串转换成int类型。
s格式为:符号数字返回值:字符串的转换值。
若出错则返回0。
头文件:stdlib.h函数5。
atol()将字符串转换成长整型数的函数原形:long atol(const char *s)功能:把s所指向的字符串转换成long int类型。
s格式为:符号数字返回值:字符串的转换值。
常用C语言标准库函数C语言编译系统提供了众多的预定义库函数和宏。
用户在编写程序时,可以直接调用这些库函数和宏。
这里选择了初学者常用的一些库函数,简单介绍了各函数的用法和所在的头文件。
1.测试函数Isalnum原型:int isalnum(int c)功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:int isapha(int c)功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:int isascii(int c)功能:测试参数c是否为ASCII码(0x00~0x7F):是则返回非零;否则返回零头文件:ctype.hIscntrl原型:int iscntrl(int c)功能:测试参数c是否为控制字符(0x00~0x1F、0x7F):是则返回非零;否则返回零头文件:ctype.hIsdigit原型:int isdigit(int c)功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.hIsgraph原型:int isgraph(int c)功能:测试参数c是否为可打印字符(0x21~0x7E):是则返回非零;否则返回零头文件:ctype.hIslower原型:int islower(int c)功能:测试参数c是否为小写字母:是则返回非零;否则返回零 头文件:ctype.hIsprint原型:int isprint(int c)功能:测试参数c是否为可打印字符(含空格符0x20~0x7E):是则返回非零;否则返回零头文件:ctype.hIspunct原型:int ispunct(int c)功能:测试参数c是否为标点符号:是则返回非零;否则返回零 头文件:ctype.hIsupper原型:int isupper(inr c)功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:int isxdigit(int c)功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:int abs(int i)功能:返回整数型参数i的绝对值头文件:stdlib.h,math.hacos原型:double acos(double x)功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:double asin(double x)功能:返回双精度参数x的反正弦三角函数值头文件:math.hatan原型:double atan(double x)功能:返回双精度参数的反正切三角函数值头文件:math.hatan2原型:double atan2(double y,double x)功能:返回双精度参数y和x由式y/x所计算的反正切三角函数值 头文件:math.hcabs原型:double cabs(struct complex znum)功能:返回一个双精度数,为计算出复数znum的绝对值。
c链表库函数全文共四篇示例,供读者参考第一篇示例:C语言是一种广泛应用于系统编程的高级语言,而链表(Linked List)是C语言中常用的数据结构之一。
在C语言中,链表并不像数组一样有现成的库函数可以直接调用,需要通过自定义函数来实现链表的操作。
为了方便使用链表,不少开发者封装了链表操作的库函数,提供了一些常用的链表操作接口,以供开发者使用。
本文将介绍一些常见的C链表库函数及其用法。
一、链表的概念及基本操作链表是一种线性表的存储结构,由若干节点(Node)组成,每个节点包含数据域和指针域。
数据域用于存放数据,指针域用于指向下一个节点。
链表的最后一个节点指针域为空(NULL),表示链表的末尾。
常见的链表操作包括创建链表、插入节点、删除节点、遍历链表、查找节点等。
下面我们来看看C语言中常用的链表库函数。
二、常见的C链表库函数1. 创建链表在C语言中,创建链表的函数通常包括初始化链表头节点和链表节点的操作。
```#include <stdio.h>#include <stdlib.h>//定义链表节点typedef struct node {int data;struct node* next;} Node;2. 插入节点插入节点是链表操作中的重要操作,可以在链表的任意位置插入新节点。
常见的插入方式包括头部插入和尾部插入。
```//头部插入节点void insertNodeAtHead(Node* head, int data) {Node* newNode = (Node*)malloc(sizeof(Node));newNode->data = data;newNode->next = head->next;head->next = newNode;}以上是常见的C链表库函数,这些函数可以帮助我们更方便地操作链表。
在实际开发中,可以根据需要自定义更多的链表操作函数,以满足具体的需求。
c语言函数库目录第一章(C标准库) (8)1. <assert.h>:诊断 (8)2. <ctype.h>:字符类别测试 (9)3. <errno.h>:错误处理 (10)4. <limits.h>:整型常量 (11)5. <locale.h>:地域环境 (12)6. <math.h>:数学函数 (14)7. <setjmp.h>:非局部跳转 (15)8. <signal.h>:信号 (17)9. <stdarg.h>:可变参数表 (20)10. <stddef.h>:公共定义 (21)11. <stdio.h>:输入输出 (22)12. <stdlib.h>:实用函数 (24)13. <time.h>:日期与时间函数 (25)第二章(IO函数) (27)clearerr:复位错误标志函数 (29)feof:检测文件结束符函数 (30)ferror:检测流上的错误函数 (31)fflush:清除文件缓冲区函数 (32)fgetpos:取得当前文件的句柄函数 (35)fgets:从流中读取字符串函数 (36)fopen、fclose:文件的打开与关闭函数 (37)fprintf:格式化输出函数 (39)fputc:向流中输出字符函数 (41)fputs:向流中输出字符串函数 (41)fread:从流中读取字符串函数 (42)freopen:替换文件中数据流函数 (43)fscanf:格式化输入函数 (44)fseek:文件指针定位函数 (45)fsetpos:定位流上的文件指针函数 (47)ftell:返回当前文件指针位置函数 (48)fwrite:向文件写入数据函数 (49)getc:从流中读取字符函数 (50)getchar:从标准输入文件中读取字符函数 (51)gets:从标准输入文件中读取字符串函数 (52)perror:打印系统错误信息函数 (53)printf:产生格式化输出的函数 (54)putc:向指定流中输出字符函数 (54)putchar:向标准输出文件上输出字符 (56)puts:将字符串输出到终端函数 (56)rename:重命名文件函数 (58)rewind:重置文件指针函数 (59)scanf:格式化输入函数 (60)setbuf、setvbuf:指定文件流的缓冲区函数 (61)sprintf:向字符串写入格式化数据函数 (62)sscanf:从缓冲区中读格式化字符串函数 (63)tmpfile:创建临时文件函数 (64)tmpnam:创建临时文件名函数 (65)ungetc:把字符退回到输入流函数 (66)第三章(字符处理函数) (68)isalnum:检查字符是否是字母或数字 (68)isalpha:检查字符是否是字母 (69)isascii:检查字符是否是ASCII码 (70)iscntrl:检查字符是否是控制字符 (71)isdigit:检查字符是否是数字字符 (72)isgraph:检查字符是否是可打印字符(不含空格) (73)islower:检查字符是否是小写字母 (74)isprint:检查字符是否是可打印字符(含空格) (75)ispunct:检查字符是否是标点字符 (75)isspace:检查字符是否是空格符 (76)isupper:检查字符是否是大写字母 (77)isxdigit:检查字符是否是十六进制数字字符 (78)toascii:将字符转换为ASCII码 (79)tolower:将大写字母转换为小写字母 (80)toupper:将小写字母转换为大写字母 (80)第四章(字符串函数) (81)atof:字符串转浮点型函数 (83)atoi:字符串转整型函数 (84)atol:字符串转长整型函数 (85)memchr:字符搜索函数 (85)memcmp:字符串比较函数 (86)memcpy:字符串拷贝函数 (87)memmove:字块移动函数 (89)memset:字符加载函数 (90)strcat:字符串连接函数 (91)strchr:字符串中字符首次匹配函数 (92)strcmp:字符串比较函数 (93)strcpy:字符串拷贝函数 (95)strcspn:字符集逆匹配函数 (96)strdup:字符串新建拷贝函数 (97)strerror:字符串错误信息函数 (98)strlen:计算字符串长度函数 (99)strlwr:字符串小写转换函数 (100)strncmp:字符串子串比较函数 (102)strncpy:字符串子串拷贝函数 (103)strpbrk:字符集字符匹配函数 (104)strrchr:字符串中字符末次匹配函数 (106)strrev:字符串倒转函数 (107)strset:字符串设定函数 (108)strspn:字符集匹配函数 (109)strstr:字符串匹配函数 (110)strtod:字符串转换成双精度函数 (111)strtok:字符串分隔函数 (112)strtol:字符串转换成长整型函数 (114)strtoul:字符串转换成无符号长整型函数 (115)strupr:字符串大写转换函数 (116)strupr:字符串大写转换函数 (117)第五章(数学函数) (118)abs、labs、fabs:求绝对值函数 (119)acos:反余弦函数 (120)asin:反正弦函数 (121)atan:反正切函数 (122)atan2:反正切函数2 (122)ceil:向上舍入函数 (123)cosh:双曲余弦函数 (124)div、ldiv:除法函数 (125)exp:求e的x次幂函数 (126)floor:向下舍入函数 (127)fmod:求模函数 (128)frexp:分解浮点数函数 (128)hypot:求直角三角形斜边长函数 (129)ldexp:装载浮点数函数 (130)log、log10:对数函数 (130)modf:分解双精度数函数 (131)pow、pow10:指数函数 (132)rand:产生随机整数函数 (133)sin:正弦函数 (134)sinh:双曲正弦函数 (134)sqrt:开平方函数 (135)srand:设置随机时间的种子函数 (135)tan:正切函数 (136)tanh:双曲正切函数 (137)第六章(时间和日期函数) (138)asctime:日期和时间转换函数 (138)clock:测定运行时间函数 (139)difftime:计算时间差函数 (141)gmtime:将日历时间转换为GMT (142)localtime:把日期和时间转变为结构 (143)mktime:时间类型转换函数 (144)time:获取系统时间函数 (145)第七章(其它函数) (146)abort:异常终止进程函数 (147)atexit:注册终止函数 (147)bsearch:二分搜索函数 (148)calloc:分配主存储器函数 (150)exit:正常终止进程函数 (151)free:释放内存函数 (152)getenv:获取环境变量 (153)malloc:动态分配内存函数 (154)qsort:快速排序函数 (155)realloc:重新分配主存函数 (156)第一章(C标准库)1. <assert.h>:诊断2. <ctype.h>:字符类别测试3. <errno.h>:错误处理4. <limits.h>:整型常量5. <locale.h>:地域环境6. <math.h>:数学函数7. <setjmp.h>:非局部跳转8. <signal.h>:信号9. <stdarg.h>:可变参数表10. <stddef.h>:公共定义11. <stdio.h>:输入输出12. <stdlib.h>:实用函数13. <time.h>:日期与时间函数1. <assert.h>:诊断<assert.h>中只定义了一个带参的宏assert,其定义形式如下:void assert (int 表达式)assert宏用于为程序增加诊断功能,它可以测试一个条件并可能使程序终止。
我们知道一个程序需要对数据进行各种处理,而数学函数库中的函数是对数据进行计算处理的常用手段,当然也就是程序设计当中最为常见的操作之一,今天这篇介绍C语言中数学函数库中的一些常用函数,当然你也可以自己编写相关的数学函数,但是需要你懂得一些数学知识,如编写sin函数,计算任意弧度的sin值,因此你可以使用泰勒级数来编写程序,当然你知道数学函数库中的一些常用函数,会减去不少麻烦,下面就介绍几个数学函数库中一些常用函数。
一、cos()函数:一般形式为:double cos(double x);功能:获取参数x的余弦值。
参数:参数x是弧度,1弧度=180/π度。
返回值:参数x的余弦值。
范例:cos范例运行结果:运行结果二、sin()函数:其一般形式为:double sin(double x);功能:获取双精度数x的正弦值。
参数:参数x是需要求正弦值的双精度数,x指的是弧度,弧度计算同上。
返回值:返回弧度x的正弦值。
范例:sin范例运行结果:输入30度时的运行结果三、tan()函数:一般形式为:double tan(double x);功能:求指定参数x的正切值。
参数:双精度x指弧度制。
返回值:返回x的正切值。
范例:tan范例运行结果:45度时的运行结果当然在数学中tan(90°)是不存在的,其值无穷大,只能无限接近x=π/2,这条线,但是在计算机中是没法表示超越数π的,因此你是没办法在电脑中输入真正π/2值的,其实其他也是,只要近似值就可以了,但对于用户输入90度倍数的值时,应该在程序中对于这一特殊值,做相应处理。
,当然这些话完全可以不用说,因为大家都知道。
四、asin()反正弦值函数:该函数的一般形式为:double asin(double x);功能:用于得到给定参数的反正弦值。
参数:x必须介于[-1,1]之间,因为sin()函数值范围为[-1,1]。
返回值:该函数返回x反正弦值(范围[-π/2,π/2]),其实就是弧度,要是想把弧度转换成角度,则x*180/π。
c语言颜色字体库函数
C语言中的颜色字体库函数是一组用于改变控制台输出文字颜色和字体的函数。
这些函数可以让程序员在控制台输出文字时,更好地区分不同的信息,增强程序的可读性和美观度。
在C语言中,常用的颜色字体库函数有以下几种:
1. textcolor():用于改变文字的颜色,可以接受一个整数参数,代表要改变的颜色值。
2. textbackground():用于改变文字的背景颜色,可以接受一个整数参数,代表要改变的颜色值。
3. textmode():用于改变文字的显示模式,可以接受一个整数参数,代表要改变的模式值。
4. textattr():用于同时改变文字的颜色、背景颜色和显示模式,可以接受一个整数参数,代表要改变的属性值。
使用这些函数可以非常方便地改变控制台输出文字的颜色和样式,从而让程序输出更加生动、形象。
同时,在进行调试或输出一些特殊信息时,也可以利用这些函数让输出内容更加突出,方便快速定位问题或者提醒用户注意。
- 1 -。
4.2.2数学库函数C/C++程序通常用标准库函数和程序员编写的新函数写成。
各种C/C++版本都提供函数库,这些函数能够完成常用的数学计算、字符串操作、输入输出以及其它很多操作。
这些函数为程序员编写程序提供了很多方便,很多操作都可以调用标准库函数去完成,因此可以减少程序员的工作量。
除了库函数以外,程序员也可以自己定义一些函数完成某些特殊的任务。
下面以数学函数为例介绍库函数的使用,后面各章中也将逐步介绍其它库函数的使用。
使用库函数时,要根据函数的类别,用预处理命令#include将函数所在的头文件包含进来。
例如,使用数学库中的函数时,应该首先用预处理命令#include<math.h>指明要用到的数学函数的描述所在的头文件。
调用数学函数时,要给出函数名,后面是一对圆括号,括号内是使用函数所需的参数,参数可以是常量、变量或表达式。
例如,计算并打印2的3次方的语句可以写成:printf(“%7.2f”,pow(2.0,3.0));调用的数学函数pow需要两个参数,这两个参数都是double型的,返回值也是double 型的,语句执行结果为打印8.00。
数学库中所有函数的参数和返回值都是double类型的。
常用的数学函数见表4-2。
表4-2常用的数学函数(头文件math.h)函数原型函数功能函数返回值int abs(int x)求整数x的绝对值返回x的绝对值double fabs(double x)求实数x的绝对值返回实数x的绝对值double exp(double x)求e x返回e的x次方x,即lnx返回以e为底x的对数值double log(double x)求logedouble log10(double x)求logx返回以10为底x的对数值10求x y返回x的y次方double pow(double x,doubley)double cos(double x)求x的余弦值返回弧度x的余弦值double sin(double x)求x的正弦值返回弧度x的正弦值double tan(double x)求x的正切值返回弧度x的正切值double fmod(double x)求x/y的余数返回x/y的余数值double sqrt(double x)计算x的平方根返回x平方根值【例4-1】输入三角形的三边长,求三角形的面积。
c语言常用库函数c 语言常用库函数包括:1. 标准库函数:这些函数在程序的源文件中可以直接使用,不需要额外的安装,最常用的有 printf() , scanf() , getchar() , putchar() , malloc () , calloc () , realloc () , free () 、sprintf() , sscanf () 等。
2. 文件读写:文件读写是编程中最常用到的函数之一,常用的是fopen() , fclose() , fread() , fwrite() , fseek () , ftell() 等。
3. 字符串处理:字符串处理也是个重要块,常用的有 strlen() , strcpy() , strcat() , strcmp() , strncmp() , strchr() ,strrchr() , strstr() , strspn() , strpbrk() , strtok() 等。
4. 内存操作:内存操作相关的常用函数有 memset() ,memcpy() , memmove() , memcmp() 等。
5. 数学计算:c 语言中的数学计算函数有 abs() , fabs() ,floor() , ceil() , log() , exp() , pow() , sin() , cos() ,tan() , asin() , acos() , atan() 等。
6. 时间日期:相关的函数有 time() , clock() , localtime() , gmtime() , mktime() 等。
7. 其它:还有一些常用的函数如 qsort() , rand() , srand() , system() 等。
嵌⼊式开发中常⽤到的C语⾔库函数1.sprintf 函数原型:int sprintf(char *string,char *format,[argument,...]); sprintf函数说明:字符串格式化命令,主要功能是将格式化数据写⼊某个字符串中,即发送格式化输出到string所指向的字符串。
函数返回值:字符串长度 eg:sprintf(s,"%s%d%c","test",1,'2'); /*即把后⾯的参数按照指定格式输⼊到字符串s中*/ 包含头⽂件:<stdio.h> 注意:sprintf是⼀个变参函数,使⽤sprintf对于写⼊buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。
解决这个问题,可以考虑使⽤snpintf函数,该函数对可写⼊的字符数做出了限制。
2.snprintf 函数原型:int snprintf(char *str,size_t size,const char *format,[argument...]) snprintf函数说明:将可变参数按照format的格式格式化为字符串,拷贝到str中,⾄多拷贝size - 1个字符到⽬标串中,然后再在后⾯加⼀个0。
函数返回值:若成功则返回欲写⼊的字符串长度,若出错则返回负值。
eg:char a='a'; char str[3]; snprintf(str,sizeof(str),"%02x",a); 包含头⽂件:<stdio.h>3.fseek 函数原型:fseek(FILE *stream,long offset,int fromwhere) fseek函数说明:设置⽂件指针stream的位置。
如果执⾏成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。
(一)输入输出常用函数1,printf(1)有符号int%[-][+][0][width][.precision][l][h]d-:左对齐+:正数前加‘+’0:右对齐,acwidth<width,左补零.precision:至少输出位数。
若实际的位数>.precision,按实际输出,否者左边补零(2)无符号int%[-][#][0][width][.precision][l][h]u|o|x|X#:”%o%x/X”输出0,0x,0X.precision:同上,TC/BC包含0x/X,VC下不包含(3)实数输出%[-][+][#][0][width][.precision][l][L]f|e|E|g|G#:必须输出小数点.precision:小数位数(四舍五入)(4)字符和字符串的输出%[-][0][width]c%[-][0][width][.precision]s.precision:S的前precision位2,scanf%[*][width][l][h]TypeWith:指定输入数据的宽度,遇空格、Tab、\n结束*:抑制符scanf(“%2d%*2d%3d”,&num1,&num2)输入123456789\n;num1==12,num2==567.注意:(1)指定width时,读取相应width位,但按需赋值Scanf(“%3c%3c”,&ch1,&ch2)输入a bc d efg ch1==a ch2==d(2)%c输入单字符时“空格、转义字符”均是有效字符(二)ascll字符/字符串/文件函数1;字符非格式化输入函数(1)int getchar(void)接受字符,以回车结束,回显(2)int getc(FILE*stream)从stream中接受字符,以回车结束,回显stream=stdin时,(1)==(2)(3)int getche(void)直接读取字符,回显conio.h(4)int getchar(void)直接读取字符,不回显conio.h注意:(1,2)对于回车键返回‘\n’(3,4)对于回车键返回‘\r’2;字符/串非格式化输出函数(1)int putchar(int c)正常返回字符代码值,出错返回EOF(2)int putc(int c,FILE*stream)正常返回字符代码值,出错返回EOF stream==stdout(1)=(2)(3)int puts(char*stream)自动回车换行1;字符串的赋值#include<string.h memory.h>Void*memset(void*s,char ch,unsigned n)将以S为首地址的,一片连续的N个字节内存单元赋值为CH.Void*memcpy(void*d,void*s,unsigned n)将以S为首地址的一片连续的N个字节内存单元的值拷贝到以D为首地址的一片连续的内存单元中。
(一)输入输出常用函数1,printf(1)有符号int%[-][+][0][width][.precision][l][h] d-:左对齐+:正数前加‘+’0:右对齐,acwidth<width,左补零.precision:至少输出位数。
若实际的位数>.precision,按实际输出,否者左边补零(2)无符号int%[-][#][0][width][.precision][l][h] u|o|x|X#:”%o %x/X”输出0,0x,0X.precision:同上,TC/BC包含0x/X,VC下不包含(3)实数输出%[-][+][#][0][width][.precision][l][L] f|e|E|g|G#:必须输出小数点.precision:小数位数(四舍五入)(4)字符和字符串的输出%[-][0][width] c %[-][0][width] [.precision] s.precision:S的前precision位2,scanf%[*][width] [l][h]TypeWith:指定输入数据的宽度,遇空格、Tab、\n结束*:抑制符scanf(“%2d%*2d%3d”,&num1,&num2) 输入123456789\n;num1==12,num2==567.注意:(1)指定width时,读取相应width位,但按需赋值Scanf(“%3c%3c”,&ch1,&ch2)输入a bc d efg ch1==a ch2==d(2)%c 输入单字符时“空格、转义字符”均是有效字符(二)ascll字符/字符串/文件函数1;字符非格式化输入函数(1)int getchar(void) 接受字符,以回车结束,回显(2)int getc(FILE*stream) 从stream中接受字符,以回车结束,回显stream=stdin时,(1)==(2)(3)int getche(void) 直接读取字符,回显conio.h(4)int getchar(void) 直接读取字符,不回显conio.h注意:(1,2)对于回车键返回‘\n’(3,4)对于回车键返回‘\r’2;字符/串非格式化输出函数(1)int putchar(int c) 正常返回字符代码值,出错返回EOF(2)int putc(int c,FILE*stream) 正常返回字符代码值,出错返回EOF stream==stdout(1)=(2)(3)int puts(char*stream) 自动回车换行1;字符串的赋值#include< string.h memory.h >Void *memset (void *s, char ch, unsigned n)将以S为首地址的,一片连续的N个字节内存单元赋值为CH.Void *memcpy ( void *d, void*s, unsigned n)将以S为首地址的一片连续的N个字节内存单元的值拷贝到以D为首地址的一片连续的内存单元中。
C51的常用库函数详解C51语言的编译器中包含有丰富的库函数,使用库函数可以大大简化用户程序设计的工作量,提高编程效率。
每个库函数都在相应的头文件中给出了函数原型声明,在使用时,必须在源程序的开始处使用预处理命令#include将有关的头文件包含进来。
C51库函数中类型的选择考虑到了8051单片机的结构特性,用户在自己的应用程序中应尽可能地使用最小的数据类型,以最大限度地发挥8051单片机的性能,同时可减少应用程序的代码长度。
下面将C51的库函数分类列出并详细介绍其用法。
1 字符函数字符函数的原型声明包含在头文件CTYPE.H中。
常用的一些字符函数介绍如下。
1.1 检查英文字母函数检查英文字母函数用于检查形参字符是否为英文字母,其函数原型如下:bit isalpha(char c);其中,c为待判断的字符,如果是英文字母则返回1,否则返回0。
程序示例如下:1.2 检查字母数字函数检查字母数字函数用于检查形参字符是否为英文字母或数字字符,其函数原型如下:bit isalnum(char c);1.3 检查控制字符函数检查控制字符函数用于检查形参字符是否为控制字符,其函数原型:bit iscntrl (char c);其中,c为待判断的字符。
控制字符其取值范围为0x00~0xlF之间或等于0x7F,如果是,则返回1,否则返回0。
1.4 十进制数字检查函数十进制数字检查函数用于检查形参字符是否为十进制数字,其函数原型如下:bit isdigit (char c);其中,c为待判断的字符,如果是十进制数字则返回1,否则返回0。
1.5 可打印字符检查函数可打印字符检查函数用于检查形参字符是否为可打印字符,其函数原型如下:bit isgraph (char c);其中,c为待判断的字符。
可打印字符的取值范围为0x21~0x7C,不包含空格,如果是可打印字符则返回1,否则返回0。
1.6 包含空格的可打印字符检查函数包含空格的可打印字符检查函数用于检查形参字符是否为可打印字符以及空格,其函数原型如下:bit isprint (char c);其中,c为待判断字符。
附录C C语言常用的库函数库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。
每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。
ANSI C标准提出了一批建议提供的标准库函数。
它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。
考虑到通用性,本附录列出ANSI C建议的常用库函数。
由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。
读者在编写C程序时可根据需要,查阅有关系统的函数使用手册。
1.数学函数使用数学函数时,应该在源文件中使用预编译命令:#include <math.h>或#include "math.h"函数名函数原型功能返回值acos double acos(doublex);计算arccos x的值,其中-1<=x<=1计算结果asin double asin(doublex);计算arcsin x的值,其中-1<=x<=1计算结果atan double atan(doublex);计算arctan x的值计算结果atan2doubleatan2(double x,double y);计算arctan x/y的值计算结果cos double cos(doublex);计算cos x的值,其中x的单位为弧度计算结果cosh double cosh(doublex);计算x的双曲余弦cosh x的值计算结果exp double exp(doublex);求ex的值计算结果fabs double fabs(doublex);求x的绝对值计算结果floor doublefloor(double x);求出不大于x的最大整数该整数的双精度实数fmod double fmod(doublex, double y);求整除x/y的余数返回余数的双精度实数frexp doublefrexp(double val,int *eptr);把双精度数val分解成数字部分(尾数)和以2为底的指数,即val=x*2n,n存放在eptr指向的变量中数字部分x0.5<=x<1log double log(doublex);求lnx的值计算结果log10doublelog10(double x);求log10x的值计算结果modf double modf(doubleval, int *iptr);把双精度数val分解成数字部分和小数部分,把整数部分存放在ptr指向的变量中val的小数部分pow double pow(doublex, double y);求xy的值计算结果sin double sin(doublex);求sin x的值,其中x的单位为弧度计算结果sinh double sinh(doublex);计算x的双曲正弦函数sinh x的值计算结果sqrt double sqrt(double x);计算,其中x≥0计算结果tan double tan(doublex);计算tan x的值,其中x的单位为弧度计算结果tanh double tanh(doublex);计算x的双曲正切函数tanh x的值计算结果2.字符函数在使用字符函数时,应该在源文件中使用预编译命令:#include <ctype.h>或#include "ctype.h"函数名函数原型功能返回值isalnum int isalnum(intch);检查ch是否字母或数字是字母或数字返回1,否则返回0isalpha int isalpha(intch);检查ch是否字母是字母返回1,否则返回0iscntrl int iscntrl(intch);检查ch是否控制字符(其ASCII码在0和0xlF之间)是控制字符返回1,否则返回0isdigit int isdigit(intch);检查ch是否数字是数字返回1,否则返回0isgraph int isgraph(intch);检查ch是否是可打印字符(其ASCII码在0x21和0x7e之间),不包括空格是可打印字符返回1,否则返回0islower int islower(intch);检查ch是否是小写字母(a~z)是小字母返回1,否则返回0isprint int isprint(intch);检查ch是否是可打印字符(其ASCII码在0x21和0x7e之间),不包括空格是可打印字符返回1,否则返回0ispunct int ispunct(intch);检查ch是否是标点字符(不包括空格)即除字母、数字和空格以外的所有可打印字符是标点返回1,否则返回0isspace int isspace(intch);检查ch是否空格、跳格符(制表符)或换行符是,返回1,否则返回0isupper int isupper(intch);检查ch是否大写字母(A~Z)是大写字母返回1,否则返回0isxdigit intisxdigit(intch);检查ch是否一个16进制数字(即0~9,或A到F,a~f)是,返回1,否则返回0tolower int tolower(intch);将ch字符转换为小写字母返回ch对应的小写字母toupper int toupper(intch);将ch字符转换为大写字母返回ch对应的大写字母3.字符串函数使用字符串中函数时,应该在源文件中使用预编译命令:#include <string.h>或#include "string.h"函数名函数原型功能返回值memchr void memchr(void *buf, char ch,unsigned count);在buf 的前count 个字符里搜索字符ch首次出现的位置返回指向buf 中ch 的第一次出现的位置指针。
Keil C51库函数参考C51强大功能及其高效率的重要体现之一在于其丰富的可直接调用的库函数,多使用库函数使程序代码简单,结构清晰,易于调试和维护,下面介绍C51的库函数系统。
第一节本征库函数(i n t ri ns i c rou t i ne s)和非本征证库函数C51提供的本征函数是指编译时直接将固定的代码插入当前行,而不是用ACALL和LCALL语句来实现,这样就大大提供了函数访问的效率,而非本征函数则必须由ACALL及LCALL调用。
C51的本征库函数只有9个,数目虽少,但都非常有用,列如下:_crol_,_cror_:将char型变量循环向左(右)移动指定位数后返回_iror_,_irol_:将int型变量循环向左(右)移动指定位数后返回_lrol_,_lror_:将long型变量循环向左(右)移动指定位数后返回_nop_:相当于插入NOP_testbit_:相当于JBC bitvar测试该位变量并跳转同时清除。
_chkfloat_:测试并返回源点数状态。
使用时,必须包含#inclucle <intrins.h>一行。
如不说明,下面谈到的库函数均指非本征库函数。
第二节几类重要库函数1. 专用寄存器include文件例如8031、8051均为REG51.h其中包括了所有8051的SFR及其位定义,一般系统都必须包括本文件。
2. 绝对地址include文件absacc.h该文件中实际只定义了几个宏,以确定各存储空间的绝对地址。
3. 动态内存分配函数,位于stdlib.h中4. 缓冲区处理函数位于“string.h”中其中包括拷贝比较移动等函数如:memccpy memchr memcmp memcpy memmove memset这样很方便地对缓冲区进行处理。
5. 输入输出流函数,位于“stdio.h”中流函数通8051的串口或用户定义的I/O口读写数据,缺省为8051串口,如要修改,比如改为LCD显示,可修改lib目录中的getkey.c及putchar.c源文件,然后在库中替换它们即可。
附录C C语言常用的库函数
库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。
每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。
ANSIC标准提出了一批建议提供的标准库函数。
它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。
考虑到通用性,本附录列出ANSIC建议的常用库函数。
由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。
读者在编写C程序时可根据需要,查阅有关系统的函数使用手册。
1.数学函数
使用数学函数时,应该在源文件中使用预编译命令:
2.字符函数
在使用字符函数时,应该在源文件中使用预编译命令:
3.字符串函数
使用字符串中函数时,应该在源文件中使用预编译命令:
4.输入输出函数
在使用输入输出函数时,应该在源文件中使用预编译命令:
5.动态存储分配函数
在使用动态存储分配函数时,应该在源文件中使用预编译命令:
6.其他函数
有些函数由于不便归入某一类,所以单独列出。
使用这些函数时,应该在源文件中使用预编译命令:。
C语⾔常⽤函数⼤全⼀、数学函数调⽤数学函数时,要求在源⽂件中包下以下命令⾏:#include <math.h>函数原型说明功能返回值说明int abs( int x)求整数x的绝对值计算结果double fabs(double x)求双精度实数x的绝对值计算结果double acos(double x)计算cos-1(x)的值计算结果x在-1~1范围内double asin(double x)计算sin-1(x)的值计算结果x在-1~1范围内double atan(double x)计算tan-1(x)的值计算结果double atan2(double x)计算tan-1(x/y)的值计算结果double cos(double x)计算cos(x)的值计算结果x的单位为弧度double cosh(double x)计算双曲余弦cosh(x)的值计算结果double exp(double x)求e x的值计算结果double fabs(double x)求双精度实数x的绝对值计算结果double floor(double x)求不⼤于双精度实数x的最⼤整数double fmod(double x,double y)求x/y整除后的双精度余数double frexp(double val,int *exp)把双精度val分解尾数和以2为底的指数n,即val=x*2n,n存放在exp所指的变量中返回位数x 0.5≤x<1double log(double x)求㏑x计算结果x>0 double log10(double x)求log10x计算结果x>0double modf(double val,double*ip)把双精度val分解成整数部分和⼩数部分,整数部分存放在ip所指的变量中返回⼩数部分double pow(double x,double y)计算x y的值计算结果double sin(double x)计算sin(x)的值计算结果x的单位为弧度double sinh(double x)计算x的双曲正弦函数sinh(x)的值计算结果double sqrt(double x)计算x的开⽅计算结果x≥0double tan(double x)计算tan(x)计算结果double tanh(double x)计算x的双曲正切函数tanh(x)的值计算结果⼆、字符函数调⽤字符函数时,要求在源⽂件中包下以下命令⾏:#include <ctype.h>函数原型说明功能返回值int isalnum(int ch)检查ch是否为字母或数字是,返回1;否则返回0int isalpha(int ch)检查ch是否为字母是,返回1;否则返回0int iscntrl(int ch)检查ch是否为控制字符是,返回1;否则返回0int isdigit(int ch)检查ch是否为数字是,返回1;否则返回0int isgraph(int ch)检查ch是否为ASCII码值在ox21到ox7e的可打印字符(即不包含空格字符)是,返回1;否则返回0int islower(int ch)检查ch是否为⼩写字母是,返回1;否则返回0int isprint(int ch)检查ch是否为包含空格符在内的可打印字符是,返回1;否则返回0int ispunct(int ch)检查ch是否为除了空格、字母、数字之外的可打印字符是,返回1;否则返回0int isspace(int ch)检查ch是否为空格、制表或换⾏符是,返回1;否则返回0int isupper(int ch)检查ch是否为⼤写字母是,返回1;否则返回0int isxdigit(int ch)检查ch是否为16进制数是,返回1;否则返回0int tolower(int ch)把ch中的字母转换成⼩写字母返回对应的⼩写字母int toupper(int ch)把ch中的字母转换成⼤写字母返回对应的⼤写字母三、字符串函数调⽤字符函数时,要求在源⽂件中包下以下命令⾏:#include <string.h>函数原型说明功能返回值char *strcat(char *s1,char *s2)把字符串s2接到s1后⾯s1所指地址char *strchr(char *s,int ch)在s所指字符串中,找出第⼀次出现字符ch的位置返回找到的字符的地址,找不到返回NULLint strcmp(char *s1,char *s2)对s1和s2所指字符串进⾏⽐较s1<s2,返回负数;s1= =s2,返回0;s1>s2,返回正数char *strcpy(char *s1,char *s2)把s2指向的串复制到s1指向的空间s1 所指地址unsigned strlen(char *s)求字符串s的长度返回串中字符(不计最后的'\0')个数char *strstr(char *s1,char *s2)在s1所指字符串中,找出字符串s2第⼀次出现的位置返回找到的字符串的地址,找不到返回NULL四、输⼊输出函数调⽤字符函数时,要求在源⽂件中包下以下命令⾏:#include <stdio.h>函数原型说明功能返回值void clearer(FILE *fp)清除与⽂件指针fp有关的所有出错信息⽆int fclose(FILE *fp)关闭fp所指的⽂件,释放⽂件缓冲区出错返回⾮0,否则返回0int feof (FILE *fp)检查⽂件是否结束遇⽂件结束返回⾮0,否则返回0int fgetc (FILE *fp)从fp所指的⽂件中取得下⼀个字符出错返回EOF,否则返回所读字符char *fgets(char *buf,int n, FILE *fp)从fp所指的⽂件中读取⼀个长度为n-1的字符串,将其存⼊buf所指存储区返回buf所指地址,若遇⽂件结束或出错返回NULLFILE *fopen(char *filename,char*mode)以mode指定的⽅式打开名为filename的⽂件成功,返回⽂件指针(⽂件信息区的起始地址),否则返回NULLint fprintf(FILE *fp, char *format, args,…)把args,…的值以format指定的格式输出到fp指定的⽂件中实际输出的字符数int fputc(char ch, FILE *fp)把ch中字符输出到fp指定的⽂件中成功返回该字符,否则返回EOFint fputs(char *str, FILE *fp)把str所指字符串输出到fp所指⽂件成功返回⾮负整数,否则返回-1(EOF)int fread(char *pt,unsigned size,unsigned n, FILE *fp)从fp所指⽂件中读取长度size为n个数据项存到pt所指⽂件读取的数据项个数int fscanf (FILE *fp, char *format,args,…)从fp所指的⽂件中按format指定的格式把输⼊数据存⼊到args,…所指的内存中已输⼊的数据个数,遇⽂件结束或出错返回0int fseek (FILE *fp,long offer,int base)移动fp所指⽂件的位置指针成功返回当前位置,否则返回⾮0long ftell (FILE *fp)求出fp所指⽂件当前的读写位置读写位置,出错返回 -1Lint fwrite(char *pt,unsignedsize,unsigned n, FILE *fp)把pt所指向的n*size个字节输⼊到fp所指⽂件输出的数据项个数int getc (FILE *fp)从fp所指⽂件中读取⼀个字符返回所读字符,若出错或⽂件结束返回EOF int getchar(void)从标准输⼊设备读取下⼀个字符返回所读字符,若出错或⽂件结束返回-1char *gets(char *s)从标准设备读取⼀⾏字符串放⼊s所指存储区,⽤’\0’替换读⼊的换⾏符返回s,出错返回NULLint printf(char *format,args,…)把args,…的值以format指定的格式输出到标准输出设备输出字符的个数int putc (int ch, FILE *fp)同fputc同fputcint putchar(char ch)把ch输出到标准输出设备返回输出的字符,若出错则返回EOFint puts(char *str)把str所指字符串输出到标准设备,将’\0’转成回车换⾏符返回换⾏符,若出错,返回EOFint rename(char *oldname,char*newname)把oldname所指⽂件名改为newname所指⽂件名成功返回0,出错返回-1void rewind(FILE *fp)将⽂件位置指针置于⽂件开头⽆int scanf(char *format,args,…)从标准输⼊设备按format指定的格式把输⼊数据存⼊到args,…所指的内存中已输⼊的数据的个数五、动态分配函数和随机函数调⽤字符函数时,要求在源⽂件中包下以下命令⾏:#include <stdlib.h>函数原型说明功能返回值void *calloc(unsigned n,unsignedsize)分配n个数据项的内存空间,每个数据项的⼤⼩为size个字节分配内存单元的起始地址;如不成功,返回0void *free(void *p)释放p所指的内存区⽆void *free(void *p)释放p所指的内存区⽆void *malloc(unsigned size)分配size个字节的存储空间分配内存空间的地址;如不成功,返回0 void *realloc(void *p,unsigned size)把p所指内存区的⼤⼩改为size个字节新分配内存空间的地址;如不成功,返回0int rand(void)产⽣0~32767的随机整数返回⼀个随机整数void exit(int state)程序终⽌执⾏,返回调⽤过程,state为0正常终⽌,⾮0⾮正⽆常终⽌。
附录C C语言常用的库函数
库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。
每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。
ANSI C标准提出了一批建议提供的标准库函数。
它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。
考虑到通用性,本附录列出ANSI C建议的常用库函数。
由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。
读者在编写C程序时可根据需要,查阅有关系统的函数使用手册。
1.数学函数
使用数学函数时,应该在源文件中使用预编译命令:
2.字符函数
在使用字符函数时,应该在源文件中使用预编译命令:
3.字符串函数
使用字符串中函数时,应该在源文件中使用预编译命令:
4.输入输出函数
在使用输入输出函数时,应该在源文件中使用预编译命令:
5.动态存储分配函数
在使用动态存储分配函数时,应该在源文件中使用预编译命令:
6.其他函数
有些函数由于不便归入某一类,所以单独列出。
使用这些函数时,应该在源文件中使用预编译命令:。