常见15个C语言的标准库

C语言的标准库包括15个部分,每一个部分都有一个头描述。标准头主要由函数原型、类型定义以及宏定义组成。如果使用了标准库中的函数,就要将相应的标准头使用#include包含进来。

标准头名 功能 描述
<assert.h> 诊断 仅包含assert宏。可以在程序中使用该宏来诊断程序状态(例如某个变量是否为0等),若检查失败,程序终止。
<ctype.h> 字符处理 包含判断字符类型及大小写转换的函数。
<errno.h> 错误监测 提供了errno。可以在调用特定库函数后检测errno的值以判断调用过程中是否有错误发生。
<float.h> 浮点数特性 提供了描述浮点数特性的宏。
<limits.h> 整型特性 提供了描述整数类型和字符类型特性的宏。
<locale.h> 本地化 提供了一些支持程序国际化的函数。
<math.h> 数学计算 提供了大量用以数学计算的函数。
<setjmp.h> 非本地跳转 提供了用于绕过正常的函数返回机制,从一个函数跳转到另一个正在活动的函数的setjmplongjmp函数。
<signal.h> 信号处理 提供了包括中断和运行时错误在内的异常情况处理函数。
<stdarg.h> 不定参数 提供了支持函数处理不变个数的参数的工具。
<stddef.h> 常用定义 提供了常用的类型和宏。
<stdio.h> 输入输出 提供了大量输入输出函数。
<stdlib.h> 常用实用函数 提供了大量实用的函数。
<string.h> 字符串处理 提供了大量字符串处理函数。
<time.h> 日期和时间 提供了获取、操纵和处理日期的函数。

包含了标准头的文件不能再使用标准库定义过的宏的名字作为其他元素的标识符,同时标准头中定义具有文件作用域的类型名不可以在文件中重定义。

标准库中经常在定义函数的同时,还定义了与函数同名的宏。默认情况下使用这样的函数,是使用宏调用,利用宏可以提高程序的运行速度。如果出于缩小可执行文件大小或获得函数指针的目的需要使用实际的函数,那么可以使用undef来删除宏定义,同时也可以通过给函数名字加圆括号的方式来屏蔽宏调用。

/**************************************
 * overveiw.c                         *
 *                                    *
 * C语言中的标准头的使用              *
 **************************************/

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>

int max(int x, int y)
{
  int larger =  x > y ? x : y;
  printf("%d与%d中的最大值为%d\n", x, y, larger);
  return larger;
}

#define max(x,y) printf("宏调用:"); \
  max(x,y)

int main()
{
  int x = 0;
  int y = 0;

  printf("输入两个整数:");
  scanf("%d%d", &x, &y);


  max(x,y);

  /*屏蔽宏调用*/
  (max)(x,y);

#  undef max
  max(x,y);

  return 0;
}
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

注意上例中与函数同名的宏定义出现在函数定义之后。 
[标准库示例

C语言标准库C语言提供的一套函数库集合,可以通过包含不同的头文件来调用这些库中的函数。标准库中包含了丰富的函数,用于处理输入输出、字符串操作、数学运算、内存管理、时间日期处理等各种功能。 其中,stdio.h是最常用的标准库之一,定义了一些常用的输入输出函数,比如printf和scanf,用于从控制台输入数据以及向控制台输出结果。此外,还有更多的I/O函数,比如文件的读写、格式化输入输出等。 string.h是另一个常用的标准库,提供了一系列对字符串进行操作的函数。例如,strlen函数用于计算字符串的长度,strcpy函数用于将一个字符串复制到另一个字符串中,strcat函数用于将一个字符串连接到另一个字符串的末尾。 math.h是用于数学运算的标准库,提供了各种数学函数,包括常见的数学运算、三角函数、指数和对数函数等。 stdlib.h是用于内存管理和一些常用函数的标准库。比如,malloc函数用于动态分配内存,free函数用于释放已分配的内存,atoi和atof函数用于将字符串转换成整数或浮点数。 time.h是用于时间和日期处理的标准库,包含了一些和时间相关的函数。比如,time函数用于获取当前的时间,ctime函数用于将时间转换成字符串表示。 除了以上几个常用的标准库外,C语言还提供了诸如ctype.h、assert.h、stdbool.h等其他标准库,用于字符处理、断言、布尔类型处理等。 总的来说,C语言标准库提供了很多常用功能的函数,可以帮助开发人员更快地实现各种功能,提高开发效率。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lm_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值