break语句 【C语言程序设计】

1.break语句
break语句通常用在循环语句和开关语句中。

循环语句一般是for循环,while循环,do-while循环。当break语句用于这些循环语句中,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句连在一起,即满足条件时便跳出循环。
下面演示见例子接招看题009:求1-100间的所有素数。
先看看有break的情况:
在这里插入图片描述
再然后看看无break的情况:
在这里插入图片描述
在这里插入图片描述
通过控制变量法—有无break,我们发现:
有break时,满足条件时被迫跳出自己所在的循环,进而执行循环语句以外的语句,
即if(i>=n)printf("%8d\n",n); 此时本程序执行25次,输出对应的25个值。
无break时,不会立即跳出跳出循环,要老老实实地按照for循环条件表达式执行循环体,即从初始值2开始执行到终止值100,此时本程序老老实实地执行99次,输出对应的99个值。

开关语句一般是switch语句。当break用于开关语句switch语句中时,可使程序跳出switch而执行switch以后的语句;若没有break语句,则就会从匹配的标签开始执行到switch末尾。
下面演示见例子:事实上以前博客文章讲到过,再讲一遍吧:
接招看题010:输入一个数字,要求输出对应的星期几的英文单词。
先看看有break的情况:
在这里插入图片描述
过程分析:switch语句后面的括号中的表达式的值,该表达式是刚从键盘输入的字符的值,即黑色图片中的字符 7 ,然后程序扫描标签列表(即case 1 case2 到default这么一个范围),直到发现一个匹配的值为止,然后程序跳转到匹配行。如果没有发现匹配值,如果有default语句,就执行该语句及其后面的语句,否则,执行switch{}后面的语句。
再然后看看无break的情况:
在这里插入图片描述
过程分析:从键盘接受一个字符4,然后程序扫描switch(a){case 1 case2 到default这么一个范围},知道发现一个标签匹配值为止,然后程序跳转到匹配行,从匹配的标签开始执行到switch末尾的default语句。即从case 4 执行到 default,即屏幕输出 thursday 到 error。
再来例题:
在这里插入图片描述 分析过程同上。请读者自己体会一下。如果参考文档动手上机实践没弄清楚,请参考《C Primer Plus》 的P204页。读者学习当中有问题,可以提出来,留言,一起交流讨论,一起进步。 2018-10-10