1. 最简单最笨的方法,就是利用for循环的方式,即让编译器多次执行循环步骤,把时间浪费在数数的过程中。代码如下:
#include<iostream>
using namespace std;
void main()
{
char BELL = '\a'; //这里添加振铃来体现延时这一过程
int i;
for ( i = 0; i < 10; i++)
{
cout << "响铃10声:" << BELL << endl;
long a;
for (a = 0; a < 100000000;a++)
{
}
}
system("pause");
}
缺点:这是最笨的方法,无法精确的延时,而且内嵌for循环执行的次数必须足够大,当然也可以嵌套i,jfor循环,。
如果想要测试具体延时时间为多久可以用C++标准库里的clock()函数,代码如下:
#include<iostream>
#include<ctime>
using namespace std;
void main()
{
double start, stop,wholetime; //定义各表示时间点的变量
start = clock(); //从程序开始时到调用clock时的时间
char BELL = '\a';
int i;
for ( i = 0; i < 10; i++)
{
cout <<"第 "<< i+1 <<" 声响铃"<< BELL<<endl;
long a;
for (a = 0; a < 100000000;a++)
{
}
}
stop = clock(); //从程序开始时到调用clock时的时间
wholetime = stop - start;//在两个clock之间所延时间数目,单位是ms
cout <<"总共延时时间: "<< wholetime / CLOCKS_PER_SEC << endl;
cout << "程序开始时间: " << start << endl;
cout << "程序结束时间: " << stop << endl;
cout << "总共延时时间: " << wholetime << endl;
system("pause");
}
运行结果展示:
C++的头文件ctime中的库函数clock()提供了测试函数运行时间的方法,是C++中的计时函数,MSND中,其定义如下:
clock_t clock(void) ;
与其相关的数据类型是clock_t,它返回”开启这个程序进程“到”程序中调用clock()函数“时之间的CPU计时单元(clock tick)数。称之为挂钟时间(wall-clock)。返回单位是毫秒。常量CLOCKS_PER_SEC, 这个常量表示每一秒(per second)有多少个时钟计时单元,这个在头文件<ctime>有定义,为1000。这样延时的目的就达到了!