- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(Cswitchcase语句应用经验讲解
C++ switch-case语句应用经验讲解
C++ switch-case语句是一个循环判断语句,在实际编程中起着非常重要的作用。希望这篇文章中介绍的内容能帮助大家解决一些问题在C++编程语言中,存在着一些判断语句,比如if,C++ switch-case语句等等。我们在这篇文章中会针对C++ switch-case语句的基本使用方法进行详细的介绍,希望能给大家带来一些帮助。
if语句处理两个分支,处理多个分支时需使用if-else-if结构,但如果分支较多,则嵌套的if语句层就越多,程序不但庞大而且理解也比较困难.深层嵌套的else-if语句往往在语法上是正确的,但逻辑上却没有正确地反映程序员的意图。例如,错误的else-if匹配很容易被忽略。
添加新的条件和逻辑关系,或者对语句做其他的修改,都很难保证正确性。因此,C/C++语言又提供了一个专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句.它可以很方便地来实现深层嵌套的if/else逻辑。
使用C++ switch-case语句直接处理多个分支(当然包括两个分支).其一般形式为:
switch(表达式)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
……
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}
C++ switch-case语句的执行流程是:首先计算switch后面圆括号中表达式的值,然后用此值依次与各个case的常量表达式比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句n+1,然后退出switch语句,程序流程转向开关语句的下一个语句.
以上是switch-case的正规写法,default语句总是写在最后。但是,如果把default语句间在了case的中间,执行的结果又是怎样的呢?笔者测试了一下几种有代表性的情况,把结果简单罗列如下:
A. 每个语句中break齐整
switch(c)
{
case 1:
printf(1\n);
break;
default:
printf(default\n);
break;
case 2:
printf(2\n);
break;
case 3:
printf(3\n);
break;
}
此种情况最为规整,default写在中间跟写在最后的效果一致。
B. default语句后没有break
switch(c)
{
case 1:
printf(1\n);
break;
default:
printf(default\n);
// break;
case 2:
printf(2\n);
break;
case 3:
printf(3\n);
break;
}
此种情况下,输入分别为 1、 2、 3、 4,对应的输出分别为 1、 2 、3、 default 2(换行省略了,实际运行时有换行的);即此种情况下遵循A中的执行顺序和一般的标号规则。
C. 最后一个case没有break
switch(c)
{
case 1:
printf(1\n);
break;
default:
printf(default\n);
break;
case 2:
printf(2\n);
break;
case 3:
printf(3\n);
// break;
}
此种情况下,输入分别为 1、 2、 3、 4,对应的输出分别为1、2、3、default.可见实际的运行效果并不等同于把default语句挪到最后的运行效果。否则,输入为3时,输出应该为 3 default.
D. default和最后一个case都没有break
switch(c)
{
case 1:
printf(1\n);
break;
default:
printf(default\n);
// break;
case 2:
printf(2\n);
break;
case 3:
printf(3\n);
// break;
}
由上面A,B,C三种情况的运行结果,我们可以推测出D这种情况的运行结果。当输入分别为 1、2、3、4时,输出为1、2、3、default 2. 结果与B的情况相同。
#include iostreamusing namespace std;int main(){int y
您可能关注的文档
最近下载
- 齿轮箱与联轴节试验台.pdf VIP
- 新解读《FZ_T 07027 - 2023绿色设计产品评价技术规范 儿童服装》最新解读.docx VIP
- PTC-中车长客PDM方案建议书20170609_Final.pptx VIP
- sfet7750700c动车组检修kwd联轴节扩压检查作业指导书.pdf VIP
- SFET-77-50500-C-动车组检修KWD联轴节退卸作业指导书-——【上海动车段三级修】.pdf VIP
- JJF(黑)13-2021加油机付油商品量检验规则.docx VIP
- 产品数据管理年终总结.pptx VIP
- 产品数据管理系统项目.pdf VIP
- CRH2A统型动车组三级修联轴节(KWD)组装作业指导书.pdf VIP
- 新时代好少年如何培养.pptx VIP
文档评论(0)