导航:首页 > 软件知识 > 怎么知道c程序运行时间

怎么知道c程序运行时间

发布时间:2022-12-10 09:12:13

Ⅰ 关于计算C语言程序运行时间

头文件time.h

int a=clock();//从这开始计时

这放要测试时间的代码

int b=clock();//到这结束
int c=b-a;//算出来的单位是毫秒

Ⅱ c语言怎么测试一段程序的运行时间

C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:

clock_t clock( void );

这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中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) //CLOCKS_PER_SEC为系统自定义的

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

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

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

#include “stdio.h”
#include “stdlib.h”
#include “time.h”

int main( )
{
long i = 10000000L;
clock_t start, finish;
double Total_time;
/* 测量一个事件持续的时间*/
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i--) ;

finish = clock();
Total_time = (double)(finish-start) / CLOCKS_PER_SEC;
printf( "%f seconds/n", Total_time);
return 0;

}

在笔者的机器上,运行结果如下:

Time to do 10000000 empty loops is 0.03000 seconds

上面我们看到时钟计时单元的长度为1毫秒,那么计时的精度也为1毫秒,那么我们可不可以通过改变CLOCKS_PER_SEC的定义,通过把它定义的大一些,从而使计时精度更高呢?通过尝试,你会发现这样是不行的。在标准C/C++中,最小的计时单位是一毫秒。

Ⅲ 计算C语言程序运行时间(hello world)

现在的计算机速度这么快,1秒钟执行的代码很多很多。
所以你这样求一句代码的执行时间是不太现实的。
你可以
#include "time.h"
#include "stdio.h"

main()
{
double start, finish;
start = clock();//取开始时间
for(int i=0;i<10000;i++)
printf("Hello, World!\n");
finish = clock();//取结束时间
printf( "%f seconds\n",(finish - start) / CLOCKS_PER_SEC);//这里的时间就是10000倍的

}

Ⅳ c++如何计算程序运行时间并输出

c++计算程序运行时间:

一、clock()计时函数:

clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。clock函数定义如下:clock_t clock(void) ;简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型。

二、相关定义:

在time.h文件中,我们可以找到对clock_t()的定义:#ifndef _CLOCK_T_DEFINEDtypedef long clock_t;

#define _CLOCK_T_DEFINED

#endif

很明显,clock_t是一个长整形数。

在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:#define CLOCKS_PER_SEC ((clock_t)1000)

三、使用实例:

//计算一段程序运行的时间

#include<iostream>

#include<ctime>

using namespace std;

int main()

{

clock_t startTime,endTime;

startTime = clock();//计时开始

for (long i = 0; i < 2147483640; i++)

{

i++;

}

endTime = clock();//计时结束

cout << "The run time is: " <<(double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl;

system("pause");

return 0;

}

//注释在:VC++6.0中可以用CLK_TCK替换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");
}

Ⅵ 怎样知道C语言运行一个程序用了多长时间

在程序开始时调用一次time()结束时调用一次time(),两次相减就能获得秒数。
例:
#include
<time.h>
#include
<stdio.h>
int
main()
{
int
iStartTime
=
time(NULL);
int
i
=
1;
int
iEndTime;
while
(i
>
0)//这里应该放你要运行的程序
{
i++;
}
iEndTime
=
time(NULL);
printf("%ds
elapsed.\n",iEndTime-iStartTime);
return
0;
}
但这个方法精度很低,只能精确到秒。要更高的精确度需要调用操作系统的API。如在Windows下,精确到毫秒级:
#include
<windows.h>
#include
<stdio.h>
int
main()
{
unsigned
uStartTime
=
GetTickCount();//该函数只有在Win2000及以上的版本才被支持
int
i
=
1;
unsigned
uEndTime;
while
(i
>
0)
{
i++;
}
uEndTime
=
GetTickCount();
printf("%ums
elapsed.\n",uEndTime-uStartTime);
return
0;
}

阅读全文

与怎么知道c程序运行时间相关的资料

热点内容
南京朝天宫古玩市场怎么坐车 浏览:527
什么资金产品有万倍杠杆 浏览:948
期货交易规则是什么间接清算制度 浏览:732
如何守住不易的交易 浏览:159
网络助手程序怎么删除 浏览:296
欣桥市场一天的交易量大概有多少 浏览:293
如何查询建行往年交易记录 浏览:513
冰溪医用护肤品怎么代理 浏览:710
产品经理第一要素是什么 浏览:5
期货交易什么时候挂平推单 浏览:587
没技术没意识怎么赢的 浏览:604
皮包代理商怎么样 浏览:935
作品产出人像数据有什么用 浏览:169
jsp有哪些技术 浏览:357
无限极代理怎么加入 浏览:637
黛蕊思是什么产品 浏览:413
九江代理招聘有哪些公司 浏览:382
小程序里的桌球更多游戏如何去掉 浏览:456
菜市场哪些肉类需求大 浏览:409
查大数据用什么查可以代理的 浏览:554