亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言中的時間函數(shù)clock()和time()你都了解嗎

 更新時間:2022年02月18日 14:45:59   作者:嵌入式@hxydj  
這篇文章主要為大家詳細介紹了C語言中的時間函數(shù)clock()和time(),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

時間函數(shù)在編寫代碼的時候會經(jīng)常用到,下面就來總結(jié)一下clocktime函數(shù)的用法,函數(shù)原型如下:

  clock_t __cdecl clock(void);
  __CRT_INLINE time_t __cdecl time(time_t *_Time);

clock函數(shù)

clock函數(shù)返回程序從運行開始到當(dāng)前調(diào)用函數(shù)位置處CPU所使用的時間,通過這個函數(shù)就可以計算某段代碼運行時所使用的時間。

下面通過一段簡單的代碼測試一下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char** argv)
{
	clock_t start_t, end_t;
	start_t = clock();
	sleep(1);
	end_t = clock();
	printf("%d %d",start_t,end_t); 
	return 0;
}

剛進入程序時通過clock函數(shù)讀取當(dāng)前CPU所使用的時間,然后使用sleep函數(shù)延時1秒,接著在使用clock函數(shù)讀取當(dāng)前CPU所使用的時間,這樣這兩個時間差應(yīng)該就是1秒。程序運行結(jié)果如下:

image.png

通過打印的結(jié)果可以看出,第一次讀取的CPU時間是0,第二次讀取的CPU時間是1000,在程序中延時了1秒,說明clock函數(shù)返回的時間單位是毫秒(ms)。

如果要將程序運行的時間換算為以秒為單位的話,這里就需要計算兩次運行的時間差,然后除以每秒鐘系統(tǒng)的計數(shù)次數(shù)。系統(tǒng)中每秒鐘的計數(shù)次數(shù)用一個宏定義的值來表示。

#define CLOCKS_PER_SEC 1000

這個CLOCKS_PER_SEC的值為1000,說明CPU1秒鐘計數(shù)1000次,也就是1ms計數(shù)一次,這個和上面分析的結(jié)果是一樣的。

修改程序,將時間換算為秒,繼續(xù)測試。

image.png

通過結(jié)果可以看出這個循環(huán)耗時32ms,也就是0.032s。

time函數(shù)

time函數(shù)返回的是從 1970-01-01 00:00:00 開始到現(xiàn)在所經(jīng)過的秒數(shù)。

下面通過一個簡單的代碼演示一下time函數(shù)的用法。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char** argv)
{
	time_t seconds;
	seconds = time(NULL);
	printf("自1970-01-01 起的秒數(shù):%d s",seconds);
	return 0;
}

time函數(shù)返回值是一個time_t的類型,它的本質(zhì)其實也是一個整形數(shù)據(jù)。

image.png

函數(shù)返回的是一個整形的秒數(shù),將返回值打印出來,結(jié)果如下:

image.png

將這個秒數(shù)通過時間戳在線轉(zhuǎn)換網(wǎng)站轉(zhuǎn)換為年月日,轉(zhuǎn)換網(wǎng)址為: https://tool.lu/timestamp/ 轉(zhuǎn)換結(jié)果如下:

image.png

轉(zhuǎn)換后的時間和程序運行時的時間是一樣的,說明time函數(shù)返回的時間是準(zhǔn)確的,這樣在程序運行過程中想要獲取準(zhǔn)確的時間時,就可以通過time函數(shù)來獲取系統(tǒng)的準(zhǔn)確時間。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!    

相關(guān)文章

  • C++中l(wèi)ist容器的實現(xiàn)

    C++中l(wèi)ist容器的實現(xiàn)

    本文主要介紹了C++中l(wèi)ist容器的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 從頭學(xué)習(xí)C語言之if語句的使用

    從頭學(xué)習(xí)C語言之if語句的使用

    這篇文章主要為大家詳細介紹了C語言之if語句的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 一文搞懂C語言static關(guān)鍵字的三個作用

    一文搞懂C語言static關(guān)鍵字的三個作用

    這篇文章主要介紹了C語言static關(guān)鍵字的三個作用,本文通過實例代碼圖文相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • C語言每日練習(xí)之冒泡排序

    C語言每日練習(xí)之冒泡排序

    這篇文章主要介紹了C語言冒泡排序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-11-11
  • OpenCV實現(xiàn)繞圖片中任意角度旋轉(zhuǎn)任意角度

    OpenCV實現(xiàn)繞圖片中任意角度旋轉(zhuǎn)任意角度

    這篇文章主要為大家詳細介紹了在圖片不被裁剪時,opencv如何實現(xiàn)繞圖片中任意點旋轉(zhuǎn)任意角度,文中的示例代碼講解詳細,需要的可以參考一下
    2022-09-09
  • C語言模擬實現(xiàn)atoi函數(shù)的實例詳解

    C語言模擬實現(xiàn)atoi函數(shù)的實例詳解

    這篇文章主要介紹了C語言模擬實現(xiàn)atoi函數(shù)的實例詳解的相關(guān)資料,atoi函數(shù),主要功能是將一個字符串轉(zhuǎn)變?yōu)檎麛?shù),這里就實現(xiàn)這樣的函數(shù),需要的朋友可以參考下
    2017-08-08
  • 二叉樹前序遍歷的非遞歸算法

    二叉樹前序遍歷的非遞歸算法

    這篇文章主要介紹了二叉樹前序遍歷的非遞歸算法,需要的朋友可以參考下
    2014-02-02
  • C語言中6組指針和自增運算符結(jié)合方式的運算順序問題

    C語言中6組指針和自增運算符結(jié)合方式的運算順序問題

    本文通過代碼實現(xiàn)分析了6種組合:* p++,(* p)++,* (p++),++* p,++( * p), * (++p),需要的朋友可以參考下
    2015-07-07
  • C語言數(shù)據(jù)結(jié)構(gòu)之串插入操作

    C語言數(shù)據(jù)結(jié)構(gòu)之串插入操作

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之串插入操作的相關(guān)資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10
  • C語言中棧和隊列實現(xiàn)表達式求值的實例

    C語言中棧和隊列實現(xiàn)表達式求值的實例

    這篇文章主要介紹了C語言中棧和隊列實現(xiàn)表達式求值的實例的相關(guān)資料,這里主要是對數(shù)據(jù)結(jié)構(gòu)中棧和隊列的理解和應(yīng)用,需要的朋友可以參考下
    2017-08-08

最新評論