C语言中最常用标准库函数 - candyliuxj - CSDN博客
C语言标准库函数

C语言标准库C-1标准输出输入函数<stdio.h>使用mode模式开启参数filename的档案,传回调案串流,失败传回NULL.关闭档案后重新开启档案.打开指定文件,并关联到stream返回stream.出错返回NULL清除缓冲区的内容,成功传回0,失败传回EOF.关闭档案.出错返回EOF否则返回0删除参数的档案,失败传回非零值.将文件名oldname改为newname,失败传回非零值.建立"wb+"模式的临时文件,当结束程序后就会关闭且删除此档案,并返回与之关联的流.指定临时文件的名称为s.指定串流暂存区尺寸size,使用mode参数值_IOFBF(0)为完整暂存区、_IOLBF(1)是线性暂存区或_IONBF(2)没有暂存区.出错返回非0.指定串流的暂存区为参数buf.nstchar*format,...):将格式化字符串写入文件案串流.在标准输出显示格式化字符串.将格式化字符串输出到字符串s.从档案串流读取指定格式的数据.从标准输入读取指定格式的数据.从字符串s读取指定格式的资料.从档案串流读取一个字符.从档案串流读取一个字符串.写入一个字符到档案.写入一个字符串到档案.am):从档案串流读取一个字符.从标准输入读取一个字符.从标准输入读取一个字符串.写入一个字符到档案.在标准输出显示一个字符.在标准输出显示一个字符串.将一个字符放回调案串流.,size_tsize,size_tnobj,FILE*stream):从档案读取指定大小的数据.将指定大小的数据写入档案.移动档案指标到offset 位移量,其方向是origin参数值SEEK_SET(0)的档案开头、SEEK_CUR(1)是目前位置或SEEK_END(2)文件尾.目前档案指针的位置.重设档案指标到档头.是否到达档尾.是否档案串流产生错误.C-2字符检查函数<ctype.h>或isdigit(c)的字符.或islower(c)的字符.iscntrl(intc):是否是ASCII控制字符.是否是数字.是否是显示字符,不含空格符.是否是小写字符.是否是显示字符0x20('')到0x7E('~').是否是显示字符,不包含空白、字母、数字字符.是否是空格符.是否是大写字符.是否是十六进制字符.转换成小写字符.转换成大写字C-3字符串函数<string.h>将字符串ct复制到字符串s.将字符串ct前n个字符复制到字符串s.):链接字符串ct到字符串s之后.链接字符串ct前n个字符到字符串s.比较字符串cs和ct.比较字符串cs和ct 的前n个字符.传回字符c第一次出现在字符串cs位置的指标.传回字符c第后一次出现在字符串cs 位置的指针.传回字符串ct任何字符在字符串cs第一次出现的位置指针.传回字符串ct在字符串cs第一次出现的位置指针.传回字符串cs的长度.tn):传回指定错误代码的说明文字内容.以字符串ct的任何字符为分隔字符,找寻字符串s中下一个token记号.第一次调用,s为非空.它搜索s,找到不包含ct中字符的第一个记号,将s中的下一个字符替换为’\0’,并返回指向记号的指针.随后,每次调用时,(由s的值是否为NULL指示),均返回下一个不包含ct 中字符的记号.当s中没有这样的记号时,返回NULL.每次调用时字符串ct可以不同.void*ct,size_tn):从位置ct复制n个字元到位置s,传回s.从位置ct搬移n个字符到位置s,传回s.比较位置ct和位置cs 的前n个字符.传回cs位置开始前n个字符第一次出现字符c的位置指针.id*s,intc,size_tn):取代cs位置开始前n个字符成为字符c,传回位置指针s.C-4数学函数<math.h>自然数的指数e^x.自然对数logx十为底的对数log10x.传回参数x为底参数y的次方值x^y.参数x的平方根.doublex):传回大于或等于参数x的最小double整数.传回小于或等于参数x的最大double整数.传回参数x的绝对值.传回√(x^2+y^2)公式的值乘以2的n次方是x*2^n.将参数x的浮点数分解成尾数和指标,x=m*2^exp,传回m值的尾数,将指数存入参数exp.将浮点数x分解成整数和小数部分,传回小数部分,将整数部分存入参数ip.如果y为非零值,传回浮点数x/y的余数.正弦函数.余弦函数.正切函数.反正弦函数.bleacos(doublex):反余弦函数.反正切函数.参数y/x的反正切函数值.正弦函数,sinh(x)=(e^x-e^(-x))/2.余弦函数,cosh(x)=(e^x+e^(-x))/2.x):hyperbolic正切函数,tanh(x)=(e^x-e^(-x))/(e^2+e^(-x)).C-5日期/时间函数<time.h>传回程序开始执行后所使用的CPU时间,以ticks为单位,除以常数CLK_TCK就是秒数.传回目前的历法时间(CalendarTime),也会指定给参数的tp指标,如为无效时间,传回-1.):传回参数time2和time1的时间差,即time2-time1.将参数*tp的当地时间改为历法时间,如果不能转换传回-1.传回参数tm结构指针转换成日期/时间格式的字符串,字符串最后有换行符\n.传回参数time_t指标转换成当地日期/时间的字符串,字符串最后有换行符\n.consttime_t*tp):传回将参数的time_t指标转换成UTC(CoordinatedUniversalTime)日期/时间的tm结构指针.传回将参数的time_t指标转换成当地日期/时间的tm结构指针.将参数tp的日期/时间以格式化字符串fmt输出到字符串s,s最多储存smax个字符.C-6工具函数<stdlib.h>、longlabs(longn):传回整数n的绝对值.将参数字符串s转换成浮点数,如果字符串不能转换传回0.0.等价于strtod(s,(char**)NULL).将参数字符串s转换成整数,如果字符串不能转换传回0.等价于(int)strtol(s,(char**)NULL,10).将参数字符串s转换成长整数,如果字符串不能转换传回0.等价于strtol(s,(char**)NULL,10).函数忽略字符串s前的空白字元,将s的前缀部分,数字转换成浮点数.除非endp为NULL,否则该函数将把指向s中未转换部分(s的后缀部分)的指针保存在*endp中.如果结果上溢,则函数返回带有符号的HUGE_VAL;如果结果下溢,则返回0.在这两种情况下,errno都设置成ERANGE.ar*s,char**endp,intbase):函数忽略字符串s前的空白字元,将s的前缀部分,数字转换成畅整型.除非endp为NULL,否则该函数将把指向s中未转换部分(s的后缀部分)的指针保存在*endp中.如果base的值在2-36之间,则假定输入是以该数为基底的;如果base的取值为0,则基底为八进制、十进制或十六进制.(0为8,0x或0X为16进制)无论在哪种情况下.字母均表示10-base-1之间的数字.如果base值为16则可以加上前导0x或0X.constchar*s,char**endp,intbase):如同strtol函数,其传回值是无符号长整数.为nobj个长度为size的对象最长的数组分配内存,并返回指向分配区域的指针;若无法满足要求,则返回NULL.该空间的初始长度为0字节(初值为0).传回大小size内存指针,没有指定初值,错误传回NULL.e):将指针p的内存改为size大小,不会更改原内存的值,多配置部分初值为0,错误传回NULL.释放参数p指针的内存空间.强迫程序以不正常方式结束,如同呼叫raise(SIGABRT)函数.程序以正常方式结束,传回系统环境状态值,0表示正常结束.¨intatexit(void(*fun)(void)):登记函数fun,该函数将在函数正常终止时调用.如果登记失败,则返回非0值.ntsystem(constchar*s):将字符串s的指令传给环境来执行,也就是执行MS-DOS的指令.传回参数name的环境字符串,如果没有传回NULL.*cmp)(constvoid*keyval,constvoid*datum)):数组基础的二元搜寻函数,数组是参数base,键值是参数key,n是数组大小,size是每个元素的大小,最后的参数是指向函数的指针,这是比较元素大小的函数.cmp函数中,如果第一个参数(查找关键字)小于第二个参数(表象),它必须返回一个负值;如果第一个参数等于第二个参数,它必须返回0;如果第一个参数大于第二个参数,它必须大于0.数组base中的项必须升序排列.bsearch找到返回指向匹配值得指针,没有找到传回NULL.void*)):数组基础的快速排序法(升序)函数,数组是参数base,n是数组大小,size是每个元素的大小,最后的参数是指向函数的指针,这是比较元素大小的函数.传回随机数的整数值,其值的范围是0到RAND_MAX常数,其值为0x7FFF.指定随机数的种子数,参数是无符号整数,如果没有指定,预设的种子数为1.¨div_tdiv(intnum,intdenom):div函数计算num/denom的商和余数,并把结果分别保存在结构类型div_t的两个int类型的成员quot和rem中.¨ldiv_tldiv(longnum,longdenom):同上,计算类型为long.C-7诊断:<assert.h>提供assert宏用于为程序增加诊断功能.voidassert(intexpression):表达式为0则在stderr中打印一条消息.C-8可变参数表:<stdarg.h>¨va_start(va_listap,lastarg):在访问任何未命名参数前,必须用va_start 宏初始化ap一次.¨typeva_arg(v a_listap,type):每次执行宏va_arg都将产生一个与下一个未命名的参数具有相同类型和数值的值,它同时修改ap,以使下一次执行va_arg时返回下一个参数.¨voidva_end(va_listap):在所有的参数处理完毕之后,且在退出函数f之前,必须调用宏va_end一次.C-9非局部跳转<setjmp.h>头文件<setjmp.h>中的声明提供了一种不同于通常的函数调用和返回顺序的方式,特别是,它允许立即从一个深层嵌套的函数调用中返回.¨intsetjmp(jmp_bufenv):setjmp宏将状态信息保存在env中,供longjmp使用.如果直接调用setjmp则返回值为0;如果在longjmp中调用setjmp,则返回值为非0.setjmp只能用于某些上下文中,如用于if语句,switch语句,循环语句的条件测试中以及一些简单的关系表达式中如:if(setjmp(env)==0)/*gethereondirectcall*/else/*getherebycallinglongjmp*/¨voidlongjmp(jmp_bufenv,intval):longjmp通过最后一次调用setjmp时保存在env中的信息恢复状态,同时,程序重新恢复执行,其状态等同于setjmp宏调用刚刚执行完并返回非0值val.包含setjmp宏调用的函数的执行必须还没有终止.除下列清空下,可访问对象的值同调用longjmp时的值相同;在调用setjmp宏后,如果调用setjmp宏的函数中的非volatile自动变量改变了,则他们将变成未定义状态.C-10信号:<signal.h>¨void(*signal(intsig,void(*handler)(int)))(int):signal决定了如何处理后续的信号.如果handler的值为SIG_DFL,则采用由实现定义的默认行为;如果handler的值为SIG_IGN,则忽略该信号;否则,调用handler指向的函数(以信号作为参数).有效的信号包括:SIGABRT一场终止,例如由abort引起的终止SIGFPE算术运算出错,如除数为0或溢出SIGILL非法函数映像,如非法指定SIGINT用于交互式目的信号,如中断SIGSEGV非法存储器访问,如访问不存在的内存单元SIGTERM发送给程序的终止请求对于特定的信号,signal将返回handler的前一个值;如果出现错误,则返回值SIG_ERR.当随后碰到信号sig时,该信号将恢复为默认行为,随后调用信号处理程序,就好象由(*handler)(sig)调用的一样.信号处理程序返回后,程序将从信号发生的位置重新开始执行.信号的初始状态由具体的实现定义.¨intraise(intsig):raise向程序发送信号sig.如果发送不成功,则返回一个非0值.。
常用C语言标准库函数

