當前位置:首頁 » 編程語言 » c語言計算睡覺時間
擴展閱讀
db2嵌入式sql 2022-11-29 15:11:59
pcie固態硬碟怎麼安裝 2022-11-29 15:05:25

c語言計算睡覺時間

發布時間: 2022-09-25 09:25:07

A. c語言中的sleep() 函數

使用要帶上頭文件:

#include <windows.h>

Sleep函數:
功 能: 執行掛起一段時間
用 法: unsigned sleep(unsigned seconds);
注意:
1.在VC中使用帶上頭文件#include <windows.h>,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include <unistd.h>
2.在VC中,Sleep中的第一個英文字元為大寫的"S" ,在linux下不要大寫,在標准C中是sleep, 不要大寫,簡單的說VC用Sleep, 別的一律使用sleep。
3.在VC中,Sleep()裡面的單位,是以毫秒為單位,所以如果想讓函數滯留1秒的話,應該是Sleep(1000); 在Linux下,sleep()裡面的單位是秒,而不是毫秒。

示例:


#include<dos.h>
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是循環等待,該進程還在運行,佔用處理器。
sleep()不同,它會被掛起,把處理器讓給其他的進程。

B. 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");
}

C. C語言中sleep()函數到底有什麼功能關於緩沖區方面的,詳細具體點的。查了很多資料,都不全面。

Sleep()函數
頭文件:
#include

int
dt
=
1000;
它的功能是執行到Sleep(dt)函數時,程序睡覺(就是等在那裡)
dt
毫秒。
dt
=
1000,
程序睡覺
1
秒。同
緩沖區
沒有關系。
Sleep()函數
時間
計時
不很精確,每秒可能有25毫秒誤差。

D. C語言中sleep()函數到底有什麼功能關於緩沖區方面的,詳細具體點的。查了很多資料,都不全面。

Sleep()函數 頭文件:
#include <windows.h>
int dt = 1000;
它的功能是執行到Sleep(dt)函數時,程序睡覺(就是等在那裡) dt 毫秒。
dt = 1000, 程序睡覺 1 秒。同 緩沖區 沒有關系。
Sleep()函數 時間 計時 不很精確,每秒可能有25毫秒誤差。

E. c語言編程,怎麼計算時間

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void main()

{

unsigned char time1[] = {10, 8, 31, 9, 26 };

unsigned char time2[] = { 10, 8, 31, 9, 50 };

struct tm t1 = {0};

struct tm t2 = {0};

time_t _t1;

time_t _t2;

double diff;

t1.tm_year = time1[0] + 100;

t1.tm_mon = time1[1];

t1.tm_mday = time1[2];

t1.tm_hour = time1[3];

t1.tm_min = time1[4];

t2.tm_year = time2[0] + 100;

t2.tm_mon = time2[1];

t2.tm_mday = time2[2];

t2.tm_hour = time2[3];

t2.tm_min = time2[4];

_t1 = _mkgmtime( &t1 );

_t2 = _mkgmtime( &t2 );

diff = difftime(_t2, _t1 );

printf( "相差 %.0f 分鍾 ", diff / 60 );

}

(5)c語言計算睡覺時間擴展閱讀:

C語言中有兩個相關的函數用來計算時間差,分別是:

time_t time( time_t *t) 與 clock_t clock(void)

頭文件: time.h

計算的時間單位分別為: s , ms

time_t 和 clock_t 是函數庫time.h 中定義的用來保存時間的數據結構

返回值:

1、time : 返回從公元1970年1月1號的UTC時間從0時0分0秒算起到現在所經過的秒數。如果參數 t 非空指針的話,返回的時間會保存在 t 所指向的內存。

2、clock:返回從「開啟這個程序進程」到「程序中調用clock()函數」時之間的CPU時鍾計時單元(clock tick)數。 1單元 = 1 ms。

所以我們可以根據具體情況需求,判斷採用哪一個函數。

具體用法如下例子:

#include <time.h>

#include <stdio.h>

#include <stdlib.h>

int main()

{

time_t c_start, t_start, c_end, t_end;

c_start = clock(); //!< 單位為ms

t_start = time(NULL); //!< 單位為s

system("pause");

c_end = clock();

t_end = time(NULL);

//!<difftime(time_t, time_t)返回兩個time_t變數間的時間間隔,即時間差

printf("The pause used %f ms by clock() ",difftime(c_end,c_start));

printf("The pause used %f s by time() ",difftime(t_end,t_start));

system("pause");

return 0;

}

因此,要計算某一函數塊的佔用時間時,只需要在執行該函數塊之前和執行完該函數塊之後調用同一個時間計算函數。再調用函數difftime()計算兩者的差,即可得到耗費時間。

F. c語言睡眠

//已修改,望採納
#include"stdio.h"
#include"windows.h"
voidmain()
{
printf("你是");
Sleep(1000);
printf("我");
Sleep(1000);

}
//錯誤1,括弧和分號是中文的,應該改成英文下的符號,錯誤2,sleep的s是大寫S

G. c語言求教

#include<stdio.h>
main()
{
int s,q,t;
printf("請輸入睡覺時間(24小時進制):");
scanf("%d",&s);
printf("請輸入起床時間(24小時進制):");
scanf("%d",&q);
t=24+q-s;
printf("睡眠時間是:%d",t);
}

H. sleep()函數怎麼具體在c語言中怎麼用

Sleep方法是Java線程(Thread)開發中一種概念。是線程TIMED_WAITING狀態中的一種方法。使用方法為:

1、類名為創建線程的類名。

注意事項:

Sleep函數可以使計算機程序(進程,任務或線程)進入休眠,使其在一段時間內處於非活動狀態。當函數設定的計時器到期,或者接收到信號、程序發生中斷都會導致程序繼續執行。

I. C語言問題,高手來!題目如下:

#include<stdio.h>
int main(){
int h1,m1,s1;
int h2,m2,s2;
int h3,m3,s3;
printf("please input sleep time:");
scanf("%d:%d:%d",&h1,&m1,&s1);//輸入開始睡覺時間
printf("please input wake time:");
scanf("%d:%d:%d",&h2,&m2,&s2);//輸入結束睡覺時間
//計算秒鍾
s3=s2-s1;
if(s3<0){
s3+=60;
m2--;
}
//計算分鍾
m3=m2-m1;
if(m3<0){
m3+=60;
h2--;
}
//計算小時
h3=h2-h1;
//輸出
printf("%2d:%2d:%2d",h3,m3,s3);
system("pause");//暫停一下
}