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

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

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

视频: ZEITGEIST : MOVING FORWARD 時代の精神 日本語字幕 CC版 2024
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语言程序中的无限循环 - 傻瓜

编辑的选择

在Flash中使用活动文本 - 虚拟人物

在Flash中使用活动文本 - 虚拟人物

静态文本完成工作,为您提供信息网站访问者。但是Flash可以用文本来做更多的事情。有时候,你不希望自己的文本是文本,而是喜欢一堆可以弯曲,扭曲,移动,或者不能混合的独立字母形状。 Flash的分离命令...

移动网站质量保证测试 - 傻瓜

移动网站质量保证测试 - 傻瓜

在为IPhone推出新网站之前, iPad,始终在iPhone或iPad上全面测试其设计和功能,确保网站的外观和工作方式与您的想法完全相同。使用模拟器不能替代完成物理设备上的最终检查表。 As ...

QuarkXPress 5基本任务的快捷方式 - 虚拟人物

QuarkXPress 5基本任务的快捷方式 - 虚拟人物

QuarkXPress 5具有数吨和数吨的快捷方式。你大概不会记住他们中的大多数,但是你一定会发现自己一直在使用一两个。这里有一些有用的视图,调色板和对象选择任务的快捷键。 QuarkXPress查看快捷方式操作Mac Windows 100%命令+ 1 Ctrl + 1在窗口中装入Command + 0 Ctrl + 0 200%...

编辑的选择

如何将尼康D5300照片下载到计算机 - 傻瓜

如何将尼康D5300照片下载到计算机 - 傻瓜

你的尼康D5300,你可能会想用他们的照片编辑软件。您可以用两种方法将照相机中的照片和电影文件移到电脑上:通过USB电缆将照相机连接到电脑。您需要的电缆是随附的。

如何在播放期间放大尼康D7100照片 - 虚拟人物

如何在播放期间放大尼康D7100照片 - 虚拟人物

您的尼康D7100,如左图所示,您可以放大它,如右图所示。但是,您只能放大静止照片。此功能不适用于电影。以下是如何使用放大功能:放大。按Qual按钮。您可以...

如何在尼康D7100上播放时隐藏照片 - 虚拟人物

如何在尼康D7100上播放时隐藏照片 - 虚拟人物

可以使用隐藏图像选项在尼康D7100的播放菜单上隐藏一些照片,同时在播放过程中显示其他照片。假设你拍了100张照片--50次在商务会议上,50次在野外会议后。您想向您的老板展示您和您的同事的照片...

编辑的选择

IBS受害者如何制作草莓和奶油燕麦 - 假人

IBS受害者如何制作草莓和奶油燕麦 - 假人

您可以享用燕麦片如果你患有IBS。当快燕麦烹饪时,切碎草莓和香蕉(IBS主食),并从冰箱中取出椰奶。一旦这样做,燕麦片通常是准备倒。你可以添加不同的水果,甚至坚果作为你的...

如何为IBS患者制作绿鸡蛋烘焙者 - 假人

如何为IBS患者制作绿鸡蛋烘焙者 - 假人

使用自由放养的鸡,因为它们是谷物喂养,没有生长激素和抗生素,因此,IBS的肚子更健康。用任何鸡肉菜肴,一定要煮好你使用的任何一种鸡肉。当你对这道菜更加熟悉的时候,你可能会发现你并不需要...