个人理财 打破C语言程序中的无限循环 - 傻瓜

打破C语言程序中的无限循环 - 傻瓜

视频: ZEITGEIST : MOVING FORWARD 時代の精神 日本語字幕 CC版 2025

视频: ZEITGEIST : MOVING FORWARD 時代の精神 日本語字幕 CC版 2025
Anonim

当您进入C语言的编程循环时,您会发现无穷无尽或 无限 循环的乐趣和恐惧。这些循环会一直持续下去,因为程序员忘记了包含退出循环的方式,或者退出条件从未满足。无论哪种方式,无尽的循环是一个痛苦。但有时一个C程序有意无意地循环着。这种类型的构造看起来可能很奇怪,但许多现代程序的基础是它们在等待事件发生时坐下来旋转。循环可能看起来像这样:

<! ( -;){check_Keyboard(); check_Mouse(); check_Events(); check_System();}

请注意,for关键字后面括号内的条件是缺少的,这是可以的。结果是一个无止境的循环,在这个循环中,语句被一个接一个地重复检查:程序正在某个地方寻找活动。当找到活动时,程序就会关闭并执行一些有趣的事情。但是大部分时间,程序只是在这种循环中等待发生。 (典型的文字处理器可能会执行数千个这样的循环,因为它正在键入之间等待键击。)

输入这个源代码并保存到磁盘。然后编译并运行程序:

#include int main(){char ch; (“打字程序”); puts(“Type away:”); for(;;){ch = getchar();} return(0);}

是的,你可以输入。你可以在屏幕上看到你的文字。但是,你怎么停止?

要停止,必须打开无限循环,可以通过按Ctrl + C来完成。但是,这不是你希望你的程序工作的方式。相反,必须为循环定义退出条件,这是break关键字的作用。

<! C语言开发人员知道,在某些情况下,必须根据for语句中无法预测或设置的条件来打开循环。所以,他们以他们的智慧介绍了break关键字。

什么中断是立即退出循环(任何C语言循环,而不仅仅是循环)。当计算机看到中断时,它只是假定循环已经完成并继续,就像循环的结束条件已经满足一样:

#include int main(){char ch; (“打字程序”); puts(“Type away;按'〜'退出:”); for(;;){ch = getchar(); if(ch =='〜'){break;}} return(0);}

现在定义一个退出条件。第12行中的if比较检查是否输入了〜(代字号)字符。如果是这样,则循环由break语句暂停。

更改您的源代码,使其与刚才显示的内容相匹配。编译并运行。现在,您可以输入〜字符来暂停程序。

注意if语句也可以不带括号:

if(ch =='〜')break;

这一行可能比使用大括号更可读。

打破C语言程序中的无限循环 - 傻瓜

编辑的选择

如何从Dreamweaver CS6中的CSS Starter Pages创建新文档 - 傻瓜

如何从Dreamweaver CS6中的CSS Starter Pages创建新文档 - 傻瓜

Adobe Dreamweaver CS6为您提供了一个基于CSS布局的示例页面库,作为从头开始的替代方案。这些CSS示例页面提供了有用和常见的布局思路,并且因为它们是使用CSS定位创建的,所以它们非常灵活。您可以直接从“CSS样式”面板或“属性”检查器修改它们。 ...

编辑的选择

如何使用Office 2011 for Mac下载新剪贴画 - 傻瓜

如何使用Office 2011 for Mac下载新剪贴画 - 傻瓜

有时剪贴画存在于您的Office for Mac图库不包括您需要的确切图片。您可以根据需要下载尽可能多的剪贴画片段,然后根据需要使用它们(甚至是商业用途),但不能出售。只要你有一个网络浏览器,...

如何格式化Office 2011 for Mac中的普通文本 - Office 2011 for Mac中的傻瓜式

如何格式化Office 2011 for Mac中的普通文本 - Office 2011 for Mac中的傻瓜式

功能区上的“主页”选项卡显示格式化文本时最经常使用的命令。如果要格式化通过突出显示选定的文本,请转到功能区的“主页”选项卡上的“字体”组。尽管这些控件中的大多数可能看起来很熟悉,但其中一些控件可能还是...

如何在Office 2011 for Mac中插入图形 - Office 2011 for Mac中的虚拟人物

如何在Office 2011 for Mac中插入图形 - Office 2011 for Mac中的虚拟人物

浏览器是你可以找到各种各样的形状添加到您的文档,工作簿和演示文稿。您还可以在功能区上的各个位置找到相同的形状。每种形状都可以通过无限制的方式进行自定义和格式化,以便您可以轻松获得正确的结果...

编辑的选择

可在Adobe Creative Cloud中使用路径和笔划 - Adob​​e Creative Cloud中的虚拟路径

可在Adobe Creative Cloud中使用路径和笔划 - Adob​​e Creative Cloud中的虚拟路径

您在文档中创建的线条和轮廓。您可以使用路径来勾勒图像,分隔文本区域,或者成为您创建的插图的一部分。您通常使用“线”工具,“钢笔”工具或形状工具制作路径。您可以使用这些工具...

Dreamweaver CC For傻瓜小说 - 傻瓜

Dreamweaver CC For傻瓜小说 - 傻瓜

您可以使用Adobe Dreamweaver CC创建新网站或重新设计现有的网站。在代表Creative Cloud的Dreamweaver CC中,您可以找到熟悉的欢迎页面以及用于管理层叠样式表(CSS)和网络字体的新工具。通过安装插件来增强Dreamweaver,或通过仔细阅读链接列表来细化您的网站...

中使用图形在Creative Cloud Documents中使用图形 - 虚拟人物

中使用图形在Creative Cloud Documents中使用图形 - 虚拟人物

图形可以是图像,绘图或矢量对象。您可以通过在页面上打标记来手动创建图形,或使用软件以电子方式创建它们。您可以以多种格式显示图形,例如在计算机屏幕上,投影到墙上或印在杂志或书本上。计算机图形...