c語言代碼運(yùn)行時間的函數(shù) c語言 運(yùn)行時間

c語言 時間函數(shù)

c語言時間函數(shù):

創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計與策劃設(shè)計,柳河網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:柳河等地區(qū)。柳河做網(wǎng)站價格咨詢:18980820575

1、獲得日歷時間函數(shù):

可以通過time()函數(shù)來獲得日歷時間(Calendar Time),其原型為:time_t time(time_t * timer);

如果已經(jīng)聲明了參數(shù)timer,可以從參數(shù)timer返回現(xiàn)在的日歷時間,同時也可以通過返回值返回現(xiàn)在的日歷時間,即從一個時間點(diǎn)(例如:1970年1月1日0時0分0秒)到現(xiàn)在此時的秒數(shù)。如果參數(shù)為空(NUL),函數(shù)將只通過返回值返回現(xiàn)在的日歷時間,比如下面這個例子用來顯示當(dāng)前的日歷時間:

2、獲得日期和時間函數(shù):

這里說的日期和時間就是平時所說的年、月、日、時、分、秒等信息。從第2節(jié)我們已經(jīng)知道這些信息都保存在一個名為tm的結(jié)構(gòu)體中,那么如何將一個日歷時間保存為一個tm結(jié)構(gòu)的對象呢?

其中可以使用的函數(shù)是gmtime()和localtime(),這兩個函數(shù)的原型為:

struct tm * gmtime(const time_t *timer);

struct tm * localtime(const time_t * timer);

其中g(shù)mtime()函數(shù)是將日歷時間轉(zhuǎn)化為世界標(biāo)準(zhǔn)時間(即格林尼治時間),并返回一個tm結(jié)構(gòu)體來保存這個時間,而localtime()函數(shù)是將日歷時間轉(zhuǎn)化為本地時間。比如現(xiàn)在用gmtime()函數(shù)獲得的世界標(biāo)準(zhǔn)時間是2005年7月30日7點(diǎn)18分20秒,那么用localtime()函數(shù)在中國地區(qū)獲得的本地時間會比世界標(biāo)準(zhǔn)時間晚8個小時,即2005年7月30日15點(diǎn)18分20秒。

C語言中有沒有一種計時函數(shù),能算出從程序中某段代碼運(yùn)行所花的時間?

在開始時用time()函數(shù)取一次時間,在結(jié)束時(輸入與生成相同時)再用time()取一次時間,之后求出再次時間之差即可。

*************************************************

#include

//for

printf()

#include

//for

system()

#include

//for

time()

time_t

void

main()

{

time_t

ts,te;

system("pause");

ts=time(null);

system("pause");

te=time(null);

printf("%ld\n",te-ts);

system("pause");

}

/////////////////////////////////////////////

輸出兩次按鍵之間的時間(秒)

那位高手知道C語言中如何查看程序運(yùn)行時間

獲取程序運(yùn)行時間:

在time.h里有函數(shù)clock();本身這個函數(shù)取得的時間好像是ms,要取得s就

寫成clock()/CLOCKS_PER_SEC;但CLOCKS_PER_SEC是在time.h里定義的,如果沒這個定義

那只能用clock();取得ms;這個函數(shù)的執(zhí)行不會中途停止,如果是在windows系統(tǒng)下,因?yàn)樗?/p>

多任務(wù)系統(tǒng),它需要在各任務(wù)之間切換,如果在測試過程中,執(zhí)行其他程序,所其得的時間,就會

出現(xiàn)差別,還有windows運(yùn)行速度相當(dāng)快,對于小型的測試,所得的時間幾乎為0,因此最好將

要測試的過程執(zhí)行100次或以上,然后再將取得的時間執(zhí)行次數(shù);輸出非常耗時間,沒什么必要

的話,就不要輸出

這是一個測試選擇排序的程序

#include

stdio.h

#include

stdlib.h

#include

time.h

#define

M

1000

/*

執(zhí)行次數(shù)

*/

#define

N

500

/*

數(shù)組大小

*/

void

SelectSort(int

*a,int

l,int

r)

{

int

i,j,v;

for

(i=0;ir;i++)

{

for

(j=i+1;j=r;j++)

{

if

(*(a+i)*(a+j))

v=*(a+i),*(a+i)=*(a+j),*(a+j)=v;

}

}

}

void

main()

{

int

a[N],i,j;

double

start,finish;

/*

開始時間,結(jié)束時間

*/

start=(double)clock();

/*

我的time.h內(nèi)沒有CLOCKS_PER_SEC

*/

for

(j=0;jM;j++)

{

/*

執(zhí)行M次

*/

for

(i=0;iN;*(a+i++)=rand()%10);

/*

每次重新賦值

*/

SelectSort(a,0,N-1);

}

finish=(double)clock();

printf("%.4fms",(finish-start)/M);

getchar();

}

c語言 計算程序運(yùn)行時間

#include stdio.h

#include time.h

#define N 10000 /*這個數(shù)字可以自己改,如果時間太長結(jié)果不出來你就改小點(diǎn)*/

void f()

{

int i, j, k;

for ( i = 0; i N; ++i )

for ( j = 0; j N; ++j )

for ( k = 0; k N; ++k )

;

}

int main()

{

clock_t begin, duration;

begin = clock();

f();

duration = clock() - begin;

printf( "函數(shù)f()的運(yùn)行時間大約為:%dms\n", duration*1000/CLOCKS_PER_SEC );

}

文章標(biāo)題:c語言代碼運(yùn)行時間的函數(shù) c語言 運(yùn)行時間
網(wǎng)頁網(wǎng)址:http://muchs.cn/article38/ddiphsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)網(wǎng)站制作、小程序開發(fā)企業(yè)建站、電子商務(wù)、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計