附录CC语言常用的库函数

上传人:M****1 文档编号:575818376 上传时间:2024-08-18 格式:PDF 页数:7 大小:118.33KB
返回 下载 相关 举报
附录CC语言常用的库函数_第1页
第1页 / 共7页
附录CC语言常用的库函数_第2页
第2页 / 共7页
附录CC语言常用的库函数_第3页
第3页 / 共7页
附录CC语言常用的库函数_第4页
第4页 / 共7页
附录CC语言常用的库函数_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《附录CC语言常用的库函数》由会员分享,可在线阅读,更多相关《附录CC语言常用的库函数(7页珍藏版)》请在金锄头文库上搜索。

1、318 附录 C C 语言常用的库函数库函数并不是C 语言的一部分, 它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。 每一种 C 编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C 标准提出了一批建议提供的标准库函数。它包括了目前多数 C 编译系统所提供的库函数,但也有一些是某些C 编译系统未曾实现的。考虑到通用性, 本附录列出 ANSI C 建议的常用库函数。由于 C 库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从

2、教学需要的角度列出最基本的。读者在编写C 程序时可根据需要,查阅有关系统的函数使用手册。1数学函数使用数学函数时,应该在源文件中使用预编译命令:#include 或#include math.h 函数名函数原型功能返回值acos double acos(double x); 计算 arccos x的值,其中 -1=x=1 计算结果asin double asin(double x); 计算 arcsinx 的值,其中 -1=x=1 计算结果atan double atan(double x); 计算 arctanx 的值计算结果atan2 double atan2(double x, doub

3、le y); 计算 arctanx/y 的值计算结果cos double cos(double x); 计算 cos x 的值,其中x 的单位为弧度计算结果cosh double cosh(double x); 计算 x的双曲余弦cosh x的值计算结果exp double exp(double x); 求 ex的值计算结果fabs double fabs(double x); 求 x的绝对值计算结果floor double floor(double x); 求出不大于x的最大整数该 整 数 的 双精度实数fmod double fmod(double x, double y); 求整除 x/

4、y 的余数返 回 余 数 的双精度实数frexp double frexp(double val, int *eptr); 把双精度数val 分解成数字部分(尾数 )和以 2 为底的指数,即val=x*2n,n 存放在 eptr 指向的变量中数字部分 x 0.5=x1 log double log(double x); 求 lnx 的值计算结果log10 double log10(double x); 求 log10x的值计算结果modf double modf(double val, int*iptr); 把双精度数val 分解成数字部分和小数部分,把整数部分存放在ptr 指向的变量中val

5、 的小数部分pow double pow(double x, double y); 求 xy的值计算结果319 sin double sin(double x); 求 sin x 的值,其中x 的单位为弧度计算结果sinh double sinh(double x); 计算 x的双曲正弦函数sinh x 的值计算结果sqrt double sqrt (double x); 计算x,其中 x0 计算结果tan double tan(double x); 计算 tan x 的值,其中x 的单位为弧度计算结果tanh double tanh(double x); 计算 x的双曲正切函数tanh x

6、的值计算结果2字符函数在使用字符函数时,应该在源文件中使用预编译命令:#include 或#include ctype.h 函数名函数原型功能返回值isalnum int isalnum(int ch); 检查 ch 是否字母或数字是字母或数字返回1,否则返回0 isalpha int isalpha(int ch); 检查 ch 是否字母是字母返回1,否则返回0 iscntrl int iscntrl(int ch); 检查 ch 是否控制字符 (其 ASCII 码在 0 和 0xlF 之间 ) 是控制字符返回1,否则返回0 isdigit int isdigit(int ch); 检查 c

7、h 是否数字是数字返回1,否则返回0 isgraph int isgraph(int ch); 检 查ch 是 否 是可 打印 字符 (其ASCII 码在 0x21 和 0x7e 之间 ), 不包括空格是可打印字符返回1,否则返回0 islower int islower(int ch); 检查 ch 是否是小写字母 (az) 是小字母返回1,否则返回0 isprint int isprint(int ch); 检 查ch 是 否 是可 打印 字符 (其ASCII 码在 0x21 和 0x7e 之间 ), 不包括空格是可打印字符返回1,否则返回0 ispunct int ispunct(int

8、 ch); 检查 ch 是否是标点字符 (不包括空格)即除字母、数字和空格以外的所有可打印字符是标点返回1,否则返回0 isspace int isspace(int ch); 检查 ch 是否空格、 跳格符 (制表符 )或换行符是,返回 1,否则返回0 isupper int isupper(int ch); 检查 ch 是否大写字母 (AZ) 是大写字母返回1,否则返回0 isxdigit int isxdigit(int ch); 检查 ch 是否一个 16 进制数字(即 09,或 A 到 F,af) 是,返回 1,否则返回0 tolower int tolower(int ch); 将

9、 ch 字符转换为小写字母返回 ch 对应的小写字母toupper int toupper(int ch); 将 ch 字符转换为大写字母返回 ch 对应的大写字母320 3字符串函数使用字符串中函数时,应该在源文件中使用预编译命令:#include 或#include string.h 函数名函数原型功能返回值memchr void memchr(void *buf, char ch, unsigned count); 在 buf 的前 count 个字符里搜索字符 ch 首次出现的位置返回指向 buf 中 ch的第一次出现的位置指针。若没有找到ch,返回 NULL memcmp int m

