作者:
Joan Hall
创建日期:
28 二月 2021
更新日期:
1 七月 2024
![2 1 1 速率、带宽、延迟](https://i.ytimg.com/vi/_pGwMO2Ap0g/hqdefault.jpg)
内容
你有没有想过创建一个等待一定时间的 C 程序?您可以自定义让时间“飞逝”的方式,例如:显示游戏的弹出页面(通知或提示)时。 ...好的,这里有一些创建“静止”程序的方法,请继续阅读...
脚步
1 让您的处理器运行一段时间而不引起可观察的事件。
2 在此延迟期间不要执行任何其他操作以创建简单的时间延迟。
方法 1 of 2:For 循环技术
1 使用典型的“for”循环后跟一个空语句来实现延迟。
2 写成如下,例如:
- 对于 (i = 1; i100; i ++);
- “;”后面的运算符强制计算机循环 100 次而没有明显的事件。它只会造成时间延迟。
方法 2 of 2:“sleep()”技术
1 使用睡眠()。 该函数称为 sleep (int ms),在 TIME.H> 中声明,它使程序等待指定的时间(以毫秒为单位)。
2 在程序中的 int main() 之前包含以下行:
- #include TIME.H>
3 在必要时粘贴以使您的程序延迟:
- 睡眠(1000);
- 将“1000”更改为要等待的毫秒数(例如,如果要延迟2秒,请将其替换为“2000”。
- 提示:在某些系统上,该值可能以秒而不是毫秒为单位指定。因此,有时 1000 不是 1 秒,而实际上是 1000 秒。
示例代码
等待特定秒数的程序:
#include stdio.h> #include dos.h> int main () {int del; // 延迟时间 printf("请输入延迟时间(秒):"); scanf("% i",?del);删除 * = 1000; // 乘以 1000 转换为毫秒 Delay(del); // 延迟。 printf ("完成。");返回0; }
一个从 10 倒数到 0 的程序:
#include STDIO.H> #include TIME.H> int main () {int i; for (i = 10; i> = 0; i--) {printf("% i n", i); // 写入当前的“倒计时”数字 Delay (1000); // 稍等一下} return 0; }
提示
- 一毫秒是一秒的 1/1000。
- 上述算法可以使用任何循环结构来实现,后跟空运算符 - "; 就像使用 while 或 do-while 循环一样。
警告
- 这种方法对于除微不足道的程序之外的任何东西通常都是无用的。通常,使用计时器或事件驱动的方法来完成此操作。否则,程序将在延迟时间内无响应,这并不总是一件好事。此外,在循环中选择 N,如果它依赖于命令的执行,可能会产生意想不到的结果。显然,原作者从未听说过优化编译器……如果它实际上不做任何事情,它可以优化整个循环!
- 请注意,在使用“for-loop”方法时,对于 i 可能需要非常大的间隔,因为空语句非常快。如此大的数字可能不适合整数类型。
- 如果使用 for 循环,编译器可以优化代码,由于循环什么也不做,请将其删除。使用 Delay() 时不会发生这种情况。