如何延迟C中的程序执行

作者: Joan Hall
创建日期: 28 二月 2021
更新日期: 1 七月 2024
Anonim
2 1 1 速率、带宽、延迟
视频: 2 1 1 速率、带宽、延迟

内容

你有没有想过创建一个等待一定时间的 C 程序?您可以自定义让时间“飞逝”的方式,例如:显示游戏的弹出页面(通知或提示)时。 ...好的,这里有一些创建“静止”程序的方法,请继续阅读...

脚步

  1. 1 让您的处理器运行一段时间而不引起可观察的事件。
  2. 2 在此延迟期间不要执行任何其他操作以创建简单的时间延迟。

方法 1 of 2:For 循环技术

  1. 1 使用典型的“for”循环后跟一个空语句来实现延迟。
  2. 2 写成如下,例如:
    • 对于 (i = 1; i100; i ++);
    • “;”后面的运算符强制计算机循环 100 次而没有明显的事件。它只会造成时间延迟。

方法 2 of 2:“sleep()”技术

  1. 1 使用睡眠()。 该函数称为 sleep (int ms),在 TIME.H> 中声明,它使程序等待指定的时间(以毫秒为单位)。
  2. 2 在程序中的 int main() 之前包含以下行:
    • #include TIME.H>
  3. 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() 时不会发生这种情况。