今天在写题目的时候发现了一个没见过的库函数的运用,于是翻书查看了一下,发现居然属于常用库函数,所以写下来记录一下
头文件
一般来说,在我们下载编译软件的时候,库函数所在的头文件就已经存在在电脑里面了,用的时候直接调用就可以了,不需要我们编写添加,在使用库函数的时候,可以使用#include 文件包预处理指令。这里就不多介绍了,每次写代码我们至少使用一个库函数。但是#include指令一般有两个形式:
#include <stdio.h>
#include "stdio.h"
使用第一个可以到系统指定包含目录去查找被包含文件,如果使用第二个,则是首先在系统当前目录下查找,如果没有找到再到系统指定包含目录去查找。因为多数是直接调用,所以一般使用第一种方式,第二种方式多用于我们自己自定义的头文件或者源程序。
一些常用的库函数
stdio.h
stdio.h,在我的认知中我们几乎写的所有的代码都需要运用这个库函数(仅限于基础C,单片机,CCS等不包含在内)。这个头文件所包含的库函数有printf,scanf和符号常量NULL。代码举例如下:
#include <stdio.h>
int main(){
printf("Hello Word!\n");
return 0;
}
上述代码是我们入门所学的输出Hello Word!,这里面用到了printf这个库函数,所以我们要添加头文件stdio.h
math.h
math.h是我们常用的头文件之一,顾名思义,这个头文件会在我们编写一些和数学计算相关的代码的时候进行导入引用。
#include <stdio.h>
#include <math.h>
int Prime(int x);
int main(){
int a;
printf("请输入一个整数:");
scanf("%d",&a);
if(Prime(a)==1)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
return 0;
}
int Prime(int x){
int i,n;
n=sqrt(x);
for(i=2;i<=n;i++){
if(x%i==0)
return 0;
}
return 1;
}
上述代码是进行素数的判定功能,调用math.h这个头文件是因为我们需要使用sqrt(x)来计算x开2次方根的值。当然这个头文件里面包含的库函数不止这一个,还有其他,这里就不一一举例了。
string.h
string.h是我们在写和字符串相关的代码的时候经常使用,在我们需要计算字符串的长度,比较字符串的大小等时候使用。
#include <stdio.h>
#include <string.h>
int main() {
char a[] = "ABCDEF";
char b[] = { 'A','B','C','D','E','F','\0'};
printf("%d,%d\n", sizeof(a), sizeof(b));
printf("%d.%d", strlen(a), strlen(b));
}
上述代码的功能是输出字符串的大小,因为使用到sizeof和strlen这两个库函数,因此我们需要加入string.h这个头文件。
当然,我们还有很多其他的库函数,这里就不一一介绍了,大家可以自行了解一下,例如ctype.h字符处理函数,malloc.h动态内存分配函数,stdlib.h实用函数,time.h时间库函数。
//删除字符串s中的所有空格(包括tab,回车和换行)
#include <ctype.h>
void delspace(char* p) {
int i, t;
char c[80];
for (i = 0, t = 0; (p[i]); i++) {
if (!isspace(*(p+i)))//判断空格
c[t++] = p[i];
}
c[t] = '\0';
strcpy(p, c);
}
知识参考来源:《程序设计基础——从问题到程序》