c语言库函数表.docx

上传人:b****7 文档编号:10317853 上传时间:2023-02-10 格式:DOCX 页数:14 大小:21.19KB
下载 相关 举报
c语言库函数表.docx_第1页
第1页 / 共14页
c语言库函数表.docx_第2页
第2页 / 共14页
c语言库函数表.docx_第3页
第3页 / 共14页
c语言库函数表.docx_第4页
第4页 / 共14页
c语言库函数表.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

c语言库函数表.docx

《c语言库函数表.docx》由会员分享,可在线阅读,更多相关《c语言库函数表.docx(14页珍藏版)》请在冰豆网上搜索。

c语言库函数表.docx

c语言库函数表

附录CC语言常用的库函数

库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。

每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。

ANSIC标准提出了一批建议提供的标准库函数。

它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。

考虑到通用性,本附录列出ANSIC建议的常用库函数。

由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。

读者在编写C程序时可根据需要,查阅有关系统的函数使用手册。

1.数学函数

使用数学函数时,应该在源文件中使用预编译命令:

#include或#include"math.h"

函数名

函数原型

功能

返回值

acos

doubleacos(doublex);

计算arccosx的值,其中-1<=x<=1

计算结果

asin

doubleasin(doublex);

计算arcsinx的值,其中-1<=x<=1

计算结果

atan

doubleatan(doublex);

计算arctanx的值

计算结果

atan2

doubleatan2(doublex,doubley);

计算arctanx/y的值

计算结果

cos

doublecos(doublex);

计算cosx的值,其中x的单位为弧度

计算结果

cosh

doublecosh(doublex);

计算x的双曲余弦coshx的值

计算结果

exp

doubleexp(doublex);

求ex的值

计算结果

fabs

doublefabs(doublex);

型x的绝对值

计算结果

floor

doublefloor(doublex);

求出不大于x的最大整数

该整数的双精度实数

fmod

doublefmod(doublex,doubley);

求整除x/y的余数,%只适用于整型数据

返回余数的双精度实数

frexp

doublefrexp(doubleval,int*eptr);

把双精度数val分解成数字部分(尾数)和以2为底的指数,即val=x*2n,n存放在eptr指向的变量中

数字部分x

0.5<=x<1

log

doublelog(doublex);

求lnx的值

计算结果

log10

doublelog10(doublex);

求log10x的值

计算结果

modf

doublemodf(doubleval,int*iptr);

把双精度数val分解成数字部分和小数部分,把整数部分存放在ptr指向的变量中

val的小数部分

pow

doublepow(doublex,doubley);

求xy的值

计算结果

sin

doublesin(doublex);

求sinx的值,其中x的单位为弧度

计算结果

sinh

doublesinh(doublex);

计算x的双曲正弦函数sinhx的值

计算结果

sqrt

doublesqrt(doublex);

计算

,其中x≥0

计算结果

tan

doubletan(doublex);

计算tanx的值,其中x的单位为弧度

计算结果

tanh

doubletanh(doublex);

计算x的双曲正切函数tanhx的值

计算结果

log10

doublelog10(double);

计算以10为底的对数

计算结果

log

doublelog(double);

以e为底的对数

sqrt

doublesqrt(double);

开平方

cabs

doublecabs(structcomplexznum);

求复数的绝对值

ceil

doubleceil(double);

取上整,返回不比x小的最小整数

floor

doublefloor(double);

取下整,返回不比x大的最大整数,即高斯函数[x]

2.字符函数

在使用字符函数时,应该在源文件中使用预编译命令:

#include或#include"ctype.h"

函数名

函数原型

功能

返回值

isalnum

intisalnum(intch);

检查ch是否字母或数字

是字母或数字返回1,否则返回0

isalpha

intisalpha(intch);

检查ch是否字母

是字母返回1,否则返回0

iscntrl

intiscntrl(intch);

检查ch是否控制字符(其ASCII码在0和0xlF之间,数值为0-31)

是控制字符返回1,否则返回0

isdigit

intisdigit(intch);

检查ch是否数字(0-9)

是数字返回1,否则返回0

isgraph

intisgraph(intch);

