1
//延迟循环
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int yc;//定义int类型变量yc-延迟
cout << "这里有两段话,显示你想让两段话输出的间隔时间";
cin >> yc;
cin.get();
clock_t delay = yc * CLOCKS_PER_SEC;
//clock_t是一种类型,是clock()返回类型的别名,用处储存时钟类型变量。此外,还增强可移植性
//CLOCKS_PER_SEC是一个符号常量,它用于存储一秒钟有多少时钟单位,等于每秒钟包含的系统时间单位数,
//比如时钟单位一秒跳1000下,那么它实际就是1000,跳10000下,那么它就是10000
//所以这行语句的意思是,定义变量delay,它等于用户输入这个数字乘以这个单位,就是x秒*若干时间单位/秒
clock_t ks = clock();
//clock()实际上就是当前的时钟时间,将当前时间赋值给时钟类型变量ks;
//而ks-clock() 实际上就是两个时间之间的时钟单位数量
cout << "这里是第一段话,你猜第二段话是什么?" << endl;
while (clock() - ks < delay)
//由于clock()随着时钟的变化而变化,而ks是由开始赋值的,因此它们的差会随着时间的推移而增大。
//当差大于等于delay时,循环结束,也就达到了我们想要等待时间的目的
//这里是空语句,执行空语句是无输出的,用于等待时间,不满足条件后,结束执行空语句
;
cout << "这里是第二段话,我最帅!" << endl;
system("pause");
return 0;
}
//测试clock()的意义
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
clock_t a = clock(); //int a被声明为当前clock()的值,注:也可用clock_t来做变量名
cout << clock() << endl; //输出当前clock()的值
cout << a << endl; //输出a的值
for (int yc = 1; yc < 4; yc++)// 初始yc为1,执行每次循环yc+1,当yc>=4时,停止执行循环操作
//作用是,让每次执行循环的时候,时间间隔都不一样
{
clock_t delay = yc * CLOCKS_PER_SEC; //变量yc为yc(秒)
clock_t ks = clock(); //ks变量为当前时钟单位
while (clock() - ks < delay)
;//循环执行空代码已起到延迟循环的作用,当延迟时间满足条件后,结束循环
cout << clock() << endl; //输出循环后的clock()值
}
cout << CLOCKS_PER_SEC << endl; //输出CLOCKS_PER_SEC的值
system("pause");
return 0;
}
//每秒输出一行代码,连续10秒
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
cout << "当前时间为" << clock() << endl;
//以下是核心部分
clock_t one = CLOCKS_PER_SEC;//变量one=1秒
clock_t one_start; //声明变量one_start,用于在开始时间给其赋值
for (int i = 0; i < 10; i++)
{
one_start = clock();//当前时间为clock();
while (clock() - one_start < one)//时间过去一秒
;
cout << "等待中,这是第" << i + 1 << "秒...\n";//注:之所以i+1,是因为已经等待了1秒
}
//以上是核心部分
cout << "当前时间为" << clock() << endl;
system("pause");
return 0;
}
总结:
①等1秒输出一行代码的核心为:
声明部分:
clock_t one = CLOCKS_PER_SEC; //变量one=1秒。
clock_t one_start; //声明变量one_start,用于在开始的时候给其赋值
执行等待部分:
while (clock() - one_start < one); //时间过去了一
即声明一次之后,使用 执行等待部分,即自动等待一秒。
多次等待:
加for(i=0;i<n;i++) 效果是等待n秒。