c语言秒运行
『壹』 在c语言中怎样实现等几秒钟在执行下一个程序
用sleep函数,貌似在windows.h中。
用for(i = 0; i < 1000; i++);不行,计算机每秒可以进行上千万,甚至上亿次运算,才1000次运算哪里能够消耗1s...
『贰』 C语言程序运行计时
使用time()函数。它在头文件time.h中
具体使用方法如下:
time_t a,b;//time_t是表示时间的结构体,你可以在time.h中找到它的原型。
a=time(NULL);//表示获取当前的机器时间。
代码段
b=time(NULL);//表示获取当前的机器时间。
a是代码段执行前的时间,b是代码段执行后的时间(单位是秒),那么b-a当然是代码段的执行时间了。输出时,以长整型输出时间。
希望这个解答可以帮到你。
『叁』 C语言main调用函数a并运行5秒然后切换函数b运行5秒,以此重复
两种情况:
a函数或者b函数或者a、b函数在5秒内执行不完,这种情况,最好是使用多线程或者多进程;创建2个线程或者2个进程,让a函数在一个进程(线程)执行,b函数在另外一个进程(线程)执行,5秒后调度另一个进程(线程)执行;
a,b在5秒内都能执行完成,那就在一个循环里面:先获取执行前的机器时间,加5秒,执行完函数,再次获取机器时间,和原机器时间加5秒,作对比,大于或者等于了,就执行另外一个函数。
『肆』 用c语言模拟一个数字时钟,要求延时一秒运行
如果你要按楼上那种用sleep的方法模拟时钟的话,误差很大的,你可以实时对照着系统时间可以下就知道了,超过两分钟时间误差差3-4秒不成问题,如果你对时间准确性不要求的话,只是仅仅模拟的话那倒还凑合用!否则那你必须这样做:用sleep延时刷新并获取系统时间来显示
#include <afx.h>
#include <stdio.h>
int main()
{
while(true)
{
CTime ti=CTime::GetCurrentTime();
CString s_time;
s_time = ti.Format("%H:%M:%S");
printf("%s",s_time);
Sleep(500);
system("cls");
}
return 0;
}
『伍』 C语言中 有什么指令 可以满足 等待数秒 再执行下一行
原型:extern void sleep(unsigned int sec);
用法:#include <dos.h>
功能:短暂延时
说明:延时sec秒
举例:
// sleep.c
#include
main() {
int c;
clrscr();
printf(" Hello, world!");
sleep(1);
clrscr();
printf(" Hi, guys");
getchar();
return 0;
}
原型:extern void delay(unsigned int msec);
用法:#include <dos.h>
功能:短暂延时
说明:延时msec*4毫秒
举例:
// delay.c
#include
main()
{
int c;
clrscr();
printf(" Hello, world!");
delay(250); // 250*4=1000msec=1sec
clrscr();
printf(" Hi, guys");
getchar();
return 0;
}
wait(等待子进程中断或结束)
相关函数
waitpid,fork
表头文件
#include<sys/types.h>
#include<sys/wait.h>
定义函数
pid_t wait (int * status);
函数说明
wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一起返回。如果不在意结束状态值,则参数status可以设成NULL。子进程的结束状态值请参考waitpid()。
返回值
如果执行成功则返回子进程识别码(PID),如果有错误发生则返回-1。失败原因存于errno中。
『陆』 我想用c语言编程,每0.01秒执行一次一个段语句,请问怎么写要详细的
这是不可能的,设置WM_TIMER消息最短的时间为17分之1秒
『柒』 C语言问题:延迟的代码是什么例如暂停一秒后再运行
我看C函数的书好像是sleep(n);n是以秒为单位的;
delay(n);n是以毫秒为单位的;
应该是sleep(1)或者是delay(1000);
不过这个好像是只能在编译器的环境下才能执行;
双击生成的exe文件好像就不能执行了,到底是什么原因我弄了很长时间也没搞清楚;我的老师们也不知道是怎么回事!
『捌』 c语言暂停几秒比连续运行代码省电吗
这个是会省一点电的。
但是里面的单位是毫秒,而不是秒。
关于sleep()函数在windows系统和linux系统下是两个不同的函数,差别较大,但功能是相同的,都是将进程挂起一段时间。
windows系统下函数名为Sleep(),其函数原型为:
#include <windows.h> 函数使用头文件
void Sleep(DWORD dwMilliseconds); 参数为毫秒
参考代码:
#include <windows.h> //win头文件
#include<stdio.h>
int main()
{
int i;
printf("你");
fflush(stdout); //赞制刷新缓存,输出显示
for( i=0;i<10;i++ )
{
Sleep(1000); /* windows 使用Sleep,参数为毫秒 */
printf(".");
fflush(stdout);//赞制刷新缓存,输出显示
}
printf("好\n"); /*输出“你”和“好”之间会间隔10秒,并输出10个点*/
return 0;
}
linux系统下函数名为sleep(),其函数原型为:
#include <unistd.h> 函数使用头文件
unsigned int sleep(unsigned int seconds);参数为毫秒 (如果需要更精确可以用usleep,单位为微秒)
修改上面的代码,以适应linux系统
#include <unistd.h> //1、linux 头文件
#include<stdio.h>
int main()
{
int i;
printf("你");
fflush(stdout);//赞制刷新缓存,输出显示
for( i=0;i<10;i++ )
{
sleep(1); /*2、linux 使用sleep,参数为秒*/
printf(".");
fflush(stdout);//赞制刷新缓存,输出显示
}
printf("好\n"); /*输出“你”和“好”之间会间隔10秒,并输出10个点*/
return 0;
}
注意:
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()里面的单位是秒,而不是毫秒。
========================
delay()是循环等待,该进程还在运行,占用处理器。
sleep()不同,它会被挂起,把处理器让给其他的进程,所以会省一点电。
『玖』 C语言秒的转换
根据输入的秒数,转换成相应的时,分,秒数据输出过程为:定义变量h,m,s来存储转换结果定义seconds变量,接收用户输入得到小时数:h=seconds/3600;去除小时数:seconds%=3600; 得到分钟数:m=seconds/60;得到秒数:s=seconds%60;输出结果参考代码:#includeint main(){ int h,m,s,seconds; printf("input sec: ");scanf("%d", &seconds ); h=seconds/3600; seconds %= 3600 ; m=seconds/60; s=seconds%60; printf("%d:%d:%d\n", h,m,s ); return 0;}运行结果:input sec: 145674:2:47
『拾』 用c语言每秒输出一次
#include<stdio.h>
#include<windows.h>//此处是必要的头文件
intmain(intargc,char*argv[])
{
inti=0;
for(i;i<10;i++)
{
printf("%d",i);
Sleep(1000);//sleep函数对应输出的延时,1000就是1000Ms,就是1秒的意思。
}
return0;
}
谢谢,纯手打,望点赞