附录C  C语言常用的库函数
库函数并不是C语言的一部分,它是由编译系统根据一般用户的需要编制并提供给用户使用的一组程序;每一种C编译系统都提供了一批库函数,不同的编译系统所提供的库函数的数目和函数名以及函数功能是不完全相同的;ANSI C标准提出了一批建议提供的标准库函数;它包括了目前多数C编译系统所提供的库函数,但也有一些是某些C编译系统未曾实现的;考虑到通用性,本附录列出ANSI C建议的常用库函数;
由于C库函数的种类和数目很多,例如还有屏幕和图形函数、时间日期函数、与系统有关的函数等,每一类函数又包括各种功能的函数,限于篇幅,本附录不能全部介绍,只从教学需要的角度列出最基本的;读者在编写C程序时可根据需要,查阅有关系统的函数使用手册;
1.数学函数
使用数学函数时,应该在源文件中使用预编译命令:
include <math.h>或include "math.h"
函数名
函数原型
功能
返回值
acos
double acosdouble x;
计算arccos x的值,其中-1<=x<=1
计算结果
asin
double asindouble x;
计算arcsin x的值,其中-1<=x<=1
计算结果
atan
double atandouble x;
计算arctan x的值
计算结果
atan2
double atan2double x, double y;
计算arctan x/y的值
计算结果
cos
double cosdouble x;
计算cos x的值,其中x的单位为弧度
计算结果
cosh
double coshdouble x;
计算x的双曲余弦cosh x的值
计算结果
exp
double expdouble x;
求ex的值
计算结果
fabs
double fabsdouble x;
求x的绝对值
计算结果
floor
double floordouble x;
求出不大于x的最大整数
该整数的双精度实数
fmod
double fmoddouble x, double y;
求整除x/y的余数
返回余数的双精度实数
frexp
double frexpdouble val, int eptr;
把双精度数val分解成数字部分尾数和以2为底的指数,即val=x2n,n存放在eptr指向的变量中
数字部分x
0.5<=x<1
log
double logdouble x;
求lnx的值
计算结果
log10
double log10double x;
求log10x的值
计算结果
modf
double modfdouble val, int iptr;
把双精度数val分解成数字部分和小数部分,把整数部分存放在ptr指向的变量中
val的小数部分
pow
double powdouble x, double y;
求xy的值
计算结果
sin
double sindouble x;
求sin x的值,其中x的单位为弧度
计算结果
sinh
double sinhdouble x;
计算x的双曲正弦函数sinh x的值
计算结果
sqrt
double sqrt double x;
计算,其中x≥0
计算结果
tan
double tandouble x;
计算tan x的值,其中x的单位为弧度
计算结果
tanh
double tanhdouble x;
计算x的双曲正切函数tanh x的值
计算结果
2.字符函数
在使用字符函数时,应该在源文件中使用预编译命令:
include <ctype.h>或include "ctype.h"
函数名
函数原型
功能
返回值
isalnum
int isalnumint ch;
检查ch是否字母或数字
是字母或数字返回1,否则返回0
isalpha
int isalphaint ch;
检查ch是否字母
是字母返回1,否则返回0
iscntrl
int iscntrlint ch;
检查ch是否控制字符其ASCII码在0和0xlF之间
是控制字符返回1,否则返回0
isdigit
int isdigitint ch;
检查ch是否数字
是数字返回1,否则返回0
isgraph
int isgraphint ch;
检查ch是否是可打印字符其ASCII码在0x21和0x7e之间,不包括空格
是可打印字符返回1,否则返回0
islower
int islowerint ch;
检查ch是否是小写字母a~z
是小字母返回1,否则返回0
isprint
int isprintint ch;
检查ch是否是可打印字符其ASCII码在0x21和0x7e之间,不包括空格
是可打印字符返回1,否则返回0
ispunct
int ispunctint ch;
检查ch是否是标点字符不包括空格即除字母、数字和空格以外的所有可打印字符
是标点返回1,否则返回0
isspace
int isspaceint ch;
检查ch是否空格、跳格符制表符或换行符
是,返回1,否则返回0
isupper
int isupperint ch;
检查ch是否大写字母A~Z
是大写字母返回1,否则返回0
isxdigit
int isxdigitint ch;
检查ch是否一个16进制数字
即0~9,或A到F,a~f
是,返回1,否则返回0
tolower
int tolowerint ch;
将ch字符转换为小写字母
返回ch对应的小写字母
toupper
int toupperint ch;
将ch字符转换为大写字母
返回ch对应的大写字母
3.字符串函数
使用字符串中函数时,应该在源文件中使用预编译命令:
include <string.h>或include "string.h"
函数名
函数原型
功能
返回值
memchr
void memchrvoid buf, char ch, unsigned count;
在buf的前count个字符里搜索字符ch首次出现的位置
返回指向buf中ch的第一次出现的位置指针;若没有到ch,返回NULL
memcmp
int memcmpvoid buf1, void buf2, unsigned count;
按字典顺序比较由buf1和buf2指向的数组的前count个字符
buf1<buf2,为负数
buf1=buf2,返回0
buf1>buf2,为正数
memcpy
void memcpyvoid to, void from, unsigned count;
将from指向的数组中的前count个字符拷贝到to指向的数组中;From和to指向的数组不允许重叠
返回指向to的指针
memove
void memovevoid to, void from, unsigned count;
将from指向的数组中的前count个字符拷贝到to指向的数组中;From和to指向的数组不允许重叠
返回指向to的指针
memset
isalpha 函数void memsetvoid buf, char ch, unsigned count;
将字符ch拷贝到buf指向的数组前count个字符中;
返回buf
strcat
char strcatchar str1, char str2;
把字符str2接到str1后面,取消原来str1最后面的串结束符“\0”
返回str1
strchr
char strchrchar str,int ch;
出str指向的字符串中第一次出现字符ch的位置
返回指向该位置的指针,如不到,则应返回NULL
strcmp
int strcmpchar str1, char str2;
比较字符串str1和str2
若str1<str2,为负数
若str1=str2,返回0
若str1>str2,为正数
strcpy
char strcpychar str1, char str2;
把str2指向的字符串拷贝到str1中去
返回str1
strlen
unsigned intstrlenchar str;
统计字符串str中字符的个数不包括终止符“\0”
返回字符个数
strncat
char strncatchar str1, char str2, unsigned count;
把字符串str2指向的字符串中最多count个字符连到串str1后面,并以NULL结尾
返回str1
strncmp
int strncmpchar str1,str2, unsigned count;
比较字符串str1和str2中至多前count个字符
若str1<str2,为负数
若str1=str2,返回0
若str1>str2,为正数
strncpy
char strncpychar str1,str2, unsigned count;
把str2指向的字符串中最多前count个字符拷贝到串str1中去
返回str1
strnset
void setnsetchar buf, char ch, unsigned count;
将字符ch拷贝到buf指向的数组前count个字符中;
返回buf
strset
void setsetvoid buf, char ch;
将buf所指向的字符串中的全部字符都变为字符ch
返回buf
strstr
char strstrchar str1,str2;
寻str2指向的字符串在str1指向的字符串中首次出现的位置
返回str2指向的字符串首次出向的地址;否则返回NULL
4.输入输出函数

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。