库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序。每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的。ANSI C标准提出了一批建议提供的标准库函数。它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的。考虑到通用性,本附录列出ANSI C建议的常用库函数。
由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的。读者在编写C程序时可根据需要,查阅有关系统的函数使用手册。
1.数学函数
使用数学函数时,应该在源文件中使用预编译命令:
#include或#include "math.h"
函数名函数原型功能返回值acosdouble acos(double x);计算arccos x的值,其中-1<=x<=1计算结果asindouble asin(double x);计算arcsin x的值,其中-1<=x<=1计算结果atandouble atan(double x);计算arctan x的值计算结果atan2double atan2(double x, double y);计算arctan x/y的值计算结果cosdouble cos(double x);计算cos x的值,其中x的单位为弧度计算结果coshdouble cosh(double x);计算x的双曲余弦cosh x的值计算结果expdouble exp(double x);求ex的值计算结果fabsdouble fabs(double x);求x的绝对值计算结果floordouble floor(double x);求出不大于x的最大整数该整数的双精度实数fmoddouble fmod(double x, double y);求整除x/y的余数返回余数的双精度实数frexpdouble frexp(double val, int *eptr);把双精度数val分解成数字部分(尾数)和以2为底的指数,即val=x*2n,n存放在eptr指向的变量中数字部分x
0.5<=x<1logdouble log(double x);求lnx的值计算结果log10double log10(double x);求log10x的值计算结果modfdouble modf(double val, int *iptr);把双精度数val分解成数字部分和小数部分,把整数部分存放在ptr指向的变量中val的小数部分powdouble pow(double x, double y);求xy的值计算结果sindouble sin(double x);求sin x的值,其中x的单位为弧度计算结果sinhdouble sinh(double x);计算x的双曲正弦函数sinh x的值计算结果sqrtdouble sqrt (double x);计算,其中x≥0计算结果tandouble tan(double x);计算tan x的值,其中x的单位为弧度计算结果tanhdouble tanh(double x);计算x的双曲正切函数tanh x的值计算结果2.字符函数
在使用字符函数时,应该在源文件中使用预编译命令:
#include或#include "ctype.h"
函数名函数原型功能返回值isalnumint isalnum(int ch);检查ch是否字母或数字是字母或数字返回1,否则返回0isalphaint isalpha(int ch);检查ch是否字母是字母返回1,否则返回0iscntrlint iscntrl(int ch);检查ch是否控制字符(其ASCII码在0和0xlF之间)是控制字符返回1,否则返回0isdigitint isdigit(int ch);检查ch是否数字是数字返回1,否则返回0isgraphint isgraph(int ch);检查ch是否是可打印字符(其ASCII码在0x21和0x7e之间),不包括空格是可打印字符返回1,否则返回0islowerint islower(int ch);检查ch是否是小写字母(a~z)是小字母返回1,否则返回0isprintint isprint(int ch);