常用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 标准库函数 pdf

c 标准库函数 pdfC 标准库函数 PDF。
C 标准库函数是 C 语言编程中非常重要的一部分,它包含了大量的函数,可以帮助程序员完成各种任务,比如输入输出、内存管理、字符串操作等。
本文将介绍一些常用的 C 标准库函数,并提供相应的 PDF 文档供大家参考。
1. 输入输出函数。
C 标准库中的输入输出函数包括 printf、scanf、getchar、putchar 等,它们可以实现程序与用户之间的数据交互。
其中,printf 用于输出格式化字符串,而 scanf则用于从标准输入流中读取格式化数据。
getchar 和 putchar 则用于从标准输入流中读取一个字符,以及向标准输出流中输出一个字符。
这些函数在 C 语言编程中被广泛使用,对于初学者来说尤为重要。
2. 内存管理函数。
C 标准库中的内存管理函数包括 malloc、calloc、realloc 和 free,它们用于动态分配和释放内存。
malloc 用于分配指定大小的内存空间,而 calloc 则用于分配指定数量的元素,并将它们初始化为 0。
realloc 则用于重新分配已分配的内存空间的大小,而 free 则用于释放之前分配的内存空间。
这些函数在动态内存管理中发挥着重要作用,程序员需要了解它们的用法和原理。
3. 字符串操作函数。
C 标准库中的字符串操作函数包括 strcpy、strcat、strlen、strcmp 等,它们用于对字符串进行各种操作。
strcpy 用于将一个字符串复制到另一个字符串中,而strcat 则用于将一个字符串连接到另一个字符串的末尾。
strlen 用于计算字符串的长度,而strcmp 则用于比较两个字符串的大小。
这些函数在处理字符串时非常有用,程序员需要熟练掌握它们的用法。
4. 数学函数。
C 标准库中的数学函数包括 sin、cos、tan、exp、log、sqrt 等,它们用于执行各种数学运算。
sin、cos 和 tan 分别用于计算正弦、余弦和正切值,而 exp 和 log 则分别用于计算指数和对数。
c 标准库函数大全

