C语言计算时间

作者&投稿:强瑞 (若有异议请与网页底部的电邮联系)
计算C语言程序运行时间(hello world)~

#include "time.h"
#include "stdio.h"

main()
{
double start, finish;

start = clock();//取开始时间

printf("Hello, World!
");

finish = clock();//取结束时间
printf( "%f seconds
",(finish - start) / CLOCKS_PER_SEC);//以秒为单位显示之

}
上面的代码理论上是可以显示printf("Hello, World!
");语句的运行时间的,但我猜实际的显示结果是0,因为printf("Hello, World!
");这个语句的运行时间是可以忽略不计的,加一个次数较多的循环才能看到效果

#include
#include
#include void main()
{
unsigned char time1[] = { 10, 8, 31, 9, 26 };
unsigned char time2[] = { 10, 8, 31, 9, 50 };struct tm t1 = {0};
struct tm t2 = {0};time_t _t1;
time_t _t2;double diff;t1.tm_year = time1[0] + 100;
t1.tm_mon = time1[1];
t1.tm_mday = time1[2];
t1.tm_hour = time1[3];
t1.tm_min = time1[4];t2.tm_year = time2[0] + 100;
t2.tm_mon = time2[1];
t2.tm_mday = time2[2];
t2.tm_hour = time2[3];
t2.tm_min = time2[4];_t1 = _mkgmtime( &t1 );
_t2 = _mkgmtime( &t2 );diff = difftime(_t2, _t1 );printf( "相差 %.0f 分钟
", diff / 60 );}

扩展资料:C语言中有两个相关的函数用来计算时间差,分别是:
time_t time( time_t *t) 与 clock_t clock(void)
头文件: time.h
计算的时间单位分别为: s , ms
time_t 和 clock_t 是函数库time.h 中定义的用来保存时间的数据结构
返回值:
1、time : 返回从公元1970年1月1号的UTC时间从0时0分0秒算起到现在所经过的秒数。如果参数 t 非空指针的话,返回的时间会保存在 t 所指向的内存。
2、clock:返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数。 1单元 = 1 ms。
所以我们可以根据具体情况需求,判断采用哪一个函数。
具体用法如下例子:
#include
#include
#include

int main()
{
time_t c_start, t_start, c_end, t_end;

c_start = clock(); //!< 单位为ms
t_start = time(NULL); //!< 单位为s
system("pause");
c_end = clock();
t_end= time(NULL);

//!<difftime(time_t, time_t)返回两个time_t变量间的时间间隔,即时间差
printf("The pause used %f ms by clock()
",difftime(c_end,c_start));
printf("The pause used %f s by time()
",difftime(t_end,t_start));
system("pause");

return 0;
}
因此,要计算某一函数块的占用时间时,只需要在执行该函数块之前和执行完该函数块之后调用同一个时间计算函数。再调用函数difftime()计算两者的差,即可得到耗费时间。

在C语言中计算时间,可以使用标准库中的计时函数——clock()。

函数原型:

clock_t clock( void );

其中clock_t是用来保存时间的数据类型,在time.h文件中,可以找到对它的定义:

#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif


很明显,clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:

#define CLOCKS_PER_SEC ((clock_t)1000)

可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:

void elapsed_time()
{
printf("Elapsed time:%u secs.
",clock()/CLOCKS_PER_SEC);
}

当然,也可以用clock函数来计算的机器运行一个循环或者处理其它事件到底花了多少时间:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main( void )
{
long    i = 10000000L;
clock_t start, finish;
double  duration;
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i-- )      ;
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds
", duration );
system("pause");
}


#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d:%d %d:%d",&a,&b,&c,&d);
printf("%d\n",c*60+d-(a*60+b));
}
满意请采纳!

#include <stdio.h>
int main(void)
{
int min_start,min_end,sec_start,sec_end,last;
scanf("%d%*c%d%d%*c%d",&min_start,&sec_start,&min_end,&sec_end);
last=60*(min_end-min_start)+(sec_end-sec_start);
printf("%d\n",last);
return 0;
}

#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d:%d",&a,&b);
scanf("%d:%d",&c,&d);
printf("%d\n",c*60+d-(a*60+b));
return 0;
}

//最短最精辟 不解释
24:55 26:12
77
Press any key to continue

#include <stdio.h>
main()
{
int begM,endM,begS,endS;
scanf("%d:%d %d:%d",&begM,&begS,&endM,&endS);
printf("%d\n",60*(endM-begM)+(endS-begS));
}


怎样计算程序的执行时间(C语言中)?
在c语言中有专门处理系统时间,程序计时等等功能的库,即time.h 在time.h中函数clock_t clock( void )可以完成计时功能。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的...

关于计算C语言程序运行时间
头文件time.h int a=clock();\/\/从这开始计时 这放要测试时间的代码 int b=clock();\/\/到这结束 int c=b-a;\/\/算出来的单位是毫秒

C语言获取系统时间
需要利用C语言的时间函数time和localtime,具体说明如下:一、函数接口介绍:1、time函数。形式为time_t time (time_t *__timer);其中time_t为time.h定义的结构体,一般为长整型。这个函数会获取当前时间,并返回。 如果参数__timer非空,会存储相同值到__timer指向的内存中。time函数返回的为unix...

C语言运行一条语句所用时间如何计算?
unsigned long HighStart,LowStart,HighEnd,LowEnd;__int64 start =0;__int64 end = 0;__int64 timer =0;\/\/获取代码运行开始时cpu内部计数器的值 __asm { RDTSC mov HighStart, edx mov LowStart, eax } for(int i= 0; i<100000; i++ ){ for(int i= 0; i<100000; i++ ){ ...

C语言如何 计算程序运行时间
代码运行前获取当前系统时间,代码运行完再获取一次,相减得到时间差就是运行的时间了

易语言 计算日期
回答:下载文件:时间差.e|用取 取时间间隔() 即可!

c语言中这么输入一个时间数据,用汉字表示输出时间?
include <stdio.h> include <windows.h> int main(){ SYSTEMTIME Stime,Etime;GetLocalTime(&Stime);\/\/取得开始计时时间 Sleep(5000);\/\/停5秒

c语言中时间处理
时间分量 取值范围 nYear 1970-3000 nMonth 1-12 nDay 1-31 nHour 0-23 nMin 0-59 nSec 0-59 参数nDST指定是否实行夏令时,为0时表示实行标准时间,为正数时表示实行夏令时,为负数时由系统自动计算实行的是标准时间还是夏令时。CTime(const SYSTEMTIME& st,int nDST = - 1) ;以一个...

C语言delay延时时间怎么算,说的详细点谢谢
简单比喻一次振荡需要1us,那1ms就是1000次振荡,300ms就是300x1000次振荡,这样就能大概的计算出300ms delay;这得看你的CPU运行一条指令得多久,像单片机89C51一般一条1us。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码...

C语言中如何获取当前系统时间的小时?
程序主要通过当前系统日历的struct tm结构体获得,主要代码如下,\\x0d\\x0a#include \\x0d\\x0a#include \\x0d\\x0a\/\/程序功能输出当前时间在24H下的小时数 \\x0d\\x0aint main(int argc, char *argv[])\\x0d\\x0a{\\x0d\\x0astruct tm *ptr;\\x0d\\x0atime_t lt;\\x0d\\x0atime(<);\/\/当前...

东明县15965036736: C语言,计时器 -
闳哈唐瑞: 秒表计时器的代码 #include <stdio.h> #include <conio.h> #include <windows.h> #include <stdlib.h> struct tm //定义时间结构体,包括时分秒和10毫秒 { int hours,minutes,seconds; int hscd; }time,tmp,total; //time用以计时显示,tmp用以存储上一阶段...

东明县15965036736: c语言 时间换算 -
闳哈唐瑞: #include <stdio.h> int main() { int h, m, s, a; printf("输入时间:"); scanf("%d:%d:%d", &h, &m, &s); printf("输入秒:"); scanf("%d", &a); s += a; m += s / 60; h += m / 60; s %= 60; m %= 60; h %= 24; printf("新时间:%d:%d:%d\n", h, m, s); return 0; }

东明县15965036736: 怎样用c语言设计计算程序执行的时间? -
闳哈唐瑞: C语言中的头文件time.h中定义了库函数clock(),它返回的是从程序运行开始算起的时间,一时钟周期为单位,time.h还定义了符号:CLOCKS_PER_SEC,即一秒钟的时钟周期.这样就简单了,在头文件中加入#include<time.h>,在程序...

东明县15965036736: C语言的时间函数 -
闳哈唐瑞: C语言的建时间函数是 mktime(),原型在 <time.h> 里 调用有点繁.下面,用我的程序输入 年月日时分秒,调用mktime(), 就得 C语言 可直接使用的 时间, 存放在 t 里.例如 输入年月日时分秒: 2008 8 16 9 55 25 time_t t; 里 就有了 各...

东明县15965036736: 想用c设计一记时程序,能计算出程序运行时间的那种,怎么弄啊? -
闳哈唐瑞: 给你个完整的实例,《c语言学习经典100例》上面的,win-tc下运行通过. /* 时间函数举例,一个猜数游戏,判断一个人反应快慢.*/ #include "stdlib.h" #include "stdio.h" #include "conio.h" #include "time.h" /*时间函数头文件*/ main() ...

东明县15965036736: c语言 计算程序运行时间 -
闳哈唐瑞: 在原来的程序中加上<time.h>的头文件 然后在需要测试时间的程序段首尾分别加上begin=clock(); end=clock();语句end-begin既是要求的时间

东明县15965036736: 如何在C语言中实现计时 -
闳哈唐瑞: 以前做那个停车场管理系统的时候, 也是需要计时,因为要收费.. 好像就这么记得. 每个上机的人,应该有一个结构体,在结构体里设个计时的变量,可以是个只有两个元素的数组.当然这样会很不方便了.(因为需要你自己输入上机时间,和下机...

东明县15965036736: C语言获取系统时间 -
闳哈唐瑞: #include <stdio.h>#include <time.h> void main () { time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); printf ( "\007The current date/time is: %s", asctime (timeinfo) ); exit(0); }================= #include <...

东明县15965036736: C语言中计算程序时间的程序. -
闳哈唐瑞: 出现两次 main 函数,C 语言中 main 是唯一的#include<stdio.h> #include<math.h> #include <stdlib.h> #include <time.h> void functionMain();int main() { clock_t begin, end; double cost; begin = clock(); functionMain();end = clock(); cost = (...

东明县15965036736: C语言如何获取系统时间 -
闳哈唐瑞: #include int main(void) { time_t rawtime; struct tm *timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("%s", asctime(timeinfo)); return 0; }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网