C标准库你知道哪一些?

本文介绍了C语言标准库中的关键头文件:assert.h用于调试的assert宏,errno.h中的errno变量和常见错误代码,以及time.h提供的日期和时间操作函数。通过实例展示了这些库在实际编程中的应用,帮助读者更好地理解和运用C语言标准库。
摘要由CSDN通过智能技术生成

 

文章目录

  • 前言
  • 一、C 标准库 - <assert.h>
  • 二、C 标准库 - <errno.h>
  • 三、C 标准库 - <time.h>
  • 总结


前言

C 语言是一门通用的、抽象的程序设计语言,广泛运用于底层开发, 诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)和肯·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。C语言是一门结构性语言,可分模块编写程序并调用程序,同时C语言也拥有自己的标准库,作为一C语言学习者你可否了解C语言的标准库呢?C语言标准库中包含着<assert.h>,<ctype.h>,<errno.h>。<float.h>,<limits.h>,<locale.h>,<math.h>, <setjmp.h>,<signal.h>, <stdarg.h>, <stddef.h>,<stdio.h>,<stdlib.h>和<string.h>,下面简单的介绍其中三种:<assert.h>,<errno.h>和<time.h>

一、C 标准库 - <assert.h>

C 标准库的 assert.h头文件提供了一个名为 assert 的宏,assert() 是一个调试程序时经常使用的宏,它通常用于验证程序做出的假设,当程序中出现了错误,非法的数据,则会终止程序以免造成更大的严重后果,同时也便于查找错误。

二、C 标准库 - <errno.h>

C 标准库的中的errno.h 头文件定义了整数变量 errno,它主要是通过系统调用来设置的,在错误事件中的某些库函数表明了什么发生了错误。头文件errno.h在程序启动时,j将errno 设置为零。

其中主要有三种用法:

1.C 库宏 extern int errno 主要是通过系统调用设置的函数,在错误事件中的某些库函数表明了什么发生了错误。

2.C 库宏 EDOM 表示一个域错误,它在输入参数超出数学函数定义的域时发生,在errno 中将其设置为 EDOM。声明:#define EDOM A

3.C 库宏 ERANGE 表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,在errno中将其 设置为 ERANGE。声明:#define ERANGE A

三、C 标准库 - <time.h>

C标准库中的time.h 头文件定义了四个变量类型、两个宏和各种操作日期和时间的函数

1.库变量:

变量描述
size_t无符号整数类型,是sizeof关键字的结果
clock_t适用存储器时间的类型
time_t is适用于存储日历时间类型
struct tm适用于保存时间和日期的结构

2.tm结构的定义:

struct tm{
int tm_sec;     //秒,范围从0到59
int tm_min;     //分,范围从0到59
int tm_hour;    //小时,范围是0到23
int tm_mday;    //一月中的第几天,范围从1到31
int tm_mon;     //月,范围从0到11
int tm_year;    //自1900年起的年数
int tm_wday;    //一周中第几天,范围是从0到6
int tm_yday;    //一年中的第几天,范围是从0到365
int tm_isdst;   //夏令时
};

3.头文件time.h中的定义宏:

描述
NULL空指针常量
CLOCKS_PER_SEC表示每秒的处理器时钟个数

4.库函数描述:

函数描述
asctime()函数表示返回一个指向字符串的指针,它代表了结构 timeptr 的日期和时间。
clock()函数表示从返回程序执行起,处理器时钟所使用的时间,其中为了获取 CPU 所使用的秒数,您需要除以 CLOCKS_PER_SEC。
ctime()函数表示返回一个表示当地时间的字符串,当地时间是基于参数 timer
 difftime() 函数表示返回不同的时间差
gmtime() 函数表示格林尼治时间
localtime() 函数用于表示本地时区
mktime() 函数
把()所指的结构转换为自1970年1月1日以来持续时间的秒数,发生错误是返回-1
strftime() 函数如 size_t strfime(char *s,size_t maxsize,const char*ret,const struct tm *timeptr),根据ret中定义的格式化规则,格式化结构timeptr表示时间,并将其存储于s中
 time() 函数计算当前日历时间,并将其编码成()中格式

5.asctime()函数的运用:

#include <stdio.h>
#include <string.h>
#include <time.h>

int main()
{
   struct tm t;

   t.tm_sec    = 23;
   t.tm_min    = 8;
   t.tm_hour   = 5;
   t.tm_mday   = 20;
   t.tm_mon    = 6;
   t.tm_year   = 2000;
   t.tm_wday   = 25;

   puts(asctime(&t));
   
   return(0);
}

6.结果演示:


 

总结

在学习C语言中,我们不仅仅会编写简单的程序,并且学会运用C标准库中的函数,以帮助自己提高代码的运算效率。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

斯择微韵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值