c 标准库函数大全C标准库函数大全。
C标准库是C语言中非常重要的一部分,它包含了许多常用的函数,可以帮助程序员更加高效地完成各种任务。
在本文中,我们将介绍C标准库中一些常用的函数,希望能够帮助大家更好地理解和应用C语言。
1. 输入输出函数。
C标准库中最基本的函数之一就是输入输出函数。
其中,printf函数用于输出格式化的数据,而scanf函数则用于从标准输入设备中读取格式化的数据。
这两个函数是C语言中最常用的函数之一,也是我们编写程序时经常会用到的函数。
2. 字符串处理函数。
C标准库中还包含了许多用于处理字符串的函数,比如strlen函数可以用来计算字符串的长度,strcpy函数可以用来复制字符串,strcat函数可以用来连接两个字符串等等。
这些函数可以帮助我们更加方便地处理字符串,提高程序的效率。
3. 内存管理函数。
在C语言中,内存管理是一个非常重要的问题。
C标准库中提供了一些函数来帮助我们更好地管理内存,比如malloc函数可以用来动态分配内存,free函数可以用来释放内存,memset函数可以用来初始化内存等等。
这些函数可以帮助我们更好地利用内存,避免内存泄漏等问题。
4. 数学函数。
C标准库中还包含了许多数学函数,比如sin函数可以用来计算正弦值,cos函数可以用来计算余弦值,sqrt函数可以用来计算平方根等等。
这些函数可以帮助我们更好地完成各种数学运算,提高程序的准确性和效率。
5. 时间和日期函数。
在C标准库中,还包含了一些用于处理时间和日期的函数,比如time函数可以用来获取当前的系统时间,asctime函数可以用来将时间转换为字符串,difftime 函数可以用来计算时间差等等。
这些函数可以帮助我们更好地处理时间和日期相关的问题,提高程序的实用性和可靠性。
总结:C标准库中包含了许多常用的函数,可以帮助程序员更好地完成各种任务。
在本文中,我们介绍了一些常用的函数,包括输入输出函数、字符串处理函数、内存管理函数、数学函数以及时间和日期函数。
常用标准库函数

