视频: ZEITGEIST : MOVING FORWARD 時代の精神 日本語字幕 CC版 2024
当您进入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;
这一行可能比使用大括号更可读。