c语言clock函数
Ⅰ c语言计算时间
在C语言中计算时间,可以使用标准库中的计时函数——clock()。
函数原型:
clock_tclock(void);
其中clock_t是用来保存时间的数据类型,在time.h文件中,可以找到对它的定义:
#ifndef_CLOCK_T_DEFINED
typedeflongclock_t;
#define_CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#defineCLOCKS_PER_SEC((clock_t)1000)
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
voidelapsed_time()
{
printf("Elapsedtime:%usecs. ",clock()/CLOCKS_PER_SEC);
}
当然,也可以用clock函数来计算的机器运行一个循环或者处理其它事件到底花了多少时间:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleration;
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--);
finish=clock();
ration=(double)(finish-start)/CLOCKS_PER_SEC;
printf("%fseconds ",ration);
system("pause");
}
Ⅱ C语言中time.h头文件中对时间的操作具体是怎样的
time.h头文件提供对时间操作的一些函数,clock()是程序开始到调用的毫秒数。
time_tt_begin,t_end;
t_begin=clock();//记录开始时间
dosomething();//调用函数
t_end=clock();//记录结束时间
printf("Timeused=%.21f ",(double)(t_end-t_begin)/CLOCKS_PER_SEC);//显示函数调用时间
(2)c语言clock函数扩展阅读
c语言中time.h头文件的使用
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleration;//测量一个事件持续的时间
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--)
finish=clock();
ration=(double)(finish-start)/CLOCKS_PER_SEC;//clock()是以毫秒为单位计算时间的所以除以CLOCKS_PER_SEC这是time.h里面定义的一个常量
printf("%fseconds ",ration);
system("pause");
}
Ⅲ C璇瑷镄刢lock()娴嫔嚭𨱒ョ殑鏄浠涔堟椂闂
clock鍑芥暟杩斿洖镄勬槸cpu镞堕棿锛屽苟涓嶆槸绉掓暟锛岀湡姝g殑涓绉挜挓鍙鑳藉寘钖鑻ュ共涓狢PU镞堕棿锛岃繖涓鍊奸氩父鏄鐢卞畯CLOCKS_PER_SEC𨱒ュ畾涔夛纴琛ㄧず涓绉掍腑链塁LOCKS_PER_SEC杩欎箞澶氢釜cpu镞堕棿锛屼笉钖岀殑缂栬疟鍣ㄥ彲鑳戒笉钖岋纴姣斿傦纴linux C涓锛屽畠鏄1000000锛屽湪VC6涓锛屽畠鏄1000锛屼綘鐢╟ost闄や互CLOCKS_PER_SEC鍗冲彲寰楀埌瀹为檯镄勭掓暟銆
闄刲inux涓媍lock鍑芥暟璇存槑锛
鍦ㄥ崟镫镄勭獥鍙d腑镓揿紑锲剧墖鍙浠ョ湅寰楁洿娓呮氢竴浜涳纴娉ㄦ剰绾㈢嚎閮ㄥ垎璇存槑锛氲佽$畻绉掓暟锛岄櫎浠CLOCKS_PER_SEC
Ⅳ C语言求一个程序运行时间
C/C++中的计时函数是clock()。
所以,可以用clock函数来计算的运行一个循环、程序或者处理其它事件到底花了多少时间,具体参考代码如下:
#include“stdio.h”
#include“stdlib.h”
#include“time.h”
intmain(void)
{
longi=10000000L;
clock_tstart,finish;
doubleration;
/*测量一个事件持续的时间*/
printf("Timetodo%ldemptyloopsis",i);
start=clock();
while(i--);
finish=clock();
ration=(double)(finish-start)/CLOCKS_PER_SEC;
printf("%fseconds ",ration);
system("pause");
}