常用标准库函数
常用标准库函数是指在C++标准库中经常使用的函数,它们被广泛应用于各种编程任务中。
这些函数包括:
1.输入输出函数:包括cin、cout、cerr和clog等函数,用于输入和输出数据。
2.字符串函数:包括strlen、strcat、strcpy、strcmp等函数,用于处理字符串。
3.数学函数:包括sin、cos、tan、sqrt等函数,用于计算数学运算。
4.时间函数:包括ctime、difftime、localtime等函数,用于处理时间数据。
5.文件操作函数:包括fopen、fclose、fread、fwrite等函数,用于文件的读写操作。
这些函数不仅能够提高程序的效率和可读性,而且在程序设计中有着广泛的应用。
因此,了解和掌握这些函数的使用方法是编程人员必不可少的基本技能。
- 1 -。
C语言常用标准库函数

C语⾔常⽤标准库函数数学函数:在math.h中abs(x) :求整型数x的绝对值cos(x):x(弧度)的余弦fabs(x):求浮点数x的绝对值ceil(x):求不⼩于x的最⼩整数floor(x):求不⼤于x的最⼩整数log(x):求x的⾃然对数log10(x):求x的对数(底为10)pow(x,y):求x的y次⽅sin(x):求x(弧度)的正弦sqrt(x):求x的平⽅根字符处理函数:在ctype.h中声明int isdigit(int c):判断是否是数字字符int isalpha(int c):判断是否是⼀个字母int isalnum(int c):判断是否是⼀个数字或字母int islower(int c):判断是否是⼀个⼩写字母int isupper(int c):判断是否是⼀个⼤写字母int toupper(int c):转换成⼤写字母int tolower(int c):转换成⼩写字母字符串处理和内存操作函数声明于string.h中char *strchr(char *s,int c):如果s中包含字符c,则返回⼀个指向s第⼀次出现的该字符的指针,否则返回NULLchar *strstr(char *s1,char *s2):如果s2是s1的⼀个⼦串,则返回⼀个指向s1中⾸次出现s2的位置的指针,否则返回NULLchar *strlwr(char *s):将s中的字母都变成⼩写cahr *strupr(char *s):将s中的字母都变成⼤写char *strcpy(char *s1,char *s2):将字符串s2的内容复制到s1中去char *strncpy(char *s1,char *s2,int n):将字符串s2的内容复制到s1中去,但是最多复制n个字节,如果复制字节数达到n,那么就不会往s1中写⼊结尾的'\0'char *strcat(cahr *s1,char *s2):将字符串s2添加到s1末尾int strcmp(char *s1,char *s2):⽐较两个字符串,⼤⼩写相关int stricmp(char *s1,char *s2):⽐较两个字符串,⼤⼩写⽆关int strlen(const char *string):计算字符串的长度int strncmp(const char *string1,const char *string2,size_t count):分别取两个字符串的前count个字符作为字符串,⽐较他们的⼤⼩char *strrev(char *string):将字符串string前后颠倒void *memcpy(void *s1,void *s2,int n):将内存地址s2处的n个字节内容复制到内存地址s1void *memset(void *s,int c,int n):将内存地址s开始的n个字节全部置为c不过只能赋制为0,1fill(a,a+n,c):能够赋值为任意值字符串转换函数:定义在stdlib.h中int atoi(char *s):将字符串s转换为整型数double atof(char *s):将字符串s⾥的内容转换为浮点数char * itoa(int value,char *string,int radix):将整型值value以radix进制表⽰法写⼊string。
C语言标准库函数2021

