当前位置:首页 » 编程语言 » c语言怎么计时的

c语言怎么计时的

发布时间: 2022-02-28 07:13:21

c语言如何用time函数计时

事件开始时记录下时间,事件结束时在记录时间,两者相减,就是事件消耗的时间。

⑵ 在C语言中如何实现精确计时

  1. time()
    头文件:time.h
    函数原型:time_t time(time_t * timer)
    功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的此时此刻所经过的秒数。

2.clock()
头文件:time.h
函数原型:clock_t clock(void);
功能:该函数返回值是硬件滴答数,要换算成秒,需要除以CLK_TCK或者 CLK_TCKCLOCKS_PER_SEC。比如,在VC++6.0下,这两个量的值都是1000。

3. timeGetTime()

头文件:Mmsystem.h 引用库: Winmm.lib
函数原型:DWORD timeGetTime(VOID);
功能:返回系统时间,以毫秒为单位。系统时间是从系统启动到调用函数时所经过的毫秒数。注意,这个值是32位的,会在0到2^32之间循环,约49.71天。

⑶ 请问怎么用c语言怎么写一个最简单计时器

#include<stdio.h>#include<windows.h>int main(){ int hour = 0, min = 0, sec = 0; while (1){ Sleep(1000);//暂停1s system("cls");//清屏 sec++; if (sec == 60){ min++; sec = 0; } if (min == 60){ hour++; min = 0; } if (hour == 24){ hour = 0; } printf("%02d:%02d:%02d\n", hour, min, sec); //%02d输出长度为2,不足2前面补0 } return 0;}
运行截图

⑷ C语言编程计时器如何工作

C语言编程计时器,参考思路如下:
每隔30秒(自己定)操作文件file:
1、file文件里只存一个数(初值为0);
2、每隔30秒打开文件,读出数字;
3、数字加上30秒;
4、再写进去;
在"Dos.h"中有void sleep(unsigned seconds)函数;
Sample:
#include "Dos.h"
#include "stdio.h"

void main(){
while(1){
sleep(yourTime);
doSomething(...);
}
}

⑸ C语言中有没有用于计时的函数怎么用

CLOCK()函数:
clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t clock(void) ;
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:
#ifndef _CLOCK_T_DEFINED
typedef long clock_t;
#define _CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
void elapsed_time()
{
printf("Elapsed time:%u secs.\n",clock()/CLOCKS_PER_SEC);
}
当然,你也可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
long i = 10000000L;
clock_t start, finish;
double ration;
/* 测量一个事件持续的时间*/
printf( "Time to do %ld empty loops is ", i) ;
start = clock();
while( i-- );
finish = clock();
ration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", ration );
system("pause");
}
在笔者的机器上,运行结果如下:
Time to do 10000000 empty loops is 0.03000 seconds
上面我们看到时钟计时单元的长度为1毫秒,那么计时的精度也为1毫秒,那么我们可不可以通过改变CLOCKS_PER_SEC的定义,通过把它定义的大一些,从而使计时精度更高呢?通过尝试,你会发现这样是不行的。在标准C/C++中,最小的计时单位是一毫秒。

time_t time( time_t *timer );

返回值是1970年到现在的秒数 用long型接就可以了
参数也是同样意义


long time_s = 0;
time_s = time( NULL );
// time_s就是1970年到现在的秒数

或者
long * time_s = NULL;
time(time_s);
// *time_s就是1970年到现在的秒数

要计算前后一段时间的话之前取一次time,之后取一次相减就知道用了多少秒了

⑹ C语言程序运行计时

可以使用time.h里面的clock函数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
long i = 10000000L;
clock_t start, finish;
double ration; /* 测量一个事件持续的时间*/
printf( "Time to do %ld empty loops is ", i) ;
start = clock();
while(i--);
finish = clock();
ration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( "%f seconds\n", ration );
system("pause");
return 0;
}

⑺ 如何在C语言中实现计时

以前做那个停车场管理系统的时候, 也是需要计时,因为要收费.. 好像就这么记得. 每个上机的人,应该有一个结构体,在结构体里设个计时的变量,可以是个只有两个元素的数组.当然这样会很不方便了.(因为需要你自己输入上机时间,和下机时间,并保存在变量里.)
.... ANSIC里有一个time函数,在time.h头文件里. 这个函数,传递一个参数,返回的是系统时间(单位我不清楚),返回的系统时间保存在你传递的参数里... 你可以试试这个. 貌似这个可能就有点麻烦了. 因为需要测试程序... 你不可能等个1,2个小时,再看看输出结果是不是对的...测试的时候,乘个数放大一下应该就可以了..