10、emcmp(void *buf1, void *buf2, unsigned count); 按字典顺序比较由buf1 和 buf2指向的数组的前count 个字符buf1buf2 ,为正数memcpy void *memcpy(void *to, void *from, unsigned count); 将 from指 向 的 数 组 中 的 前count个字符拷贝到to 指向的数组中。From 和 to 指向的数组不允许重叠返回指向 to 的指针memove void *memove(void *to, void *from, unsigned count); 将 from指 向 的 数

11、组 中 的 前count个字符拷贝到to 指向的数组中。From 和 to 指向的数组不允许重叠返回指向 to 的指针memset void *memset(void *buf, char ch, unsigned count); 将字符 ch拷贝到 buf 指向的数组前 count 个字符中。返回 buf strcat char *strcat(char *str1, char *str2); 把字符 str2 接到 str1 后面,取消原来 str1 最后面的串结束符“0”返回 str1 strchr char *strchr(char *str,int ch); 找出 str 指向的字符

12、串中第一次出现字符 ch 的位置返回指向该位置的指针,如找不到,则应返回NULL strcmp int *strcmp(char *str1, char *str2); 比较字符串str1 和 str2 若 str1str2,为正数strcpy char *strcpy(char *str1, char *str2); 把 str2指向的字符串拷贝到str1中去返回 str1 strlen unsigned intstrlen(char *str); 统计字符串str 中字符的个数(不包括终止符“0”) 返回字符个数strncat char *strncat(char *str1, char

13、*str2, unsigned count); 把字符串str2 指向的字符串中最多 count 个字符连到串str1 后面,并以 NULL 结尾返回 str1 strncmp int strncmp(char *str1,*str2, unsigned count); 比较字符串str1 和 str2 中至多前 count 个字符若 str1str2,为正数strncpy char *strncpy(char *str1,*str2, unsigned count); 把 str2 指向的字符串中最多前count 个字符拷贝到串str1 中去返回 str1 321 strnset void

14、*setnset(char *buf, char ch, unsigned count); 将字符 ch拷贝到 buf 指向的数组前 count 个字符中。返回 buf strset void *setset(void *buf, char ch); 将 buf 所指向的字符串中的全部字符都变为字符ch 返回 buf strstr char *strstr(char *str1,*str2); 寻找 str2 指向的字符串在str1指向的字符串中首次出现的位置返回 str2 指向的字符串首次出向的地址。否则返回NULL 4输入输出函数在使用输入输出函数时,应该在源文件中使用预编译命令:#inc

15、lude 或#include stdio.h 函数名函数原型功能返回值clearerr void clearer(FILE *fp); 清除文件指针错误指示器无close int close(int fp); 关闭文件 (非 ANSI 标准 ) 关闭成功返回0,不成功返回 -1 creat int creat(char *filename, int mode); 以 mode 所指定的方式建立文件(非 ANSI 标准 ) 成功返回正数,否则返回-1 eof int eof(int fp); 判断 fp 所指的文件是否结束文件结束返回1,否则返回0 fclose int fclose(FILE

16、*fp); 关闭 fp 所指的文件,释放文件缓冲区关闭成功返回0,不成功返回非0 feof int feof(FILE *fp); 检查文件是否结束文件结束返回非0,否则返回0 ferror int ferror(FILE *fp); 测试 fp 所指的文件是否有错误无错返回 0,否则返回非0 fflush int fflush(FILE *fp); 将 fp 所指的文件的全部控制信息和数据存盘存盘正确返回0,否则返回非0 fgets char *fgets(char *buf, int n, FILE *fp); 从 fp 所指的文件读取一个长度为(n-1)的字符串, 存入起始地址为 buf

