當前位置:首頁 » 編程語言 » c語言執行時間

c語言執行時間

發布時間: 2022-05-28 17:00:11

c語言運行時間的問題

#include
#include
main()
{
long
a,b;
a=clock();
/*要測試的程序部分*/
b=clock();
printf("執行用時%ldms",b-a);
}
這個是可以的,你可以根據你自己的需要將此結構加在你的程序中來測試c程序運行的時間。
要注意此結構的核心部分,頭函數time。h以及clock();這可是此結構的重點啊。

❷ C語言運行一條語句所用時間如何計算

把time.h
include進來
然後在代碼的前面和後面都加一條代碼,獲得時間
long
start=clock();
long
end=clock();
兩個減一下就是秒數

❸ 那位高手知道C語言中如何查看程序運行時間

獲取程序運行時間:
在<time.h>里有函數clock();本身這個函數取得的時間好像是ms,要取得s就
寫成clock()/CLOCKS_PER_SEC;但CLOCKS_PER_SEC是在time.h里定義的,如果沒這個定義
那隻能用clock();取得ms;這個函數的執行不會中途停止,如果是在windows系統下,因為它是
多任務系統,它需要在各任務之間切換,如果在測試過程中,執行其他程序,所其得的時間,就會
出現差別,還有windows運行速度相當快,對於小型的測試,所得的時間幾乎為0,因此最好將
要測試的過程執行100次或以上,然後再將取得的時間執行次數;輸出非常耗時間,沒什麼必要
的話,就不要輸出
這是一個測試選擇排序的程序
#include
<stdio.h>
#include
<stdlib.h>
#include
<time.h>
#define
M
1000
/*
執行次數
*/
#define
N
500
/*
數組大小
*/
void
SelectSort(int
*a,int
l,int
r)
{
int
i,j,v;
for
(i=0;i<r;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;
/*
開始時間,結束時間
*/
start=(double)clock();
/*
我的time.h內沒有CLOCKS_PER_SEC
*/
for
(j=0;j<M;j++)
{
/*
執行M次
*/
for
(i=0;i<N;*(a+i++)=rand()%10);
/*
每次重新賦值
*/
SelectSort(a,0,N-1);
}
finish=(double)clock();
printf("%.4fms",(finish-start)/M);
getchar();
}

❹ 怎樣計算程序的執行時間(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

❺ 計算C語言程序運行時間(hello world)

#include "time.h"
#include "stdio.h"

main()
{
double start, finish;

start = clock();//取開始時間

printf("Hello, World!\n");

finish = clock();//取結束時間
printf( "%f seconds\n",(finish - start) / CLOCKS_PER_SEC);//以秒為單位顯示之

}
上面的代碼理論上是可以顯示printf("Hello, World!\n");語句的運行時間的,但我猜實際的顯示結果是0,因為printf("Hello, World!\n");這個語句的運行時間是可以忽略不計的,加一個次數較多的循環才能看到效果

❻ C語言中,一個語句執行一般(家用PC)需要多少時間

這個需要分情況來看。
1.C語言源程序通過預處理然後編譯,產生匯編代碼,不同的匯編代碼和指令有不同的執行時間。
2.一個指令的執行時間,用其所需要的指令周期(執行一條指令所需要的時間)來衡量。對於單位元組指令,就是一個讀取-執行周期(fetch-execute cycle),對於多位元組指令,還需要更多的指令周期。
3.一個指令周期,一般是由若干個機器周期(完成一次基本操作需要的時間,比如獲取變數在RAM當中的地址)組成。
4.再一個,時鍾周期,這個可以形象一點地和通常所說的主頻聯系起來,比如CPU核心的主頻是2.5GHz,則時鍾周期為0.4ns,這個是計算機當中最小的時間計量單位。一個機器周期由若干個時鍾周期組成。

❼ C語言執行時間

給你個程序看看把.基本就是這樣做的,還有個我忘了
就用clock函數把把需要統計的語句放在其之間即可
如果要進行微秒級的計時,則可以使gettimeofday

#include <time.h>
#include <stdio.h>

int main(void)
{
clock_t t_start; /* start time when test starts */
clock_t t_end; /* end time when test ends */

t_start = clock(); /* get start time */

/* test code */

t_end = clock(); /* get end time */

/* display result */
printf("time: %.3f s\n", (double)(t_end-t_start)/CLOCKS_PER_SEC);

return 0;
}

❽ C語言中 ,一個語句執行一般(家用PC)需要多少時間

這個需要分情況來看。
1.C語言源程序通過預處理然後編譯,產生匯編代碼,不同的匯編代碼和指令有不同的執行時間。
2.一個指令的執行時間,用其所需要的指令周期(執行一條指令所需要的時間)來衡量。對於單位元組指令,就是一個讀取-執行周期(fetch-execute cycle),對於多位元組指令,還需要更多的指令周期。
3.一個指令周期,一般是由若干個機器周期(完成一次基本操作需要的時間,比如獲取變數在RAM當中的地址)組成。
4.再一個,時鍾周期,這個可以形象一點地和我們通常所說的主頻聯系起來,比如CPU核心的主頻是2.5GHz,則時鍾周期為0.4ns,這個是計算機當中最小的時間計量單位。一個機器周期由若干個時鍾周期組成。
綜上所述,你的問題沒有明確的答案。這取決於你的CPU的主頻,執行的是何種類型的C語言語句,是否編譯器有對其進行優化。

❾ 一條C語言指令運行的時間是多少

視編譯後的內容定。
最終計算機運行的都是匯編語言的指令。因此,c語言只是個過渡的高級編譯工具。
如果需要看某個c語言命令的運行時間,建議編譯後,查看其中的每條匯編指令,再查相關的匯編指令的運行周期,根據cpu的時鍾,累計計算出具體多少時間。
粗略的辦法:
將某條c語言命令重復運行1萬遍(以上),記錄開始的時間和結束的時間,並除運行次數。

熱點內容
卡羅拉的配置一般買哪個好一點 發布:2025-02-12 11:20:03 瀏覽:742
沒有伺服器的IP怎麼連上 發布:2025-02-12 11:19:55 瀏覽:79
編程sqs 發布:2025-02-12 11:09:55 瀏覽:238
electron脫離編譯環境 發布:2025-02-12 11:08:21 瀏覽:68
安卓一體機喇叭插口在哪裡 發布:2025-02-12 11:07:37 瀏覽:866
廣東江門首選dns伺服器地址 發布:2025-02-12 10:56:55 瀏覽:954
台灣大量IP伺服器 發布:2025-02-12 10:51:43 瀏覽:375
sship訪問伺服器 發布:2025-02-12 10:50:16 瀏覽:98
人機局腳本 發布:2025-02-12 10:48:03 瀏覽:66
安卓哪裡可以下2k17 發布:2025-02-12 10:45:36 瀏覽:317