快速业务通道

2012计算机二级考试:C++语句之选择结构

作者 凌众技术 来源 互联网 浏览 发布时间 2012-01-12

为了方便广大考生更好的复习,帮考网综合整理提供了2012计算机二级考试C++语句之选择结构,以供各位考生考试复习参考,希望对考生复习有所帮助。算机三级

2012计算机等级考试二级C++语句之选择结构

3.3 选择结构

1语句

if语句又称为条件语句,它是程序设计语言中最常见的一种选择语句。

(1)基本if语句

基本if语句的功能是根据给定条件是否成立来决定要不要执行一条语句或语句块,它的语法格式如下:

if(<条件>)<语句>

其中,if为关键字;<条件>通常是一个表达式且必须用圆括号包围起来;<语句>称为if子句,它可以是任何类型的语句(包括复合语句和空语句)。

基本if语句的执行过程是:首先计算<条件>的值,如果此值不为0(“真”),则执行<语句>;如果此值为0(“假”),则忽略<语句>(即不执行)而继续执行if语句之后的下一条语句。

说明:

①C+ +中规定:如果<条件>是一个表达式,则当此表达式的值不为0时,条件结果为“真”;只有当此表达式的值为0时,条件结果才为“假”。

②<条件>也可以是一条声明语句,其中必须定义一个变量并对它进行初始化。这时,若此变量的值不为0,则条件结果为“真”;若此变量的值为0,则条件结果为“假”。

(2)if…else语句

if…else语句是基本if语句的扩展,其功能是根据给定条件是否成立来决定执行两部分语句中的哪一部分,其语法格式如下:

if(<条件>)

<语句1>

else

<语句2>

其中,if和else为关键字;<语句1>称为if子句,<语句2>称为else子句,它们可以是单条语句或复合语句。

if…else语句的执行过程是:首先计算<条件>的值,如果此值不为0(“真”),则执行<语句1>,然后忽略<语句2>而去执行if语句之后的下一条语句;如果此值为0(“假”),则忽略<语句1>,执行<语句2>,然后继续执行if语句之后的下一条语句。

(3)if语句的嵌套

if子句和else子句可以是任何类型的C+ +语句,当然也可以是if…else语句本身。通常将这种情况称为if语句的嵌套。

2switch

switch语句又称为开关语句,它也是一种选择语句。switch语句的功能是根据给定表达式的不同取值来决定从多个语句序列中的哪一个开始执行,其语法格式如下:

switch(<表达式>){

case<常量表达式1>:

<语句序列1>

 

case<常量表达式2>:

<语句序列2>

case<常量表达式n>:

<语句序列n>

default:

<语句序列n+1>

其中,switch,case和default为关键字;<表达式>的值必须属于整型、字符型或枚举型。<常量表达式i>(i=1,2…n)是取值互不相同的整型常量、字符常量或枚举常量,其具体类型应与<表达式>的值相一致。<语句序列i>(i=1,2…n,n+1)可以是任意多条语句。

switch语句的执行过程是:

(1)首先计算出<表达式>的值,设此值为E;

(2)然后计算每个<常量表达式i>的值,设它们分别为C1,C2,…,Cn;

(3)将E依次与C1,C2,…,Cn进行比较。如果E与某个值相等,则从该值所在的case标号语句开始执行各个语句序列,在不出现跳转语句的情况下,将一直执行到switch语句结束。‘

(4)如果E与所有值都不相等且存在default标号,则从default标号语句起开始向下执行,直到switch语句结束(同样,在不出现跳转语句的情况下)。

(5)如果E与所有值都不相等且不存在default标号,则switch语句不会执行任何操作。

说明:

(1)多个case标号可以共用一组语句序列,以实现对于几个常量值都执行同一操作。

(2)default标号语句是可选的。当default不出现时,如果<表达式>的值与所有<常量表达式i>(i=1,2…n)的值都不相等,则程序执行流程会跳过switch语句。

(3)switch语句是可以嵌套的。case和default标号只与包含它们的最内层的switch组合在一起。

(4)当需要针对表达式的不同取值范围进行不同处理时,使用if…else…if阶梯结构比较方便。因为switch语句只能对相等关系进行测试,而if语句却可以用关系表达式对一个较大范围内的值进行测试。

 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号