第18练 第4章 switch语句与程序举例《C语言程序设计》(电子工业出版社)一课一练

2026-05-13
| 2份
| 7页
| 20人阅读
| 0人下载

资源信息

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

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第4章的第18练,内容涵盖第4章选择结构程序设计的4.4 switch 语句与程序举例。 《C语言程序设计》(电子工业出版社)一课一练 第18练 第4章 选择结构程序设计 4.4 switch 语句与程序举例 1、 单项选择题(本题共4小题) 1、执行以下 switch 语句,输出结果是( ) int num = 2; switch(num) { case 1: printf("A"); case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } A. B B. BC C. ABC D. BCD 2、关于 switch 语句的 case 常量表达式,下列说法正确的是( ) A. 可以是变量或表达式 B. 不同 case 的常量值可以重复 C. 必须是确定的常量,且所有 case 常量值互不相同 D. 必须是整数类型 3、在 switch 语句中,default 子句的作用是( ) A. 当没有匹配的 case 时,执行其后的语句组 B. 必须放在所有 case 的最前面 C. 每个 switch 语句必须有且只有一个 default D. 当所有 case 都匹配时,执行 default 的语句组 4、下列关于 switch 语句中多个 case 共用语句组的写法,正确的是( ) A. case 1,2: printf ("OK"); break; B. case 1: case 2: printf ("OK"); break; C. case 1 printf ("OK"); case 2 printf ("OK"); break; D. case 1||2: printf ("OK"); break; 2、 判断题(本题共3题) 1、switch 语句中的 default 子句是必须存在的,否则程序会出现编译错误。( ) 2、在 switch 语句中,各个 case 和 default 的出现次序会影响最终的执行结果。( ) 3、case 后面的常量表达式可以是变量或不确定的表达式,比如case a+1:这种写法是合法的。( ) 3、 填空题(本题共2题) 1、在 switch 语句中,若某个 case 分支的语句组中没有____语句,程序会从该 case 开始持续执行后续所有分支的语句,直到遇到 break 或 switch 结构结束。 2、某运输公司按距离区间给运费优惠,若用 switch 语句实现,可将距离 s 除以 1000 取整得到区间编号,当 s 在 2000-3999km 时优惠率相同,可使用case 2: ____: discount=8; break;的写法简化代码。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> int main() { int profit = 15; // 利润单位:万元 float bonus; switch(profit/10) { case 0: bonus = profit * 0.1; break; case 1: bonus = 10*0.1 + (profit-10)*0.075; break; default: bonus = 10*0.1 +10*0.075 + (profit-20)*0.05; } printf("应发奖金:%.2f万元", bonus); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第4章的第18练,内容涵盖第4章选择结构程序设计的4.4 switch 语句与程序举例。 《C语言程序设计》(电子工业出版社)一课一练 第18练 第4章 选择结构程序设计 4.4 switch 语句与程序举例 1、 单项选择题(本题共4小题) 1、执行以下 switch 语句,输出结果是( ) int num = 2; switch(num) { case 1: printf("A"); case 2: printf("B"); case 3: printf("C"); break; default: printf("D"); } A. B B. BC C. ABC D. BCD 【答案】B 【解析】num=2 匹配 case2,执行printf("B");,由于该 case 后没有 break 语句,程序会继续执行后续 case3 的语句printf("C");,直到遇到 break 跳出 switch 结构,因此输出 BC。 2、关于 switch 语句的 case 常量表达式,下列说法正确的是( ) A. 可以是变量或表达式 B. 不同 case 的常量值可以重复 C. 必须是确定的常量,且所有 case 常量值互不相同 D. 必须是整数类型 【答案】C 【解析】switch 的 case 后必须是常量表达式,不能是变量;且不同 case 的常量值不能重复,否则会出现逻辑矛盾;常量表达式可以是字符、枚举等多种类型,并非只能是整数。 3、在 switch 语句中,default 子句的作用是( ) A. 当没有匹配的 case 时,执行其后的语句组 B. 必须放在所有 case 的最前面 C. 每个 switch 语句必须有且只有一个 default D. 当所有 case 都匹配时,执行 default 的语句组 【答案】A 【解析】default 子句用于处理 switch 表达式与所有 case 常量都不匹配的情况,此时会执行 default 后的语句;它可以放在任意位置,也可以省略,并非必须存在。 4、下列关于 switch 语句中多个 case 共用语句组的写法,正确的是( ) A. case 1,2: printf ("OK"); break; B. case 1: case 2: printf ("OK"); break; C. case 1 printf ("OK"); case 2 printf ("OK"); break; D. case 1||2: printf ("OK"); break; 【答案】B 【解析】多个 case 共用同一语句组时,需依次写出每个 case 语句,后面不跟具体操作,直接衔接下一个 case,最终在最后一个 case 后写共用的语句组,这种写法符合 C 语言语法规则。 2、 判断题(本题共3题) 1、switch 语句中的 default 子句是必须存在的,否则程序会出现编译错误。( ) 【答案】× 【解析】default 子句是可选的,当没有需要处理的默认情况时,可以省略 default,程序编译运行不受影响,只是没有匹配的 case 时会直接跳出 switch 结构。 2、在 switch 语句中,各个 case 和 default 的出现次序会影响最终的执行结果。( ) 【答案】× 【解析】switch 语句是通过表达式的值与 case 常量匹配来执行分支的,与 case 和 default 的书写顺序无关,无论顺序如何,只要值匹配就会执行对应分支。 3、case 后面的常量表达式可以是变量或不确定的表达式,比如case a+1:这种写法是合法的。( ) 【答案】× 【解析】case 后面必须是确定的常量表达式,不能是变量或含变量的表达式,否则编译器无法在编译阶段确定其值,会导致编译错误。 3、 填空题(本题共2题) 1、在 switch 语句中,若某个 case 分支的语句组中没有____语句,程序会从该 case 开始持续执行后续所有分支的语句,直到遇到 break 或 switch 结构结束。 【答案】break 【解析】break 语句是 switch 结构中跳出分支的关键,没有它时程序会按顺序执行后续所有 case 和 default 的语句。这一特性既可以用于多个 case 共用逻辑,也需要注意避免意外的连续执行。 2、某运输公司按距离区间给运费优惠,若用 switch 语句实现,可将距离 s 除以 1000 取整得到区间编号,当 s 在 2000-3999km 时优惠率相同,可使用case 2: ____: discount=8; break;的写法简化代码。 【答案】case 3 【解析】当多个 case 对应相同的执行逻辑时,可依次列出这些 case 语句,共用后续的语句组。这样既符合 switch 语句的语法规则,又能减少重复代码的编写。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> int main() { int profit = 15; // 利润单位:万元 float bonus; switch(profit/10) { case 0: bonus = profit * 0.1; break; case 1: bonus = 10*0.1 + (profit-10)*0.075; break; default: bonus = 10*0.1 +10*0.075 + (profit-20)*0.05; } printf("应发奖金:%.2f万元", bonus); return 0; } 【答案】 程序运行结果: 应发奖金:1.38 万元 【解析】 程序中 profit=15,profit/10的结果为 1,匹配 case1 分支。计算奖金时,10 万元部分按 10% 提成,超出的 5 万元按 7.5% 提成,即 10*0.1 +50.075=1+0.375=1.375,保留两位小数后输出 1.38 万元。执行完 case1 的语句后,break 跳出 switch 结构,程序结束。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第18练 第4章 switch语句与程序举例《C语言程序设计》(电子工业出版社)一课一练
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。