内容正文:
5.switch语句
C语言程序设计
专题复习讲练测
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
考纲要求
一
(1)掌握用switch 语句实现多分支选择结构。
(2)掌握选择结构的嵌套。
知识点梳理
二
知识点梳理
二
一、switch 语句的一般形式
switch(表达式)
{case 常量表达式1:语句部分 1;[break;]
case 常量表达式 2:语句部分 2;[break;]
case 常量表达式 n:语句部分 n;[break;]
[default;语句部分 n+1;]}
[注意]:(1)switch 是关键字,switch 后面用花括号括起来的部分是 switch 语句体。
(2)通常情况下,“switch(表达式)”中的表达式是关系表达式或逻辑表达式,但也允许为其他任何类型的表达式。
知识点梳理
二
一、switch 语句的一般形式
(3)case 也是关键字,与其后面的常量表达式合称 case 语句标号,常量表达式的类型必须与 switch 后面的表达式的类型相四配,且各 case 语句的值各不相同,不能重复。
(4) default 也是关键字,起标号的作用,代表了以上所有 case 标号之外的那些号default 标号可以出现在语句体中任意标号位置上,当然,也可以没有。
(5)switch后面括号中的表达式一般是整型表达式或字符型表达式。case 标号是整型数(包括字符型)或整型常量,不能用变量作为 case标号,每个常量表达式的值必须互不相同。在 case标号后面的语句部分如果有多条语句,则可以不必加花括号它会自动依次执行本 case 标号后面的语句,直到 break语句为止。。
知识点梳理
二
二、switch 语句的工作过程
首先对 switch 语句括号中的表达式进行计算;
然后依次与各 case 中的常量表达式的值比较,一旦匹配成功,则马上执行相应的语句部分,若遇 break,结束 switch 语句;
若均不匹配,则执行 default(若有的话)后的语句部分。
当程序执行 break 语句后,它就使程序流程跳出 switch 结构,并转而执行 switch 结构后面的第一条语句。
知识点梳理
二
三、选择结构的嵌套
前面已经描述过if语句的嵌套,这里所指的选择结构的嵌套主要指switch语句嵌套switch或if语句;当然还包括if语句嵌套switch语句。
真题练讲
三
1.(2016重庆高职对口统一考试)在C语言中,下列关于switch语句的叙述正确的是( )
A. break语句只能用于switch语句
B.在switch语句中必须使用default
C. break语句必须与switch语句中的case配对使用
D.在switch语句中不一定使用 break语句
【答案】D
【解析】本题考查C语言的switch语句。break语句、default不是switch语句所必须的。
真题练讲
三
2.(2017重庆高职对口统一考试)在C语言中,关于switch 语句的叙述正确的是( )
A. switch条件表达式的值只能是整型
B. case常量表达式的值不能是字符型
C.每个case 语句都要执行
D.可以没有default标号
【答案】D
【解析】本题考查C语言的switch语句。switch条件表达式的值可以是整型或字符型,default不是switch语句所必须的。
真题练讲
三
3.(2017重庆高职对口统一考试)在C语言中,若int m = 3,x = 1;则执行语句 switch ( m ){ case 3;x + = 3 ; case 2:x*=2;}后x的值是( )
A.2
B.4
C.6
D.8
【答案】D
【解析】本题考查C语言的switch语句。m为3,则先执行case 3之后的语句x + = 3 ; 使得x的值为4.继续执行case 2之后的语句,使得x的值再乘以2,为8.
真题练讲
三
4.(2016重庆高职对口统一考试)在C语言中, switch语句后的表达式可以是任意类型。( )
【答案】错误
【解析】本题考查C语言的switch语句。switch语句后的表达式为整型或者字符型表达式。
真题练讲
三
5.(2019年山东省信息技术春考)以下程序段的运行结果是( )
int i=0;
switch(i)
{ case 1 :printf("%d" , i); break;
case 2:printf("%d", i); break;
default : printf("%d",++i);
}
【答案】B
【解析】本题考查C语言的switch语句。i的值为0,执行default后面的语句,