碎碎念念
C语言能用的函数有很多,限于篇幅,加上本人也是初学者,在这里只给出初学者常用的标准库函数。
函数名字一般是其功能的英文缩写。
1.数学函数
头文件math.h
函数名 | 函数原型 | 函数功能 |
---|---|---|
sin | double sin(double x); | 返回sin(x)的值 |
cos | double cos(double x); | 返回cos(x)的值 |
tan | double tan(double x); | 返回tan(x)的值 |
abs | int abs(int x); | 返回整数x的绝对值 |
fabs | double fabs(double x); | 返回实数x的绝对值 |
floor | double floor(double x); | 对x向下取整 |
ceil | double ceil(double x); | 对x向上取整 |
pow | double pow(double x,double y); | 返回x^y的值 |
log10 | double log10(double x); | 返回以10为底数,x为真数的对数 |
sqrt | double sqrt(double x); | 返回x的正平方根 |
2.字符处理函数
头文件ctype.h
函数名 | 函数原型 | 函数功能 |
---|---|---|
islower | int islower(int x) | 若x是小写字母,返回非0,否则返回0 |
isupper | int isupper(int x) | 若x是大写字母,返回非0,否则返回0 |
isalpha | int isalpha(int x) | 若x是字母,返回非0,否则返回0 |
isdigit | int isdigit(int x) | 若x是数字,返回非0,否则返回0 |
isalnum | int isalnum(int x) | 若x是字母或是数字,返回非0,否则返回0 |
tolower | int tolower(int x) | 返回x代表的小写字母 |
toupper | int toupper(int x) | 返回x代表的大写字母 |
3.字符串处理函数
头文件string.h
函数名 | 函数原型 | 函数功能 |
---|---|---|
strcpy | char *strcpy(char *x1,const char *x2) | 将字符串x2复制到字符串x1中 |
strcat | char *strcat(char *x1,const char *x2) | 将字符串x2连接到字符串x1后面 |
strcmp | char *strcmp(const char *x1,const char *x2) | 按照字典顺序挨个字符比较两个字符串(字母大小写敏感) x1<x2,返回负数 x1=x2,返回0 x1>x2,返回正数 |
strupr | char *strupr(char *x) | 将字符串x中的小写字母变成大写字母 |
strlwr | char *strlwr(char *x) | 将字符串x中的大写字母变成小写字母 |
strlen | unsigned int char *strlen(const char *x) | 返回字符串x的字符个数 |
4.动态内存分配函数
头文件stdlib.h或malloc.h
函数名 | 函数原型 | 函数功能 |
---|---|---|
malloc | void *malloc(unsigned size); | 分配size字节的内存区, 成功则返回内存起始地址, 失败则返回NULL |
free | void free(void *p); | 释放p所指的内存区 |
5.内存操作函数
头文件string.h
函数名 | 函数原型 | 函数功能 |
---|---|---|
memset | void *memset(void *p,char ch,unsigned n); | 将p为首地址的一片连续的n个字节内存单元都赋值为ch |
例如,将数组array的每个数据单元赋值为'a':
代码语言:javascript复制char array[6];
memset(array,'a',6);
再例如,对数组num清0:
代码语言:javascript复制int num[6];
memset(num,0,6*sizeof(int));
6.缓冲区文件系统的输入输出函数
头文件stdio.h
函数名 | 函数原型 | 函数功能 |
---|---|---|
scanf | int scanf(const char *format,p); | 按format格式输入数据给p所指向的内存单元, 文件结束返回EOF |
printf | int printf(const char *format,args); | 按format格式输出args的值 |
getchar | int getchar(); | 读取并返回字符直到遇上回车符 |
putchar | int putchar(char ch); | 输出字符ch |
gets | char *gets(char *str); | 读入字符串到str指向的字符数组中,直到读到回车符变成' |