最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

clock函數(shù)

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

下面通過(guò)一段簡(jiǎn)單的代碼測(cè)試一下:

#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;
}

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

image.png

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

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

#define CLOCKS_PER_SEC 1000

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

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

image.png

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

time函數(shù)

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

下面通過(guò)一個(gè)簡(jiǎn)單的代碼演示一下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ù)返回值是一個(gè)time_t的類型,它的本質(zhì)其實(shí)也是一個(gè)整形數(shù)據(jù)。

image.png

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

image.png

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

image.png

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

總結(jié)

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

相關(guān)文章

  • 關(guān)于C++11的統(tǒng)一初始化語(yǔ)法示例詳解

    關(guān)于C++11的統(tǒng)一初始化語(yǔ)法示例詳解

    C++之前的初始化語(yǔ)法很亂,有四種初始化方式,而且每種之前甚至不能相互轉(zhuǎn)換,但從C++11出現(xiàn)后就好了,所以這篇文章主要給大家介紹了關(guān)于C++11的統(tǒng)一初始化語(yǔ)法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-10-10
  • c++二叉樹(shù)的幾種遍歷算法

    c++二叉樹(shù)的幾種遍歷算法

    c++二叉樹(shù)的幾種遍歷算法,需要的朋友可以參考一下
    2013-02-02
  • linux之a(chǎn)wk命令的用法

    linux之a(chǎn)wk命令的用法

    awk是一個(gè)非常棒的數(shù)字處理工具。相比于sed常常作用于一整行的處理,awk則比較傾向于將一行分為數(shù)個(gè)“字段”來(lái)處理。運(yùn)行效率高,而且代碼簡(jiǎn)單,對(duì)格式化的文本處理能力超強(qiáng)
    2013-10-10
  • 使用單鏈表實(shí)現(xiàn)多項(xiàng)式計(jì)算示例

    使用單鏈表實(shí)現(xiàn)多項(xiàng)式計(jì)算示例

    這篇文章主要介紹了使用單鏈表實(shí)現(xiàn)多項(xiàng)式計(jì)算示例,需要的朋友可以參考下
    2014-03-03
  • 詳解DAG上的DP

    詳解DAG上的DP

    DAG:有向無(wú)環(huán)圖。DAG是學(xué)習(xí)動(dòng)態(tài)規(guī)劃的基礎(chǔ),很多問(wèn)題都可以直接轉(zhuǎn)化為DAG上的最長(zhǎng)路、最短路或路徑計(jì)數(shù)問(wèn)題。本文將詳細(xì)介紹DAG上的DP。
    2021-05-05
  • C++ 智能指針的模擬實(shí)現(xiàn)實(shí)例

    C++ 智能指針的模擬實(shí)現(xiàn)實(shí)例

    這篇文章主要介紹了C++ 智能指針的模擬實(shí)現(xiàn)實(shí)例的相關(guān)資料,智能指針是一個(gè)類,它把普通指針?lè)庋b起來(lái),能實(shí)現(xiàn)和普通指針同樣的功能。,需要的朋友可以參考下
    2017-07-07
  • C++ 數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列

    C++ 數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列

    這篇文章主要介紹了詳解C++ 數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)兩個(gè)棧實(shí)現(xiàn)一個(gè)隊(duì)列的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 使用C++實(shí)現(xiàn)迷宮游戲

    使用C++實(shí)現(xiàn)迷宮游戲

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)迷宮游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++ 迷宮游戲?qū)崿F(xiàn)代碼

    C++ 迷宮游戲?qū)崿F(xiàn)代碼

    這篇文章主要介紹了C++ 迷宮游戲?qū)崿F(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • C++實(shí)現(xiàn)百度坐標(biāo)(BD09)及GCJ02與WGS84之間的轉(zhuǎn)換

    C++實(shí)現(xiàn)百度坐標(biāo)(BD09)及GCJ02與WGS84之間的轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)百度坐標(biāo)(BD09)及GCJ02與WGS84之間的轉(zhuǎn)換的方法,文中的示例代碼講解詳細(xì),希望對(duì)大家有所幫助
    2023-03-03

最新評(píng)論

开封市| 理塘县| 福贡县| 贵港市| 盐源县| 青铜峡市| 河津市| 武穴市| 循化| 静宁县| 朝阳市| 郓城县| 珠海市| 丰城市| 南和县| 苏州市| 滕州市| 仙桃市| 德州市| 汉寿县| 龙门县| 汝州市| 通州区| 滦南县| 永川市| 潮安县| 通道| 天镇县| 绥江县| 江北区| 个旧市| 陵川县| 高平市| 松阳县| 张家口市| 内丘县| 界首市| 囊谦县| 原阳县| 普宁市| 永福县|