1. 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");
}
2. 計算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倍的
}
3. 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++中,最小的計時單位是一毫秒。
4. 怎樣用c語言設計計算程序執行的時間
C語言中的頭文件time.h中定義了庫函數clock(),它返回的是從程序運行開始算起的時間,一時鍾周期為單位,time.h還定義了符號:CLOCKS_PER_SEC,即一秒鍾的時鍾周期。這樣就簡單了,在頭文件中加入#include<time.h>,在程序main()主函數的開頭定義long now=0;並給把clock()賦值給now,即now=clock();記錄程序開始時的時間,clock()會繼續增加,但now已經確定為開始那一時刻clock()的值,在程序結尾,算式clock()-now就是程序執行所需的時間,但是是以時鍾周期為單位的,如果想得到以秒為單位的時間只要輸出(clock()-now)/CLOCKS_PER_SEC就是了,即在程序結尾添加
printf("%lf",(clock()-now)/CLOCKS_PER_SEC);就可以了。
5. C語言如何 計算程序運行時間
代碼運行前獲取當前系統時間,代碼運行完再獲取一次,相減得到時間差就是運行的時間了
6. 怎樣計算程序的執行時間(C語言中)
在c語言中有專門處理系統時間,程序計時等等功能的庫,
即time.h
在time.h中函數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)
可以看到每過千分之一秒(1毫秒),調用clock()函數返回的值就加1。
下面這個程序計算了循環1千萬次所用的時間:
#include 「stdio.h」
#include 「stdlib.h」
#include 「time.h」
int main( void )
{
long i = 10000000L;
clock_t start, finish;
double ration;
/* 測量一個事件持續的時間*/
printf( "Time to do %ld empty loops is ", i );
start = clock();
while( i-- ) ;
finish = clock();
ration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", ration );
system("pause");
}
運行結果如下:
Time to do 10000000 empty loops is 0.03000 seconds
參考資料:http://www.zxbc.cn/html/cjjhs/0312542045823.html
7. 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");
}
8. C語言怎麼計算下面的程序的執行時間
51單片機在晶振12M下,從模擬上來看大概是1ms(模擬的單位是s),具體時間可以用編個程序運行,
while(1)
{
delay();
P1=~P1;
}
然後用示波器觀察P1口波形周期
9. C語言如何 計算程序運行時間
先得到程序運行前的時間,
程序運行後,得到運行後的時間,
相減就得到程序運行的時間啦
10. C代碼的執行時間怎麼算
不是,不同的機子執行的時間不一樣,在Windows中有GetTickCount函數可以獲取系統啟動以來經過的毫秒數,使用該API函數需引入:windows.h頭文件。
int start=GetTickCount();
...//待計算時間的程序代碼
int end=GetTickCount();
printf("程序運行需耗時:%d 毫秒",end-start);
比如以下程序:
#include <windows.h>
#include <stdio.h>
int main(void)
{
int start=GetTickCount();
int p=0;
for(int i=0;i<100000000;i++)
{
p++;
}
int end=GetTickCount();
printf("程序運行耗時: %d 毫秒",end-start);
system("pause");
return 0;
}
在我的機子上得出:"程序運行耗時:578 毫秒" 的結果