c/c++开发分享C语言中break与continue的用法和区别详解

目录前言本文将通过简单的实例来详细分析在c语言中break语句和continue语句的用法和区别,欢迎大家批评指正。(部分内容稍有重复,大家可自行选择跳转目录)一、循环体中两者的作用1.while循环

目录

      前言

      c/c++开发分享C语言中break与continue的用法和区别详解将通过简单的实例来详细分析在c语言中break语句和continue语句的用法和区别,欢迎大家批评指正。(部分内容稍有重复,大家可自行选择跳转目录)

      一、循环体中两者的作用

      1.while循环

      我们先看一个循环示例:此程序在屏幕上打印出数字1—10

      %ignore_pre_1%

      运行结果:

      C语言中break与continue的用法和区别详解

      (1)break语句 我们在刚才的代码添加两行代码并使用break语句,使其变成以下程序:

        int main()  {  	int i = 1;  	while (i <= 10)  	{  		if (i == 5)  			break;  		printf("%d ", i);  		i++;  	}  	return 0;  }  

      此程序运行的结果如下图:

      C语言中break与continue的用法和区别详解

      对此程序的运行结果进行分析:

      C语言中break与continue的用法和区别详解

      总结: while 循环中的break是用于永久终止循环

      (2)continue语句

      还是刚才的代码,我们将其中的break 语句替换为continue语句

        int main()  {  	int i = 1;  	while (i <= 10)  	{  		if (i == 5)  			//break;  			continue;  		printf("%d ", i);  		i++;  	}  	return 0;  }    

      运行该程序,得到结果:

      C语言中break与continue的用法和区别详解

      我们可以看出,该程序并未执行结束,以下是对该程序的分析:

      C语言中break与continue的用法和区别详解

      总结:continue 语句在while 循环中的作用是终止本次循环,即continue后面的代码不会执行,程序会跳转至while语句的判断部分,由于此时 i 等于5并且永远满足判断条件小于等于10,因此该循环将进入死循环,一直进行下去。

      该示列对continue语句的用法不太直观,因此我们进行修改,将上述代码中的i++ 语句放置while循环里的最前面,并对i 的初值以及循环条件做以修改,以保证改进后的代码依旧可在屏幕上打印数字1—10

      以下是改进后代码:

        int main()  {  	int i = 0;  	while (i < 10)  	{  		i++;  		if (i == 5)  			//break;  			continue;  		printf("%d ", i);  		  	}  	return 0;  }    

      以下是运行结果:

      C语言中break与continue的用法和区别详解

      然后我们在代码中加入continue 语句:

        int main()  {  	int i = 0;  	while (i <10)  	{  		i++;  		if (i == 5)  			continue;  		printf("%d ", i);  		  	}  	return 0;  }  

      以下是运行结果:

      C语言中break与continue的用法和区别详解

      2.for循环

      还是刚才的示例,在屏幕上打印数字1—10,我们用for循环实现

        int main()  {    	int i = 0;  	for (i = 1; i <= 10; i++)  	{  		printf("%d ", i);  	}    	return 0;  }    

      程序运行结果:

      C语言中break与continue的用法和区别详解

      (1)break语句

      代码:

        int main()  {    	int i = 0;  	for (i = 1; i <= 10; i++)  	{  		if (i == 5)  		{  			break;  		}  		printf("%d ", i);  	}    	return 0;  }  

      结果分析:

      C语言中break与continue的用法和区别详解

      总结: for循环中的break同while语句一样,是用于永久终止循环。

      (2)continue语句

      代码:

        int main()  {  	int i = 0;  	for (i = 1; i <= 10; i++)  	{  		if (i == 5)  		{  			//break;  			continue;  		}  		printf("%d ", i);  	}  	return 0;  }  

      结果分析:

      C语言中break与continue的用法和区别详解

      总结: for循环中的continue同while语句一样,是用于跳出本次循环,进行下一次循环。

      3.do while循环

      示例:输出1—10

        int main()  {  	int i = 0;  	do  	{  		i++;  		printf("%d ", i);  	} while (i < 10);  	return 0;  }  

      结果:

      C语言中break与continue的用法和区别详解

      (1)break语句

      示例:

        int main()  {  	int i = 0;  	do  	{  		i++;  		if (i == 5)  		{  			break;  			//continue;  		}  		printf("%d ", i);  	} while (i < 10);  	return 0;  }  

      结果:

      C语言中break与continue的用法和区别详解

      (2)continue语句

      示例:

        int main()  {  	int i = 0;  	do  	{  		i++;  		if (i == 5)  		{  			//break;  			continue;  		}  		printf("%d ", i);  	} while (i < 10);  	return 0;  }  

      结果:

      C语言中break与continue的用法和区别详解

      二、switch语句

      continue语句只用于循环语句中,不能用于switch语句

      而break语句可用于switch语句中。当其使用时可使程序跳出switch而执行switch以后的语句。如果没有break语句,则会从满足条件的地方(即与switch(表达式)括号中表达式匹配的case)开始执行,直到switch结构结束。
      示例:输入数字1—7,其中1—5输出weekday,6、7输出weekend.

        int main()  {    	int day=0;  	scanf("%d", &day);  	switch (day)  	{  	case 1:  	case 2:  	case 3:  	case 4:  	case 5:  		printf("weekdayn");  		break;  	case 6:  	case 7:  		printf("weekendn");  		break;  	}  	return 0;  }  

      结果:

      C语言中break与continue的用法和区别详解

      总结

      c/c++开发分享C语言中break与continue的用法和区别详解对c语言中break和continue语句详细做了分析,由于三种循环(while、for、do while)在使用上有些差异,因此在实际应用中要具体判断,同时也感谢大家的观看,以上是c/c++开发分享C语言中break与continue的用法和区别详解的全部内容。

      需要了解更多c/c++开发分享C语言中break与continue的用法和区别详解,都可以关注C/C++技术分享栏目—猴子技术宅(www.ssfiction.com)

      本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ssfiction.com/c-cyuyankaifa/839220.html

      发表评论

      邮箱地址不会被公开。 必填项已用*标注