信息学奥赛一本通—C++语言之switch语句
2023-07-26 14:51
来源:新东方素质教育
作者:
switch语句
应用条件语句可以很方便地使程序实现分支,但是出现分支比较多的时候,虽然可以用 嵌套的if语句来解决,但是程序结构会显得复杂,其至凌乱,为方便实现多情况选择,c++ 提供了一种switch开关语句。
1.语句格式
switch(表达式)
(
case常量表达式1:
语句序列1;
break;
case常量表达式2:
语句序列2;
break;
case常量表达式n: 语句序列n; break;
default:
语句序列n+1;
该语句中可以使用一次或多次case标号,但只能使用一次default标号,或者省略整个 default部分;多个case标号也允许使用在同一个语句序列的前面;每个语句标号由保留字 case和后面的常量表达式及冒号组成,每个常量表达式通常为字面常量,如常数或字符。
2.语句执行过程
switch语句执行过程分为以下3步描述。
(1)计算出switch后面圆括号内表达式的值,假定为M,若它不是整型,系统将自动舍 去其小数部分,只取其整数部分作为结果值。
(2)依次计算岀每个case后常量表达式的值,假定它们为M1、M2、…,同样,若它们的 值不是整型,则自动转换为整型。
(3)让M依次同M1、M2、…进行比较,一旦遇到M与某个值相等,则就从对应标号的 语句开始执行;在碰不到相等的情况下,若存在default子句,则就执行其冒号后面的语句序 列,否则不执行任何操作;当执行到复合语句最后的右花括号时就结束整个switch语句的 执行。
在实际使用switch语句时,通常要求当执行完某个case后的一组语句序列后,就结束 整个语句的执行,而不让它继续执行下一个case语句后面的语句序列,为此,可通过使用 break语句来实现。该语句只有保留字break.而没有其他任何成分。它是一条跳转语句,在 switch中执行到它时,将结束该switch语句,系统接着向下执行其他语句。
在使用switch语句时,还应注意以下几点:
①case语句后的各常量表达式的值不能相同,否则会出现错误码。
②每个case或default后,可以包含多条语句,不需要使用和“}”括起来。
③各case子句的先后顺序可以变动,这不会影响程序执行结果。
④default子句可以省略,default后面的语句末尾可以不必写break。
程序设计风格提示:写switch语句时,switch(表达式)单独一行,各case分支和default 分支要缩进两格并对齐,分支处理语句要相对再缩进两格,以体现不同层次的结构。
版权及免责声明
①凡本网注明"稿件来源:新东方"的所有文字、图片和音视频稿件,版权均属新东方教育科技集团(含本网和新东方网) 所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他任何方式复制、发表。已经本网协议授权的媒体、网站,在下载使用时必须注明"稿件来源:新东方",违者本网将依法追究法律责任。
② 本网未注明"稿件来源:新东方"的文/图等稿件均为转载稿,本网转载仅基于传递更多信息之目的,并不意味着赞同转载稿的观点或证实其内容的真实性。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。如擅自篡改为"稿件来源:新东方",本网将依法追究法律责任。
③ 如本网转载稿涉及版权等问题,请作者见稿后在两周内速来电与新东方网联系,电话:010-60908555。