也就是说,你设一个结构体,里面有一个记录时间的数组time[2],数组只含两个元素, 这两个元素的值,由time函数来获得.(这里获得的是系统时间).

.这个结构体里应该还含有的其他元素,应该要包括,电脑标号ID(每个电脑对应一个号码),和一个bool型变量status,来标识是该电脑的状态,已有人上机或者处于空闲状态.

status为true(有人使用该机器)时,把系统时间付给time[0],
该机器的status变为false(有人下机)后,在把一个系统时间付给time[1].计算时间差和收费额.

.. 那些一个小时,半个小时,等等,不同时间的不同收费标准,一般用if,什么的来搞定.

⑻ c语言倒计时怎么编

定位要倒计时的坐标!然后再需要倒计时的地方添加gotoxy(所定位的坐标),当然这只是十以下的倒计时,超过了十则会清除不了十位数上的数字,要解决这个办法就是输出%2d

⑼ 怎么用c语言编写一个计时器!!!

调用win的api函数ExitWindowsEx();

#include <stdio.h>
#include <time.h>

main()
{
clock_t start,end;
int n;
printf("How many seconds do you want to count? ");
scanf("%d",&n);
getchar();
clrscr();
start=end=clock();
while((n-(int)(end-start)/19)>=0&!kbhit())
{
printf("the time is: %d",n-(int)(end-start)/19);
sleep(1);
end=clock();
clrscr();
}
ExitWindowsEx();
}

循环结束就可以了。
网上帮你找了下。
头文件: 在Winuser.h中定义;需要包含 Windows.h.
静态库: User32.lib.

【以上转贴】
【以下原创】
#include "ctime" //不要直接编,可能过不了,为C++,只是告知你大概方法

using namespace std;
//我写的一个类,调用API函数:
// gameTime类,用于时间控制
class gameTime
{
public:
gameTime();
~gameTime();
public:
DWORD tNow; //当前时间
DWORD tPre; //开始时间
private:
bool key; //运行控制
public:
bool getKey() { return key; }
void setKey( bool temp ) { key = temp; }

DWORD getTimeDelay(){ return (tNow - tPre);}
};

/**-----------------------------------------------------------------------------
* gameTime类实现段
*------------------------------------------------------------------------------
*/
gameTime::gameTime():tNow(0),tPre(0),key(false)
{

}
gameTime::~gameTime()
{

}
//原理是开始计时时:
tPre = GetTickCount();
///....执行。
gameStartTime.tNow = GetTickCount();
if(gameStartTime.getTimeDelay()>= 72000)
............

//在72S内做什么什么。。。

这个是控制时间间隔的。

⑽ c语言中怎么设置计时器

#include <iostream>

#include <time.h>

using namespace std;

int main()

{

clock_t start = clock();

//do some process here

clock_t end = (clock() - start)/CLOCKS_PER_SEC;

cout<<"time comsumption is "<<end<<endl;

}

(10)c语言怎么计时的扩展阅读

使用linux的系统设置计时器

#include <sys/time.h>

int main()

{

timeval starttime,endtime;

gettimeofday(&starttime,0);

//do some process here

gettimeofday(&endtime,0);

double timeuse = 1000000*(endtime.tv_sec - starttime.tv_sec) + endtime.tv_usec - startime.tv_usec;

timeuse /=1000;//除以1000则进行毫秒计时,如果除以1000000则进行秒级别计时,如果除以1则进行微妙级别计时

}

timeval的结构如下:

strut timeval

{

long tv_sec; /* 秒数 */

long tv_usec; /* 微秒数 */

};

热点内容
android学习源码 发布:2025-01-11 11:26:23 浏览:411
服务器都坏了如何恢复 发布:2025-01-11 11:24:04 浏览:352
微博缓存的图片能清理吗 发布:2025-01-11 11:01:49 浏览:306
文字加密器 发布:2025-01-11 11:01:08 浏览:453
vc60非静态编译 发布:2025-01-11 10:51:32 浏览:614
电脑上怎么解压缩文件 发布:2025-01-11 10:51:31 浏览:783
枪战王者如何用账号密码登录 发布:2025-01-11 10:30:56 浏览:938
mysql在linux下安装 发布:2025-01-11 10:30:49 浏览:845
数据库copy 发布:2025-01-11 10:26:06 浏览:534
unity清理缓存 发布:2025-01-11 10:25:23 浏览:468