C语言标准库函数20211、常用C语言标准库函数2021C语言编译系统提供了众多的预定义库函数和宏。
用户在编写程序时,可以直接调用这些库函数和宏。
这里选择了初学者常用的一些库函数,简洁介绍了各函数的用法和所在的头文件。
1.测试函数Isalnum原型:intisalnum〔intc〕功能:测试参数c是否为字母或数字:是则返回非零;否则返回零头文件:ctype.hIsapha原型:intisapha〔intc〕功能:测试参数c是否为字母:是则返回非零;否则返回零头文件:ctype.hIsascii原型:intisascii〔intc〕功能:测试参数c是否为ASCII码〔0x00~0x7F〕:是则返回非零;否则返回零头文件:ctype.hIscntrl原型:intiscntrl 〔intc〕功2、能:测试参数c是否为掌握字符〔0x00~0x1F、0x7F〕:是则返回非零;否则返回零头文件:ctype.hIsdigit原型:intisdigit 〔intc〕功能:测试参数c是否为数字:是则返回非零;否则返回零。
头文件:ctype.hIsgraph原型:intisgraph〔intc〕功能:测试参数c是否为可打印字符〔0x21~0x7E〕:是则返回非零;否则返回零头文件:ctype.hIslower原型:intislower〔intc〕功能:测试参数c 是否为小写字母:是则返回非零;否则返回零头文件:ctype.hIsprint 原型:intisprint〔intc〕功能:测试参数c是否为可打印字符〔含空格符0x20~0x7E〕:是则返回非零;否则返回零头文件3、:ctype.hIspunct原型:intispunct〔intc〕功能:测试参数c是否为标点符号:是则返回非零;否则返回零头文件:ctype.hIsupper原型:intisupper〔inrc〕功能:测试参数c是否为大写字母:是则返回非零;否则返回零Isxdigit原型:intisxdigit 〔intc〕功能:测试参数c是否为十六进制数:是则返回非零;否则返回零2.数学函数abs原型:intabs〔inti〕功能:返回整数型参数i的肯定值头文件:stdlib.h,math.hacos原型:doubleacos 〔doublex〕功能:返回双精度参数x的反余弦三角函数值头文件:math.hasin原型:doubleasin〔doublex〕功能:返回双精度参4、数x的反正弦三角函数值头文件:math.hatan原型:doubleatan〔doublex〕功能:返回双精度参数的反正切三角函数值头文件:math.hatan2-省略部分-dmode〕功能:设置打开文件方式。
C语言中的数学函数

