第11练 3.3 switch语句 3.4 分支结构程序设计实例 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)

2026-06-25
| 2份
| 11页
| 2人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-同步练
知识点 分支结构
使用场景 同步教学
学年 2026-2027
地区(省份) 湖南省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 107 KB
发布时间 2026-06-25
更新时间 2026-06-25
作者 xkw_068401954
品牌系列 上好课·一课一练
审核时间 2026-06-25
下载链接 https://m.zxxk.com/soft/58487495.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第11练,内容是3.3 switch语句 3.4 分支结构程序设计实例。 《编程语言基础——C语言》(第5版)一课一练 第11练 3.3 switch语句 3.4 分支结构程序设计实例 一、单选题 1. C语言中switch语句的一般形式中,switch后面括号中的表达式类型可以是( ) A. 整型表达式、字符型表达式 B. 浮点型表达式 C. 任意类型的表达式 D. 字符串表达式 2. 在switch语句中,break语句的作用是( ) A. 结束整个程序的运行 B. 跳出switch结构,执行switch后面的语句 C. 跳过当前case,继续执行下一个case D. 返回switch开头重新判断 3. 对于以下程序段,说法正确的是:float f=2.5; switch(f) { case 2.5: ... }( ) A. 程序正确,switch可以使用float类型 B. 程序正确,但case标号需要改为整型 C. 程序错误,switch后的表达式不能是浮点型 D. 程序正确,case标号可以是浮点数 4. 关于switch语句中case标号,以下说法正确的是( ) A. case标号可以是变量 B. 多个case标号的值可以相同 C. case后面必须跟单条语句 D. case标号必须是整型常量、整型常量表达式 5. 以下switch语句段中,当grade='A'时,输出的内容是: switch(grade) { case 'A': case 'B': printf("合格"); break; case 'C': printf("待定"); break; }( ) A. 合格 B. 合格待定 C. 无输出 D. A 6. 设int x=1, y=0, a=0, b=0; 执行以下程序段后a和b的值分别是: switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; }( ) A. a=1, b=0 B. a=2, b=1 C. a=1, b=1 D. a=2, b=0 7. 在C语言中,对于多分支选择的处理,以下关于if与switch的说法正确的是( ) A. switch可以替代所有if语句 B. if语句可以判断浮点数相等,switch也可以 C. switch适用于基于整型、字符型常量值的多分支选择 D. switch语句中各case的执行顺序是随机的 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int main() { int n = 2; switch (n) { case 1: printf("A"); case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } return 0; } 三、程序填空题 9. 以下程序的功能是输入一个1~7之间的整数,输出对应的星期英文单词(1→Monday, 2→Tuesday, ... 7→Sunday)。请填空。 #include <stdio.h> int main() { int day; printf("请输入1-7之间的整数:"); scanf("%d", &day); 【1】(day) { case 1: printf("Monday "); break; case 2: printf("Tuesday "); break; case 3: printf("Wednesday "); break; case 4: printf("Thursday "); break; case 5: printf("Friday "); break; case 6: printf("Saturday "); break; case 7: printf("Sunday "); break; 【2】: printf("输入错误 "); } return 0; } 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是根据成绩等级(A/B/C/D)输出对应评语。程序中有两处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 int main() L3 { L4 char grade; L5 printf("请输入成绩等级:"); L6 scanf("%c", &grade); L7 switch(grade) L8 { L9 case A: printf("优秀 "); break; L10 case 'B': printf("良好 ") break; L11 case 'C': printf("及格 "); break; L12 case 'D': printf("不及格 "); break; L13 } L14 return 0; L15 } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第11练,内容是3.3 switch语句 3.4 分支结构程序设计实例。 《编程语言基础——C语言》(第5版)一课一练 第11练 3.3 switch语句 3.4 分支结构程序设计实例 一、单选题 1. C语言中switch语句的一般形式中,switch后面括号中的表达式类型可以是( ) A. 整型表达式、字符型表达式 B. 浮点型表达式 C. 任意类型的表达式 D. 字符串表达式 【答案】A 【解析】switch后的表达式通常为整型表达式、字符型表达式,不能是浮点型。case标号也必须是整型常量、字符常量。 2. 在switch语句中,break语句的作用是( ) A. 结束整个程序的运行 B. 跳出switch结构,执行switch后面的语句 C. 跳过当前case,继续执行下一个case D. 返回switch开头重新判断 【答案】B 【解析】break语句在switch中的作用是跳出switch结构,转而执行switch结构后面的第一条语句。如果没有break,程序会继续执行下一个case的语句(穿透现象)。 3. 对于以下程序段,说法正确的是:float f=2.5; switch(f) { case 2.5: ... }( ) A. 程序正确,switch可以使用float类型 B. 程序正确,但case标号需要改为整型 C. 程序错误,switch后的表达式不能是浮点型 D. 程序正确,case标号可以是浮点数 【答案】C 【解析】switch后的表达式类型不能是浮点型(float/double),须为整型(int/char/short/long等)、枚举类型。浮点型存在精度问题,不适合精确匹配。 4. 关于switch语句中case标号,以下说法正确的是( ) A. case标号可以是变量 B. 多个case标号的值可以相同 C. case后面必须跟单条语句 D. case标号必须是整型常量、整型常量表达式 【答案】D 【解析】case标号必须是整型常量、整型常量表达式,不能是变量;各case标号的值必须互不相同;case后面可以跟多条语句,会依次执行直到遇到break。 5. 以下switch语句段中,当grade='A'时,输出的内容是: switch(grade) { case 'A': case 'B': printf("合格"); break; case 'C': printf("待定"); break; }( ) A. 合格 B. 合格待定 C. 无输出 D. A 【答案】A 【解析】当grade='A'时,程序从case 'A'进入,由于case 'A'后面没有break语句,程序继续执行case 'B'后的语句printf("合格"),遇到break后跳出switch。这是多个case共用一组语句的典型用法。 6. 设int x=1, y=0, a=0, b=0; 执行以下程序段后a和b的值分别是: switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; }( ) A. a=1, b=0 B. a=2, b=1 C. a=1, b=1 D. a=2, b=0 【答案】B 【解析】x=1进入外层case 1,y=0进入内层case 0执行a++(a=1)然后break跳出内层switch。外层case 1后没有break,继续执行case 2:a++(a=2), b++(b=1), break跳出。最终a=2, b=1。 7. 在C语言中,对于多分支选择的处理,以下关于if与switch的说法正确的是( ) A. switch可以替代所有if语句 B. if语句可以判断浮点数相等,switch也可以 C. switch适用于基于整型、字符型常量值的多分支选择 D. switch语句中各case的执行顺序是随机的 【答案】C 【解析】switch适用于基于整型、字符型常量值的离散多分支选择,结构清晰。if语句更灵活,可以判断范围(如x>10)、浮点数、复杂逻辑表达式等,这些是switch无法替代的。 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int main() { int n = 2; switch (n) { case 1: printf("A"); case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } return 0; } 【答案】BC 【解析】n=2,匹配case 2,执行printf("B")输出B。case 2后无break,穿透到case 3执行printf("C")输出C,遇到break跳出switch。最终输出BC。 三、程序填空题 9. 以下程序的功能是输入一个1~7之间的整数,输出对应的星期英文单词(1→Monday, 2→Tuesday, ... 7→Sunday)。请填空。 #include <stdio.h> int main() { int day; printf("请输入1-7之间的整数:"); scanf("%d", &day); 【1】(day) { case 1: printf("Monday "); break; case 2: printf("Tuesday "); break; case 3: printf("Wednesday "); break; case 4: printf("Thursday "); break; case 5: printf("Friday "); break; case 6: printf("Saturday "); break; case 7: printf("Sunday "); break; 【2】: printf("输入错误 "); } return 0; } 【答案】【1】switch 【2】default 【解析】程序使用switch语句实现多分支选择。【1】填入switch关键字,构成switch(day)的形式。【2】填入default,处理输入不在1~7范围内的情况。 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是根据成绩等级(A/B/C/D)输出对应评语。程序中有两处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 int main() L3 { L4 char grade; L5 printf("请输入成绩等级:"); L6 scanf("%c", &grade); L7 switch(grade) L8 { L9 case A: printf("优秀 "); break; L10 case 'B': printf("良好 ") break; L11 case 'C': printf("及格 "); break; L12 case 'D': printf("不及格 "); break; L13 } L14 return 0; L15 } 【答案】【1】L9: case A → 修改为 case 'A' 【2】L10: printf("良好 ") break → 修改为 printf("良好 "); break(补充分号) 【解析】第一处错误:L9的case A中A未加单引号,会被当作变量名而非字符常量,应改为case 'A'。第二处错误:L10中printf语句末尾缺少分号,导致语法错误,应补上分号。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第11练 3.3 switch语句 3.4 分支结构程序设计实例 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)
1
第11练 3.3 switch语句 3.4 分支结构程序设计实例 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。