C语言为什么定义了这么多不同的时间标准

由于所使用的计算机和编译程序不同,你可能会发现定义了许多时间标准。尽管有多种时间标准会带来一定的方便,但把它们都写出来显然要花很长的时间,并且把它们都存储起来也会多占硬盘空间。那么,为什么还要这样呢?其中有好几个原因,具体情况如下,更多消息请关注应届毕业生网!

C语言为什么定义了这么多不同的时间标准

首先,C是一种可移植的语言。因此在一台计算机上编写的C程序应该能在另一台计算机上运行。通常,当用C语言在一个新的系统上进行开发时,必须把专门在某个系统上使用的那些函数添加到C语言中。此后,当C程序需要从一个系统移植到另一个系统中时,将具体命令添加到目标系统中通常就很容易了。这样一来,同一函数的不同版本就都汇集在C语言中了。这种情况就曾多次发生在时间函数身上。

其次,时间(和日期)可能有多种不同的用法。你可能想按秒计时,可能想从一个具体的时间和日期开始计时。此外,你还可能想按最小的时间间隔计时,以确保计时尽可能精确。对于计时,没有一种最好的方法。当你开始编写一个涉及到时间的程序时,你必须先把可以使用的函数分析一遍,并确定哪一种函数最适合于你的目的。如果你要用多种方法处理时间,你就可能要使用多种不同的时间格。

【拓展阅读】

C语言中关于时间的函数的概念

在C/C++中,通过学习许多C/C++库,你可以有很多操作、使用时间的方法。但在这之前你需要了解一些“时间”和“日期”的概念,主要有以下几个:

1. 协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。

2. 日历时间,是用“从一个标准时间点到此时的时间经过的.秒数”来表示的时间。这个标准时间点对不同的编译器来说会有所不同,但对一个编译系统来说,这个标准时间点是不变的,该编译系统中的时间对应的日历时间都通过该标准时间点来衡量,所以可以说日历时间是“相对时间”,但是无论你在哪一个时区,在同一时刻对同一个标准时间点来说,日历时间都是一样的。

3. 时间点。时间点在标准C/C++中是一个整数,它用此时的时间和标准时间点相差的秒数(即日历时间)来表示。

4. 时钟计时单元(而不把它叫做时钟滴答次数),一个时钟计时单元的时间长短是由CPU控制的。一个clock tick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。

我们可以使用ANSI标准库中的time.h头文件。这个头文件中定义的时间和日期所使用的方法,无论是在结构定义,还是命名,都具有明显的C语言风格。

  c语言入门经典小程序

1 、 /* 输出 9*9 口诀。共 9 行 9 列, i 控制行, j 控制列。 */

#include "stdio.h"

main()

{int i,j,result;

for (i=1;i<10;i++)

{ for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占 3 位 */

}

printf("n");/* 每一行后换行 */

}

}

2 、 /* 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔

子都不死,问每个月的兔子总数为多少?

兔子的规律为数列 1,1,2,3,5,8,13,21....*/

main()

{

long f1,f2;

int i;

f1=f2=1;

for(i=1;i<=20;i++)

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf("n");/* 控制输出,每行四个 */

f1=f1+f2; /* 前两个月加起来赋值给第三个月 */

f2=f1+f2; /* 前两个月加起来赋值给第三个月 */

}

}