Delay loop, clock ()

Original link: https://blog.csdn.net/qq20004604/article/details/50189231

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;
}

to sum up:

① core one second output line of code is:

Declarations section:

clock_t one = CLOCKS_PER_SEC; // variable one = 1 sec.

clock_t one_start; // declare variables one_start, to give it a value at the beginning of

Execution wait section:

while (clock () - one_start <one); // time has passed a

That statement once, using part of the implementation of wait, that automatically wait a second.

Wait times:

Plus for (i = 0; i <n; i ++) wait for the effect of n seconds.

Description link

Guess you like

Origin blog.csdn.net/yujinlong312/article/details/101768446