C语言中的数学函数数学函数在计算机编程中起着重要的作用,尤其是在C语言中。
C语言提供了丰富的数学函数库,方便开发者进行各种数学计算和操作。
本文将介绍C语言中常用的数学函数,包括数值运算、三角函数、指数函数等。
一、数值运算函数1.1 绝对值函数(fabs)绝对值函数fabs(x)返回x的绝对值。
例如,fabs(-5)的返回值是5。
1.2 向上取整函数(ceil)向上取整函数ceil(x)返回大于或等于x的最小整数。
例如,ceil(4.2)的返回值是5。
1.3 向下取整函数(floor)向下取整函数floor(x)返回小于或等于x的最大整数。
例如,floor(4.8)的返回值是4。
1.4 平方根函数(sqrt)平方根函数sqrt(x)返回x的平方根。
例如,sqrt(16)的返回值是4。
1.5 幂运算函数(pow)幂运算函数pow(x, y)返回x的y次方。
例如,pow(2, 3)的返回值是8。
二、三角函数2.1 正弦函数(sin)正弦函数sin(x)返回以弧度为单位的角x的正弦值。
例如,sin(0)的返回值是0。
2.2 余弦函数(cos)余弦函数cos(x)返回以弧度为单位的角x的余弦值。
例如,cos(3.14)的返回值是-1。
2.3 正切函数(tan)正切函数tan(x)返回以弧度为单位的角x的正切值。
例如,tan(0.8)的返回值是0.999.2.4 反正弦函数(asin)反正弦函数asin(x)返回x的反正弦值,以弧度为单位。
例如,asin(1)的返回值是1.57.2.5 反余弦函数(acos)反余弦函数acos(x)返回x的反余弦值,以弧度为单位。
例如,acos(0)的返回值是1.57.三、指数函数3.1 自然指数函数(exp)自然指数函数exp(x)返回e的x次方。
其中e的值约为2.71828。
例如,exp(1)的返回值是2.71828.3.2 对数函数(log)对数函数log(x)返回以e为底,x的对数值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言中最常用标准库函数- candyliuxj - CSDN博客C语言中最常用标准库函数收藏标准头文件包括:<asset.h> <ctype.h> <errno.h> <float.h><limits.h> <locale.h> <math.h> <setjmp.h><signal.h> <stdarg.h> <stddef.h> <stdlib.h><stdio.h> <string.h> <time.h>一、标准定义(<stddef.h>)文件<stddef.h>里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,<stddef.h>都会被自动包含进来。
这个文件里定义:l 类型size_t (sizeof运算符的结果类型,是某个无符号整型);l 类型ptrdiff_t(两个指针相减运算的结果类型,是某个有符号整型);l 类型wchar_t (宽字符类型,是一个整型,其中足以存放本系统所支持的所有本地环境中的字符集的所有编码值。
这里还保证空字符的编码值为0);l 符号常量NULL (空指针值);l 宏offsetor (这是一个带参数的宏,第一个参数应是一个结构类型,第二个参数应是结构成员名。
offsetor(s,m)求出成员m在结构类型t的变量里的偏移量)。
注:其中有些定义也出现在其他头文件里(如NULL)。
二、错误信息(<errno.h>)<errno.h>定义了一个int类型的表达式errno,可以看作一个变量,其初始值为0,一些标准库函数执行中出错时将它设为非0值,但任何标准库函数都设置它为0。
<errno.h>里还定义了两个宏EDOM和ERANGE,都是非0的整数值。
数学函数执行中遇到参数错误,就会将errno 置为EDOM,如出现值域错误就会将errno置为ERANGE。
三、输入输出函数(<stdio.h>)文件打开和关闭:FILE *fopen(const char *filename, const char*mode);int fclose(FILE * stream);字符输入输出:int fgetc(FILE *fp);int fputc(int c, FILE *fp);getc和putc与这两个函数类似,但通过宏定义实现。
通常有下面定义:#define getchar() getc(stdin)#define putchar(c) putc(c, stdout)int ungetc(int c, FILE* stream); //把字符c 退回流stream格式化输入输出:int scanf(const char *format, ...);int printf(const char *format, ...);int fscanf(FILE *stream, const char *format, ...);int fprintf(FILE *stream, const char *format, ...);int sscanf(char *s, const char *format, ...);int sprintf(char *s, const char *format, ...);行式输入输出:char *fgets(char *buffer, int n, FILE *stream);int fputs(const char *buffer, FILE *stream);char *gets(char *s);int puts(const char *s);直接输入输出:size_t fread(void *pointer, size_t size, size_t num, FILE *stream);size_t fwrite(const void *pointer, size_t size, size_t num, FILE *stream);四、数学函数(<math.h>)三角函数:三角函数sincostan反三角函数asinacosatan双曲函数sinhcosh指数和对数函数:以e为底的指数函数exp自然对数函数log以10为底的对数函数log10其他函数:平方根sqrtfabs乘幂,第一个参数作为底,第二个是指数double pow(double, double)实数的余数,两个参数分别是被除数和除数double fmod(double, double)注:所有上面未给出类型特征的函数都取一个参数,其参数与返回值都是double类型。
下面函数返回双精度值(包括函数ceil和floor)。
在下表里,除其中有特别说明的参数之外,所有函数的其他参数都是double类型。
函数原型意义解释ceil(x)求出不小于x的最小整数(返回与这个整数对应的double 值)floor(x)求出不大于x的最大整数(返回与这个整数对应的double 值)atan2(y, x)求出tan-1(y/x),其值的范围是[-pai,pai]ldexp(x, int n)求出x*2nfrexp(x, int *exp)把x分解为y*2n,是位于区间[1/2,1)里的一个小数,作为函数结果返回,整数n 通过指针*exp返回(应提供一个int变量地址)。
当x 为0时这两个结果的值都是0modf(x, double *ip)把x分解为小数部分和整数部分,小数部分作为函数返回值,整数部分通过指针*ip返回。
五、字符处理函数(<ctype.h>)见下表:int isalpha(c)c是字母字符int isdigit(c)c是数字字符int isalnum(c)c是字母或数字字符int isspace(c)c是空格、制表符、换行符int isupper(c)c是大写字母int islower(c)c是小写字母int iscntrl(c)c是控制字符int isprint(c)c是可打印字符,包括空格int isgraph(c)c是可打印字符,不包括空格int isxdigit(c)c是十六进制数字字符int ispunct(c)c是标点符号int tolower(int c)当c是大写字母时返回对应小写字母,否则返回c本身int toupper(int c)当c是小写字母时返回对应大写字母,否则返回c本身注:条件成立时这些函数返回非0值。
最后两个转换函数对于非字母参数返回原字符。
六、字符串函数(<string.h>)字符串函数所有字符串函数列在下表里,函数描述采用如下约定:s、t表示(char *)类型的参数,cs、ct表示(const char*)类型的参数(它们都应表示字符串)。
n表示size_t类型的参数(size_t是一个无符号的整数类型),c是整型参数(在函数里转换到char):函数原型意义解释size_t strlen(cs)求出cs的长度char *strcpy(s,ct)把ct复制到s。
要求s指定足够大的字符数组char *strncpy(s,ct,n)把ct里的至多n个字符复制到s。
要求s指定一个足够大的字符数组。
如果ct里的字符不够n个,就在s里填充空字符。
char *strcat(s,ct)把ct里的字符复制到s里已有的字符串之后。
s应指定一个保存着字符串,而且足够大的字符数组。
char *strncat(s,ct,n)把ct里的至多n个字符复制到s里已有的字符串之后。
s 应指定一个保存着字符串,而且足够大的字符数组。
int strcmp(cs,ct)比较字符串cs和ct的大小,在cs大于、等于、小于ct时分别返回正值、0、负值。
int strncmp(cs,ct,n)比较字符串cs和ct的大小,至多比较n个字符。
在cs大于、等于、小于ct时分别返回正值、0、负值。
char *strchr(cs,c)在cs中查寻c并返回c第一个出现的位置,用指向这个位置的指针表示。
当cs里没有c时返回值NULLchar *strrchr(cs,c)在cs中查寻c并返回c最后一个出现的位置,没有时返回NULLsize_t strspn(cs,ct)由cs起确定一段全由ct里的字符组成的序列,返回其长度size_t strcspn(cs,ct)由cs起确定一段全由非ct里的字符组成的序列,返回其长度char *strpbrk(cs,ct)在cs里查寻ct里的字符,返回第一个满足条件的字符出现的位置,没有时返回NULLchar *strstr(cs,ct)在cs中查寻串ct(查询子串),返回ct作为cs的子串的第一个出现的位置,ct未出现在cs里时返回NULLchar *strerror(n)返回与错误编号n相关的错误信息串(指向该错误信息串的指针)char *strtok(s,ct)在s中查寻由ct中的字符作为分隔符而形成的单词存储区操作<string.h>还有一组字符数组操作函数(存储区操作函数),名字都以mem开头,以某种高效方式实现。
在下面原型中,参数s和t的类型是(void *),cs和ct的类型是(const void *),n的类型是size_t,c的类型是int(转换为unsigned char)。
函数原型意义解释void *memcpy(s,ct,n)从ct处复制n个字符到s处,返回svoid *memmove(s,ct,n)从ct处复制n个字符到s处,返回s,这里的两个段允许重叠int memcmp(cs,ct,n)比较由cs和ct开始的n个字符,返回值定义同strcmpvoid *memchr(cs,c,n)在n个字符的范围内查寻c在cs中的第一次出现,如果找到,返回该位置的指针值,否则返回NULLvoid *memset(s,c,n)将s的前n个字符设置为c,返回s七、功能函数(<stdlib.h>)随机数函数:函数原型意义解释int rand(void)生成一个0到RAND_MAX的随机整数void srand(unsigned seed)用seed为随后的随机数生成设置种子值动态存储分配函数:函数原型意义解释void *calloc(size_t n, size_t size)分配一块存储,其中足以存放n个大小为size的对象,并将所有字节用0字符填充。