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");//暂停一下
}