检查ch是否是可打印(显示)字符(0x21和0x7e之间),不包括空格

是可打印字符返回非0,否则返回0

islower

intislower(intch);

检查ch是否是小写字母(a~z)

是小字母返回非0,否则返回0

isprint

intisprint(intch);

检查ch是否是可打印字符(其ASCII码在0x21和0x7e之间),包括空格

是可打印字符返回1,否则返回0

ispunct

intispunct(intch);

检查ch是否是标点字符(不包括空格)即除字母、数字和空格以外的所有可打印字符

是标点返回1,否则返回0

isspace

intisspace(intch);

检查ch是否空格、跳格符(制表符)或换行符

是,返回1,否则返回0

isupper

intisupper(intch);

检查ch是否大写字母(A~Z)

是大写字母返回1,否则返回0

isxdigit

intisxdigit(intch);

检查ch是否一个16进制数字

(即0~9,或A到F,a~f)

是,返回1,否则返回0

tolower

inttolower(intch);

将ch字符转换为小写字母

返回ch对应的小写字母

toupper

inttoupper(intch);

将ch字符转换为大写字母

返回ch对应的大写字母

isascii

intisascii(intch)

测试参数是否是ASCII码0-127

是返回非0,否则返回0

3.字符串函数

使用字符串中函数时,应该在源文件中使用预编译命令:

#include或#include"string.h"

函数名

函数原型

功能

返回值

memchr

voidmemchr(void*buf,charch,unsignedcount);

在buf的前count个字符里搜索字符ch首次出现的位置

返回指向buf中ch的第一次出现的位置指针。

若没有找到ch,返回NULL

memcmp

intmemcmp(void*buf1,void*buf2,unsignedcount);

按字典顺序比较由buf1和buf2指向的数组的前count个字符

buf1

buf1=buf2,返回0

buf1>buf2,为正数

memcpy

void*memcpy(void*to,void*from,unsignedcount);

将from指向的数组中的前count个字符拷贝到to指向的数组中。

From和to指向的数组不允许重叠

返回指向to的指针

memove

void*memove(void*to,void*from,unsignedcount);

将from指向的数组中的前count个字符拷贝到to指向的数组中。

From和to指向的数组不允许重叠

返回指向to的指针

memset

void*memset(void*buf,charch,unsignedcount);

将字符ch拷贝到buf指向的数组前count个字符中。

返回buf

strcat

char*strcat(char*str1,char*str2);

把字符str2接到str1后面,取消原来str1最后面的串结束符“\0”

返回str1

strchr

char*strchr(char*str,intch);

找出str指向的字符串中第一次出现字符ch的位置

返回指向该位置的指针,如找不到,则应返回NULL

strcmp

int*strcmp(char*str1,char*str2);

比较字符串str1和str2

若str1

若str1=str2,返回0

若str1>str2,为正数

strcpy

char*strcpy(char*str1,char*str2);

把str2指向的字符串拷贝到str1中去

返回str1

strlen

unsignedintstrlen(char*str);

统计字符串str中字符的个数(不包括终止符“\0”)

返回字符个数

strncat

char*strncat(char*str1,char*str2,unsignedcount);

把字符串str2指向的字符串中最多count个字符连到串str1后面,并以NULL结尾

返回str1

strncmp

intstrncmp(char*str1,*str2,unsignedcount);

比较字符串str1和str2中至多前count个字符

若str1

若str1=str2,返回0

若str1>str2,为正数

strncpy

char*strncpy(char*str1,*str2,unsignedcount);

把str2指向的字符串中最多前count个字符拷贝到串str1中去

返回str1

strnset

void*setnset(char*buf,charch,unsignedcount);

将字符ch拷贝到buf指向的数组前count个字符中。

返回buf

strset

void*setset(void*buf,charch);

将buf所指向的字符串中的全部字符都变为字符ch

返回buf

strstr

char*strstr(char*str1,*str2);

寻找str2指向的字符串在str1指向的字符串中首次出现的位置

返回str2指向的字符串首次出向的地址。

否则返回NULL

strnicmp

intstrnicmp(char*str1,char*str2,unsignedmaxlen);

