C语言 break语句

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

循环语句一般是for循环,while循环,do-while循环。当break语句用于这些循环语句中,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句连在一起,即满足条件时便跳出循环。
下面演示见例子接招看题009:求1-100间的所有素数。
先看看有break的情况:
在这里插入图片描述
代码解读,有些伙伴不擅长把数学思维【不等式思想,函数思想】迁移到编程中来:

#include <stdio.h>

int main()
{
	int n,i;
	//1-100这100个数,因为1不是素数也不是合数,所以判断2-100之间的数【假设是n】是不是素数
    for(n=2;n<=100;n++){
		//循环判断n除了1和n本身,在2-n-1之间还能不能找到约数【假设约数是i】
		for(i=2;i<n;i++)
			// 如果还有约数,那么n不是素数,判断下一个n【执行n++】
			if(n % i == 0)break;//******你不懂的点在这;此时i<n
		    // 如果找不到约数,那么这个n就是素数,打印出来,此时i>=n【******是i<n的对立面懂不?数学思维】
			if(i>=n)printf("%d\n",n);
	}
}

你想啊,你在编程中看到的不等式,看到的函数,是不是数学中的概念,到数学中你会求解,到了编程中就像便秘一样,脑子活活卡住了。这样不行啊,这样你看代码多半是懵逼的,你只是死记硬背一堆符号,并没有掌握读代码的逻辑,没有掌握编程思维。我提出来反馈,希望伙伴多想想,多做数学知识迁移,你做到了之后,这些编程题对你来说简单的像呼吸一样,因为你数学会解题,逻辑迁移到编程中无非是数学语言转化为编程语言表达出来而已。这篇文章这段文字一定要记住~

再然后看看无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页。读者学习当中有问题,可以提出来,留言,一起交流讨论,一起进步。

恭喜你,又学会了一个技术点,关注我,为思考点赞~

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码写注释

请赞赏我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值