17、 的空间返回地址 buf。若遇文件结束或出错则返回EOF fgetc int fgetc(FILE *fp); 从 fp 所指的文件中取得下一个字符返回所得到的字符。出错返回EOF fopen FILE *fopen(char *filename, char *mode); 以 mode 指定的方式打开名为filename 的文件成功,则返回一个文件指针,否则返回 0 fprintf int fprintf(FILE *fp, char *format,args,); 把 args 的值以 format 指定的格式输出到 fp 所指的文件中实际输出的字符数fputc int fputc(cha

18、r ch, FILE *fp); 将字符 ch 输出到 fp 所指的文件中成功则返回该字符,出错返回EOF fputs int fputs(char str, FILE *fp); 将 str 指定的字符串输出到fp 所指的文件中成功则返回0,出错返回EOF fread int fread(char *pt, unsigned size, unsigned n, FILE *fp); 从 fp 所指定文件中读取长度为size 的 n 个数据项, 存到 pt 所指向的内存区返回所读的数据项个数,若文件结束或出错返回0 fscanf int fscanf(FILE *fp, char *forma

19、t,args,); 从 fp指定的文件中按给定的format 格式将读入的数据送到args 所指向的内存变量中(args是指针 ) 以输入的数据个数322 fseek int fseek(FILE *fp, long offset, int base); 将 fp 指定的文件的位置指针移到 base所指出的位置为基准、 以offset 为位移量的位置返回当前位置,否则返回-1 ftell long ftell(FILE *fp); 返回 fp 所指定的文件中的读写位置返回文件中的读写位置,否则返回 0 fwrite int fwrite(char *ptr, unsigned size, un

20、signed n, FILE *fp); 把 ptr 所指向的n*size 个字节输出到 fp 所指向的文件中写到 fp 文件中的数据项的个数getc int getc(FILE *fp); 从 fp 所指向的文件中的读出下一个字符返回读出的字符, 若文件出错或结束返回 EOF getchar int getchar(); 从标准输入设备中读取下一个字符返回字符,若文件出错或结束返回-1 gets char *gets(char *str); 从标准输入设备中读取字符串存入 str 指向的数组成功返回 str,否则返回NULL open int open(char *filename, int

21、 mode); 以 mode 指定的方式打开已存在的名为 filename的文件 (非 ANSI标准 ) 返回文件号 (正数 ),如打开失败返回 -1 printf int printf(char *format,args,); 在 format 指定的字符串的控制下, 将输出列表args的指输出到标准设备输出字符的个数。 若出错返回负数prtc int prtc(int ch, FILE *fp); 把一个字符ch 输出到 fp 所值的文件中输出字符 ch,若出错返回EOF putchar int putchar(char ch); 把字符 ch 输出到 fp 标准输出设备返回换行符,若失败

22、返回EOF puts int puts(char *str); 把 str 指向的字符串输出到标准输出设备,将“0”转换为回车行返回换行符,若失败返回EOF putw int putw(int w, FILE *fp); 将一个整数i(即一个字 )写到 fp所指的文件中 (非 ANSI 标准 ) 返回读出的字符, 若文件出错或结束返回 EOF read int read(int fd, char *buf, unsigned count); 从文件号fp所指定文件中读count 个字节到由buf 知识的缓冲区 (非 ANSI 标准 ) 返回真正读出的字节个数,如文件结束返回0,出错返回 -1

23、remove int remove(char *fname); 删除以 fname为文件名的文件成功返回 0,出错返回 -1 rename int remove(char *oname, char *nname); 把 oname 所指的文件名改为由nname所指的文件名成功返回 0,出错返回 -1 rewind void rewind(FILE *fp); 将 fp 指定的文件指针置于文件头,并清除文件结束标志和错误标志无scanf int scanf(char *format,args,); 从标准输入设备按format 指示的格式字符串规定的格式,输入数据给 args所指示的单元。 ar

24、gs为指针读入并赋给args 数据个数。如文件结束返回EOF,若出错返回 0 write int write(int fd, char *buf, unsigned count); 丛 buf 指示的缓冲区输出count个字符到fd 所指的文件中(非ANSI 标准 ) 返回实际写入的字节数,如出错返回 -1 323 5动态存储分配函数在使用动态存储分配函数时,应该在源文件中使用预编译命令:#include 或#include stdlib.h 函数名函数原型功能返回值callloc void *calloc(unsigned n, unsigned size); 分配 n个数据项的内存连续空间

25、,每个数据项的大小为size 分配内存单元的起始地址。如不成功,返回0 free void free(void *p); 释放 p 所指内存区无malloc void *malloc(unsigned size); 分配 size 字节的内存区所分配的内存区地址,如内存不够,返回0 realloc void *realloc(void *p, unsigned size); 将 p 所指的以分配的内存区的大小改为 size。 size 可以比原来分配的空间大或小返回指向该内存区的指针。若重新分配失败,返回NULL 6其他函数有些函数由于不便归入某一类,所以单独列出。使用这些函数时,应该在源文件

26、中使用预编译命令:#include 或#include stdlib.h 函数名函数原型功能返回值abs int abs(int num); 计算整数 num 的绝对值返回计算结果atof double atof(char *str); 将 str 指向的字符串转换为一个double 型的值返回双精度计算结果atoi int atoi(char *str); 将 str 指向的字符串转换为一个int 型的值返回转换结果atol long atol(char *str); 将 str 指向的字符串转换为一个long 型的值返回转换结果exit void exit(int status); 中止程

27、序运行。 将 status的值返回调用的过程无itoa char *itoa(int n, char *str, int radix); 将整数 n 的值按照 radix 进制转换为等价的字符串,并将结果存入str 指向的字符串中返回一个指向str 的指针labs long labs(long num); 计算 long 型整数 num 的绝对值返回计算结果ltoa char *ltoa(long n, char *str, int radix); 将长整数 n 的值按照 radix 进制转换为等价的字符串,并将结果存入 str 指向的字符串返回一个指向str 的指针rand int rand(); 产生 0 到 RAND_MAX之间的伪随机数。 RAND_MAX在头文件中定义返回一个伪随机 (整)数random int random(int num); 产生 0 到 num 之间的随机数。返回一个随机 (整)数324 randomize void randomize(); 初始化随机函数,使用时包括头文件 time.h。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号