将一个串中的一部分与另一个串比较,不管大小写

strcspn

Intstrcspn(char*str1,char*str2);

在串中查找第一个给定字符集容的段

strdup

char*strdup(char*str);

将串拷贝到新建的位置处

strpbrk

char*strpbrk(char*str1,char*str2);

在串中查找给定字符集中的字符

strrchr

char*strrchr(char*str,charc);

在串中查找指定字符的最后一个出现

strrev

char*strrev(char*str);

串倒转

Strtod(strtol)

doublestrtod(char*str,char**endptr);

将字符串转换为double型值,strtol为长整型

swab

voidswab(char*from,char*to,intnbytes);

交换字节

4.输入输出函数

在使用输入输出函数时,应该在源文件中使用预编译命令:

#include或#include"stdio.h"

函数名

函数原型

功能

返回值

clearerr

voidclearer(FILE*fp);

清除文件指针错误指示器

close

intclose(intfp);

关闭文件(非ANSI标准)

关闭成功返回0,不成功返回-1

creat

intcreat(char*filename,intmode);

以mode所指定的方式建立文件(非ANSI标准)

成功返回正数,否则返回-1

eof

inteof(intfp);

判断fp所指的文件是否结束

文件结束返回1,否则返回0

fclose

intfclose(FILE*fp);

关闭fp所指的文件,释放文件缓冲区

关闭成功返回0,不成功返回非0

feof

intfeof(FILE*fp);

检查文件是否结束

文件结束返回非0,否则返回0

ferror

intferror(FILE*fp);

测试fp所指的文件是否有错误

无错返回0,否则返回非0

fflush

intfflush(FILE*fp);

将fp所指的文件的全部控制信息和数据存盘

存盘正确返回0,否则返回非0

fgets

char*fgets(char*buf,intn,FILE*fp);

从fp所指的文件读取一个长度为(n-1)的字符串,存入起始地址为buf的空间

返回地址buf。

若遇文件结束或出错则返回EOF

fgetc

intfgetc(FILE*fp);

从fp所指的文件中取得下一个字符

返回所得到的字符。

出错返回EOF

fopen

FILE*fopen(char*filename,char*mode);

以mode指定的方式打开名为filename的文件

成功,则返回一个文件指针,否则返回0

fprintf

intfprintf(FILE*fp,char*format,args,…);

把args的值以format指定的格式输出到fp所指的文件中

实际输出的字符数

fputc

intfputc(charch,FILE*fp);

将字符ch输出到fp所指的文件中

成功则返回该字符,出错返回EOF

fputs

intfputs(charstr,FILE*fp);

将str指定的字符串输出到fp所指的文件中

成功则返回0,出错返回EOF

fread

intfread(char*pt,unsignedsize,unsignedn,FILE*fp);

从fp所指定文件中读取长度为size的n个数据项,存到pt所指向的存区

返回所读的数据项个数,若文件结束或出错返回0

fscanf

intfscanf(FILE*fp,char*format,args,…);

从fp指定的文件中按给定的format格式将读入的数据送到args所指向的存变量中(args是指针)

以输入的数据个数

fseek

intfseek(FILE*fp,longoffset,intbase);

将fp指定的文件的位置指针移到base所指出的位置为基准、以offset为位移量的位置

返回当前位置,否则返回-1

ftell

longftell(FILE*fp);

返回fp所指定的文件中的读写位置

返回文件中的读写位置,否则返回0

fwrite

intfwrite(char*ptr,unsignedsize,unsignedn,FILE*fp);

把ptr所指向的n*size个字节输出到fp所指向的文件中

写到fp文件中的数据项的个数

getc

intgetc(FILE*fp);

从fp所指向的文件中的读出下一个字符

返回读出的字符,若文件出错或结束返回EOF

getchar

intgetchar();

从标准输入设备中读取下一个字符

返回字符,若文件出错或结束返回-1

gets

char*gets(char*str);

从标准输入设备中读取字符串存入str指向的数组

成功返回str,否则返回NULL

open

intopen(char*filename,intmode);

以mode指定的方式打开已存在的名为filename的文件(非ANSI标准)

返回文件号(正数),如打开失败返回-1

