C语言-break和continue
先看以下switch语句的程序:
scanf("%d",&score);
if (score>=0 && score<=100) {
switch (score/10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade ='N';
break;
}
printf("该成绩转换为等级制为%c!!!\n",grade);
}else
printf("输入不合法!!!!\n");
在程序中可见每个case分支后面都有一个break语句,这是因为在switch语句中每个case都是互斥的,每一个case都是独立的一种情况,所以不管最后程序走到哪个分支并执行,都要从这儿跳出去到switch之外,而break就起到了跳出程序的作用。
其实break不止是可以用在switch语句中,也可以用在for循环和while循环中,用来跳出循环。
还有一个和break比较相近的控制符,就是continue,它是用来控制程序跳出本次循环,直接进入下一个循环的,以下分别以两个程序做解读:
int i = ;
for (; i<; i++) { if (i%==) {
continue;
}else{
printf("%d\t",i);
} }
运行以上程序,打印结果为:
Program ended with exit code:
而运行一下程序,会有什么输出呢?
int i = ;
for (; i<; i++) { if (i%==) {
break;
}else{
printf("%d\t",i);
} }
程序的输出为:
Program ended with exit code:
也就是说在使用break 的时候程序没有输出任何东西,这是因为循环第一次是i=0,此时0的余数就是0,符合break的条件,程序直接从此处跳出循环外,并未执行下一次循环,而上面使用continue的时候,程序在continue处停止执行本次循环,直接进行第i+1次循环,也就是说continue跳过本次循环,进行下次循环,而break直接跳出循环体。
以下摘自csdn,供加深理解:
reak和continue的区别如下:
1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句
2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。举例说明。
int i;
int s = 0;
for (int i = 1; i <= 10; i++)
{
if (i == 6) break;
s += i;
}
上面的循环会因为break语句而在i=6时提前终止,这样s的最终值就是1+2+3+4+5
如将break换成continue
int i;
int s = 0;
for (int i = 1; i <= 10; i++)
{
if (i == 6) continue;
s += i;
}
当i=6时就不会将i累加到s中,s的最终值是1+2+3+4+5+7+8+9+10,唯独少一个6
C语言-break和continue的更多相关文章
- C语言break和continue
break和continue C语言中有有两种结束循环的关键字:break和continue #include <stdio.h> #include <stdlib.h> in ...
- C语言-循环结构及break、continue
循环结构 --1-- 结构循环 1.1 while循环 1.2 do…while循环 1.3 for循环 --2-- break和continue 2.1 break关键字 2.2 continue关 ...
- matlab和C语言的break及continue测试
break和continue语句 有两个附加语句可以控制while和for循环:break和continue语句.break语句可以中止循环的执行和跳到end后面的第一句执行,而continue只中止 ...
- 汇编:模拟C语言实现break与continue
;=============================== ;循环程序设计 ;模拟C语言实现break 与continue DATAS SEGMENT i dw sum dw DATAS end ...
- C 语言循环之break、continue
在C 编程的过程中,我们很多时候都会用到循环,但有时需要中途跳出整个循环,或跳过某一次循环,这时就需要用到break或continue,关于二者的使用很多书籍和博文都有很相近的说明,此处不做任何讲解, ...
- C语言之break和continue
一 break 和 continue 的介绍 break: 1).跳出当前所在的switch语句(tips:可查看前面 switch 部分) 2).跳出当前所在的循环 continue: 结束本次 ...
- go语言基础之break和continue的区别
1.break和continue的区别 在循环里面有两个关键操作break和continue,break操作是跳出当前循环,continue是跳过本次循环. 2.break 备注:break可⽤于fo ...
- 2014年辛星完全解读Javascript第五节 break和continue与错误处理
先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...
- break和continue语句
跳转语句中断当前的执行过程,C++语言提供了4中跳转语句:break.continue.goto和return. break语句 break语句负责终止离他最近的while.do while.for或 ...
- 浅谈break 、continue、return,goto四种语句的区别。
浅谈break .continue.return三种语句的区别: break,continue,return这三个具有跳转功能的语句在c语言中经常被用到,近期身边有些小伙伴总是把它们的用法搞乱,在这里 ...
随机推荐
- cocos2d CCLOG格式符号表
使用示例: CCLOG(); CCLOG(, 650000L); CCLOG(); CCLOG(); CCLOG(, , , , ); CCLOG("Floats: %4.2f %.0e % ...
- maven认识
在这里普及一下知识: ┣ maven与ant是同类,构建工具 ┣ svn与cvs,css是同类,版本控制工具 1.为什么要用Maven? 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编 ...
- 开源企业管理软件 ONES
ONES 不是 ONS,基于AngularJS + ThnkPHP开发的企业管理系统平台,名字可以理解为ONES is a Niubility ERP System 或者 ONES Notonly a ...
- css单独设定样式
<style type="text/css"> #footer { position: fixed; bottom: 0; } .td-right{ border-ri ...
- 虚拟ip
网卡上增加一个IP: ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0 删除网卡的第二个IP地址: ip addr del 192.168.0.1 d ...
- Learning Ionic中文版本
最近没有干劲,空闲时间也足,然后找了个比较容易集中精神的事情在做: 翻译<learning ionic> ionic是一个整合angularjs和cordova混合应用开发框架. 它可以通 ...
- Chapter 1 First Sight——6
"You didn't need to do that, Dad. I was going to buy myself a car." 你不需要这样,父亲,我会自己买一辆车的 &q ...
- 在CentOS中安装jenkins
一.检查java是否安装 $ java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 ...
- 数据同步方案(附Java源码)
一.问题背景经常碰到要同步数据的情况,而系统自带的复制功能又不能实现增量同步,每次都要做全量复制,发生异常情况后只能重头再来,非常麻烦,优其是对那种大文件的处理,更是耗时.二.解決方案1.计算源目录数 ...
- C#读取word文件
第一步:添加对在项目引用里添加上对Microsoft Word 11.0 object library的引用.右击--引用---在com标签下添加.