Logo

郎哥编程

C语言标准函数库

2024-05-14 20

C语言标准函数库是一组内置的C函数,开发者可以直接使用这些函数完成诸如输入输出、数学运算、时间运算等功能,极大提高了程序的编程效率和稳定性。

标准函数库的函数声明被放置在C语言的头文件内(.h文件),函数的可执行代码在静态库文件内(.o或.lib)。开发者调用库内函数时,需要把包含函数声明的头文件使用include关键字导入到源程序文件,才能在源程序文件中使用这些库函数。

一、标准函数库的调用方式

例如若需要在源程序文件内使用printf()、scanf()等函数,就需要将<stdio.h>文件导入到源程序文件:

#include<stdio.h>

函数声明是把函数的首部,包括函数的返回类型、函数名称、传入的形参类型和个数,书写到一个头文件内,使用include关键字导入该头文件到源程序文件后,C编译器会对包含的头文件进行预编译,为声明的函数预留内存空间,生成函数符号表,执行链接过程时,加载函数执行代码所在的静态库文件,将函数执行代码链接到编译后的程序。

上图描述了C语言编译程序的完整过程,静态库文件的扩展名为“.o”或“.lib”,它存储了在头文件已声明函数的可执行代码,链接程序会读取这些可执行代码,复制到目标文件内进行链接,最终生成程序。

二、标准函数库的头文件

C语言提供了丰富的内置函数,这些内置函数分门别类地放在不同的头文件内。常用的标准函数库头文件如下表所示:

头文件 功能
stdio.h 标准输入输出头文件,用于输入和输出
math.h 数学函数头文件,用于数学运算
string.h 字符串处理头文件,用于字符串运算
stdlib.h 标准库头文件,通用的工具函数
ctype.h 字符分类头文件,用于字符分类
time.h 时间头文件,用于时间处理函数

源程序文件只要导入上述头文件,就可以调用头文件内声明的函数。如何阅读头文件内提供的函数声明呢?

若本地安装了微软MSDN帮助文档,可以直接在MSDN帮助文档查看标准库函数的函数声明。若没有安装MSDN帮助文档,可以直接在项目文件中打开对应的头文件,查看对应的函数声明。

也可以通过cplusplus网站阅读C语言标准函数库函数声明,阅读效果比直接阅读头文件要好。

例1  计算自然数1-10的平方根和立方。

编程思路:先要确定在程序中如何计算一个数的平方根和立方。标准函数库头文件math.h提供了用于数学运算的函数,查询math.h提供的函数,发现sqrt(double x)函数可以计算x的平方根,pow (double x, double y)函数可以计算x的y次幂。要使用上述两个函数,源程序文件要导入math.h头文件。

程序清单 sample.c

// 导入输入输出头文件
#include<stdio.h>
// 导入数学库头文件
#include<math.h>
// 主函数,没有返回值
void main()
{
	// 声明循环变量
	int i = 1;
	// 用于存储平方根和立方结果
	double a,b;
	// 循环输出1~10的平方根和立方
	for( i = 1; i <= 10; i++ )
	{
		// 调用sqrt函数计算i平方根
		// sqrt函数要求传入的参数为double类型
		a = sqrt((double)i);
		// 调用pow函数计算i的立方
		// sqrt函数要求传入的参数为double类型
		b = pow((double)i,3);
		// 输出结果
		printf("%d的平方根=%.2f; %d的立方=%.2f\n",i,a,i,b);
	}
}

例1演示了C语言内置函数的调用方法。调用C语言内置函数之前,需要先查阅内置函数的函数声明、功能和调用方法。然后在源程序文件内导入包含该函数声明的头文件,在程序语句内直接调用即可。

 

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论