printf

intprintf(char*format,args,…);

在format指定的字符串的控制下,将输出列表args的指输出到标准设备

输出字符的个数。

若出错返回负数

prtc

intprtc(intch,FILE*fp);

把一个字符ch输出到fp所值的文件中

输出字符ch,若出错返回EOF

putchar

intputchar(charch);

把字符ch输出到fp标准输出设备

返回换行符,若失败返回EOF

puts

intputs(char*str);

把str指向的字符串输出到标准输出设备,将“\0”转换为回车行

返回换行符,若失败返回EOF

putw

intputw(intw,FILE*fp);

将一个整数i(即一个字)写到fp所指的文件中(非ANSI标准)

返回读出的字符,若文件出错或结束返回EOF

read

intread(intfd,char*buf,unsignedcount);

从文件号fp所指定文件中读count个字节到由buf知识的缓冲区(非ANSI标准)

返回真正读出的字节个数,如文件结束返回0,出错返回-1

remove

intremove(char*fname);

删除以fname为文件名的文件

成功返回0,出错返回-1

rename

intremove(char*oname,char*nname);

把oname所指的文件名改为由nname所指的文件名

成功返回0,出错返回-1

rewind

voidrewind(FILE*fp);

将fp指定的文件指针置于文件头,并清除文件结束标志和错误标志

scanf

intscanf(char*format,args,…);

从标准输入设备按format指示的格式字符串规定的格式,输入数据给args所指示的单元。

args为指针

读入并赋给args数据个数。

如文件结束返回EOF,若出错返回0

write

intwrite(intfd,char*buf,unsignedcount);

丛buf指示的缓冲区输出count个字符到fd所指的文件中(非ANSI标准)

返回实际写入的字节数,如出错返回-1

5.动态存储分配函数

在使用动态存储分配函数时,应该在源文件中使用预编译命令:

#include或#include"stdlib.h"

函数名

函数原型

功能

返回值

callloc

void*calloc(unsignedn,unsignedsize);

分配n个数据项的存连续空间,每个数据项的大小为size

分配存单元的起始地址。

如不成功,返回0

free

voidfree(void*p);

释放p所指存区

malloc

void*malloc(unsignedsize);

分配size字节的存区

所分配的存区地址,如存不够,返回0

realloc

void*realloc(void*p,unsignedsize);

将p所指的以分配的存区的大小改为size。

size可以比原来分配的空间大或小

返回指向该存区的指针。

若重新分配失败,返回NULL

6.其他函数

有些函数由于不便归入某一类,所以单独列出。

使用这些函数时,应该在源文件中使用预编译命令:

#include或#include"stdlib.h"

函数名

函数原型

功能

返回值

abs

intabs(intnum);

计算整数num的绝对值

返回计算结果

atof

doubleatof(char*str);

将str指向的字符串转换为一个double型的值

返回双精度计算结果

atoi

intatoi(char*str);

将str指向的字符串转换为一个int型的值

返回转换结果

atol

longatol(char*str);

将str指向的字符串转换为一个long型的值

返回转换结果

exit

voidexit(intstatus);

中止程序运行。

将status的值返回调用的过程

itoa

char*itoa(intn,char*str,intradix);

将整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串中

返回一个指向str的指针

labs

longlabs(longnum);

计算long型整数num的绝对值

返回计算结果

ltoa

char*ltoa(longn,char*str,intradix);

将长整数n的值按照radix进制转换为等价的字符串,并将结果存入str指向的字符串

返回一个指向str的指针

rand

intrand(void);

产生0到32767间的随机整数(0到0x7fff之间)

返回一个伪随机(整)数

random

intrandom(intnum);

产生0到num之间的随机数。

返回一个随机(整)数

randomize

voidrandomize();

初始化随机函数,使用时包括头文件time.h。

putenv

intputenv(constchar*name)

将字符串name增加到DOS环境变量中

0:

操作成功,-1:

操作失败

ecvt

char*ecvt(doublevalue,intndigit,int*dec,int*sign)

将浮点数转换为字符串

value-待转换底浮点数,ndigit-转换后的字符串长度

转换后的字符串指针

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1