C語(yǔ)言delay函數(shù)延時(shí)計(jì)算源代碼如下:
創(chuàng)新互聯(lián)基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)BGP機(jī)房服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。
#include "stdlib.h"
void delay()
{
time_t start,end;
start=time(null);
unchar i;
while(z--)
{
for(i=0;ilt;121;i++);
}
end=time(null);
printf("%f",difftime(end,start));
}
擴(kuò)展資料
1、對(duì)于要求精確延時(shí)時(shí)間更長(zhǎng),這時(shí)就要采用循環(huán)嵌套的方法來(lái)實(shí)現(xiàn),因此,循環(huán)嵌套的方法常用于達(dá)到ms級(jí)的延時(shí)。
對(duì)于循環(huán)語(yǔ)句同樣可以采用for,do…while,while結(jié)構(gòu)來(lái)完成,每個(gè)循環(huán)體內(nèi)的變量仍然采用無(wú)符號(hào)字符變量。
C語(yǔ)言的延遲函數(shù)一般是利用無(wú)意義程序運(yùn)行來(lái)控制時(shí)間從而達(dá)到延時(shí)的目的
舉個(gè)例子:
for(i=0;ix;i++)
for(j=0;j120;j++);
這是延時(shí)x毫秒的for循環(huán)語(yǔ)句。
值得注意的是記得最后的;一定得記得寫。
使用要帶上頭文件:
#include windows.h
Sleep函數(shù):
功 能: 執(zhí)行掛起一段時(shí)間
用 法: unsigned sleep(unsigned seconds);
注意:
1.在VC中使用帶上頭文件#include windows.h,在Linux下,gcc編譯器中,使用的頭文件因gcc版本的不同而不同#include unistd.h
2.在VC中,Sleep中的第一個(gè)英文字符為大寫的"S" ,在linux下不要大寫,在標(biāo)準(zhǔn)C中是sleep, 不要大寫,簡(jiǎn)單的說(shuō)VC用Sleep, 別的一律使用sleep。
3.在VC中,Sleep()里面的單位,是以毫秒為單位,所以如果想讓函數(shù)滯留1秒的話,應(yīng)該是Sleep(1000); 在Linux下,sleep()里面的單位是秒,而不是毫秒。
示例:
#includestdio.h
#include windows.h
int main()
{
int a=100;?
Sleep(3000);
printf("%d",a);
return 0;
}
usleep函數(shù):
功能: usleep功能把進(jìn)程掛起一段時(shí)間, 單位是微秒us(百萬(wàn)分之一秒)。
語(yǔ)法: void usleep(int micro_seconds);
返回值: 無(wú)
注意:這個(gè)函數(shù)不能工作在 Windows 操作系統(tǒng)中。
usleep() 與sleep()類似,用于延遲掛起進(jìn)程。進(jìn)程被掛起放到reday queue。只是一般情況下,延遲時(shí)間數(shù)量級(jí)是秒的時(shí)候,盡可能使用sleep()函數(shù)。且此函數(shù)已被廢除,可使用nanosleep。
如果延遲時(shí)間為幾十毫秒,或者更小,盡可能使用usleep()函數(shù)。這樣才能最佳的利用CPU時(shí)間。
delay函數(shù):
功 能: 將程序的執(zhí)行暫停一段時(shí)間,單位是毫秒ms(千分之一秒)
用 法: void delay(unsigned milliseconds);
示例:
#includedos.h
int main(void)
{
sound(440);
delay(500);
nosound();
return 0;
}
delay()是循環(huán)等待,該進(jìn)程還在運(yùn)行,占用處理器。
sleep()不同,它會(huì)被掛起,把處理器讓給其他的進(jìn)程。