1樓:網友
#include
#include
int main()
double times = clock() double)(clocks_per_sec);
printf("%2lf",times);
return 0;
簡單地說,就是使用庫中的clock()函式。
具體講,程式中的clock()函式在中宣告,每次呼叫它,返回程式自開始執行至此經歷的時間,單位是(1/clocks_per_sec)秒,clocks_per_sec是在中宣告的乙個常數,在windows環境下,它的值是1000,也就是說若程式執行了,呼叫clock()函式會返回1500;在linux或unix環境下,它的值是1000000,即此時clock()函式會返回1500000,為了增強程式的可移植性,故通用寫法為clock() double)(clocks_per_sec)。
2樓:網友
扔個時間種子就ok了。
#include ""
time_t a,b;
clock_t start,end;
srand(time(null));
start=clock();
a=time(null);
end=clock();
b=time(null);
printf("it took you % seconds",(double)(end-start)/;/ 換算。
這或者用difftime(b,a)也可以。
printf("it took you % seconds",difftime(b,a));
3樓:網友
如果要測出本程式運算的時間,那麼乙個簡單的思路就是,在程式開始和結尾兩處分別獲得系統時間戳,然後求出這兩個時間戳的差值。
4樓:匿名使用者
在程式開始和結束時分別呼叫一次clock()函式,求兩次返回值的差,再除以clocks_per_sec就可以知道程式執行的秒數。
上面提到的函式和巨集在標頭檔案中。
c語言怎麼測試一段程式的執行時間?
5樓:
c/c++中的計時函式是clock(),而與其相關的資料型別是clock_t。在msdn中,查得對clock函式定義如下:
clock_t clock( void );
這個函式返回從「開啟這個程式程序」到「程式中呼叫clock()函式」時之間的cpu時鐘計時單元(clock tick)數,在msdn中稱之為掛鐘時間(wal-clock)。其中clock_t是用來儲存時間的資料型別,在檔案中,我們可以找到對它的定義:
#ifndef _clock_t_defined
typedef long clock_t;
#define _clock_t_defined
#endif
很明顯,clock_t是乙個長整形數。在檔案中,還定義了乙個常量clocks_per_sec,它用來表示一秒鐘會有多少個時鐘計時單元,其定義如下:
#define clocks_per_sec ((clock_t)1000) //clocks_per_sec為系統自定義的。
void elapsed_time()
#include 「
#include 「
#include 「
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 seconds
上面我們看到時鐘計時單元的長度為1毫秒,那麼計時的精度也為1毫秒,那麼我們可不可以通過改變clocks_per_sec的定義,通過把它定義的大一些,從而使計時精度更高呢?通過嘗試,你會發現這樣是不行的。在標準c/c++中,最小的計時單位是一毫秒。
C語言運算子C語言運算子是怎麼運算的
內容來自使用者 wjian178 e68a84e8a2ad62616964757a686964616f31333433646432 1級優先順序 左結合 圓括號 下標運算子 指向結構體成員運算子 結構體成員運算子。2級優先順序 右結合 邏輯非運算子 按位取反運算子 字首增量運算子 字首減量運算子 正...
C語言中的基本運算問題,C語言中的基本運算問題 10
有些運算操作是要區分有符號與無符號的情況的,比如除法,取模運算其計算語意是不同的,具體來說,有符號的除法在x86平臺上對應的彙編指令是idiv,而無符號的除法對應的則是div。而對於另外一些操作運算,則是不區分有符號與無符號的,比如,加法,減法,乘法運算。可以通過以下 測試 int main 雙目運...
以下c語言程式,按照逗號運算子的演算法,最後程式執行時卻輸出x,y都為6,新人求教
y x a b,b c 可以寫成x a b y b c 這樣你自己就會算了。逗號表示式是一種將多個語句變成一條語句的方法,只要把它還原回去就可以理解了,比如 for i 0,n 0 i 5 i 就可以還原成 n 0 for i 0 i 5 i 這並不複雜。還原的方法就是,每個逗號前面的東西如果是一條...