第14练 4.5 break语句和continue语句、4.6 循环结构程序设计实例 《编程语言基础——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/58487496.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第14练,内容是4.5 break语句和continue语句、4.6 循环结构程序设计实例。 《编程语言基础——C语言》(第5版)一课一练 第14练 4.5 break语句和continue语句、4.6 循环结构程序设计实例 一、单选题 1. 以下关于break语句的描述中,正确的是( ) A. break语句可以用于循环结构和switch结构中 B. break语句的功能局限在switch结构 C. break语句的功能局限在while循环中 D. break语句可以用于函数的任何位置 2. continue语句的作用是( ) A. 终止整个循环的执行 B. 跳过循环体中continue后面的语句,进入下一轮循环 C. 退出当前函数 D. 暂停程序执行 3. 关于break和continue的区别,以下说法正确的是( ) A. break和continue的功能完全相同 B. break结束本轮循环,continue结束整个循环 C. break结束整个循环,continue结束本轮循环 D. break和continue都服务于if语句 4. 在嵌套循环中,break语句执行时将( ) A. 跳出所有循环 B. 结束程序运行 C. 继续执行外层循环的下一轮 D. 跳出一层循环,即break所在的最内层循环 5. 有以下程序段: int i, sum = 0; for (i = 1; i <= 10; i++) { if (i % 3 == 0) continue; sum += i; } 程序运行后sum的值是( ) A. 37 B. 55 C. 55减去3、6、9的和 D. 18 6. 有以下程序段: int x = 0; while (x < 10) { x++; if (x == 5) break; printf("%d ", x); } 程序的输出结果是( ) A. 1 2 3 4 5 B. 1 2 3 4 5 6 7 8 9 10 C. 1 2 3 4 D. 0 1 2 3 4 7. 在判断一个数是否为素数的程序中,以下描述最准确的是( ) A. 需要试除到该数减1 B. 试除范围从2到该数的平方根即可,一旦发现整除就可用break提前结束循环 C. 试除范围从2到该数的一半即可,无需break D. 素数判断不需要使用循环 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> main() { int i, s = 0; for (i = 1; i <= 20; i++) { if (i % 2 == 0) continue; if (i > 12) break; s += i; } printf("s=%d ", s); } 三、程序填空题 9. 以下程序的功能是:计算1到100之间所有能被3整除但不能被5整除的数的和。请填空。 #include <stdio.h> main() { int i, sum = 0; for (i = 1; i <= 100; i++) { if (______【1】______) continue; sum += i; } printf("sum=%d ", sum); } 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是输出100到200之间的所有素数。程序中有1处需要改进的地方,请指出所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 #include <math.h> L3 main() L4 { L5 int num, j, tag, m; L6 for (num = 101; num < 200; num += 2) L7 { L8 tag = 1; L9 m = sqrt(num); L10 for (j = 2; j <= m; j++) L11 if (num % j == 0) L12 { L13 tag = 0; L14 break; L15 } L16 if (tag == 1) L17 printf("%5d", num); L18 } L19 } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第14练,内容是4.5 break语句和continue语句、4.6 循环结构程序设计实例。 《编程语言基础——C语言》(第5版)一课一练 第14练 4.5 break语句和continue语句、4.6 循环结构程序设计实例 一、单选题 1. 以下关于break语句的描述中,正确的是( ) A. break语句可以用于循环结构和switch结构中 B. break语句的功能局限在switch结构 C. break语句的功能局限在while循环中 D. break语句可以用于函数的任何位置 【答案】A 【解析】break语句适用于3种循环结构(while、do-while、for)和switch结构,但不能用于除循环和switch以外的其他地方。 2. continue语句的作用是( ) A. 终止整个循环的执行 B. 跳过循环体中continue后面的语句,进入下一轮循环 C. 退出当前函数 D. 暂停程序执行 【答案】B 【解析】continue语句的作用是跳过循环体中该语句后面的所有语句,提前结束本轮循环,直接进入下一轮循环。注意continue结束的是本轮循环而非整个循环。 3. 关于break和continue的区别,以下说法正确的是( ) A. break和continue的功能完全相同 B. break结束本轮循环,continue结束整个循环 C. break结束整个循环,continue结束本轮循环 D. break和continue都服务于if语句 【答案】C 【解析】break与continue的核心区别:break结束整个循环(跳出循环),continue结束的是本轮循环(跳过本次循环中continue后面的语句),然后继续下一轮循环。 4. 在嵌套循环中,break语句执行时将( ) A. 跳出所有循环 B. 结束程序运行 C. 继续执行外层循环的下一轮 D. 跳出一层循环,即break所在的最内层循环 【答案】D 【解析】在多重循环(嵌套循环)中,break语句跳出的是一层循环,即它所在的最内层循环(包括它所在的switch)。外层循环不受影响。 5. 有以下程序段: int i, sum = 0; for (i = 1; i <= 10; i++) { if (i % 3 == 0) continue; sum += i; } 程序运行后sum的值是( ) A. 37 B. 55 C. 55减去3、6、9的和 D. 18 【答案】A 【解析】i从1到10,当i为3、6、9时执行continue跳过sum+=i。实际累加1+2+4+5+7+8+10=37。选项C描述了逻辑但不是具体数值。 6. 有以下程序段: int x = 0; while (x < 10) { x++; if (x == 5) break; printf("%d ", x); } 程序的输出结果是( ) A. 1 2 3 4 5 B. 1 2 3 4 5 6 7 8 9 10 C. 1 2 3 4 D. 0 1 2 3 4 【答案】C 【解析】x从0开始,每次先x++再判断。输出序列:x=1时输出1,x=2时输出2,x=3时输出3,x=4时输出4,x=5时break跳出循环。 7. 在判断一个数是否为素数的程序中,以下描述最准确的是( ) A. 需要试除到该数减1 B. 试除范围从2到该数的平方根即可,一旦发现整除就可用break提前结束循环 C. 试除范围从2到该数的一半即可,无需break D. 素数判断不需要使用循环 【答案】B 【解析】判断素数时,循环不必运行到num-1,将循环次数控制到sqrt(num)即可。当找到约数对(如6,6)后,之后的约数就都重复了。配合break可在发现整除时提前结束循环。 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> main() { int i, s = 0; for (i = 1; i <= 20; i++) { if (i % 2 == 0) continue; if (i > 12) break; s += i; } printf("s=%d ", s); } 【答案】s=36 【解析】i从1到20:奇数时累加,偶数时跳过。当i>12时break。累加的奇数:1+3+5+7+9+11=36。i=13时break,最终输出s=36。 三、程序填空题 9. 以下程序的功能是:计算1到100之间所有能被3整除但不能被5整除的数的和。请填空。 #include <stdio.h> main() { int i, sum = 0; for (i = 1; i <= 100; i++) { if (______【1】______) continue; sum += i; } printf("sum=%d ", sum); } 【答案】【1】i % 3 != 0 || i % 5 == 0 【解析】题目要求能被3整除同时不能被5整除才累加。使用continue跳过不符合条件的数:i%3!=0表示不能被3整除,i%5==0表示能被5整除,两者满足其一即执行continue跳过。 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是输出100到200之间的所有素数。程序中有1处需要改进的地方,请指出所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 #include <math.h> L3 main() L4 { L5 int num, j, tag, m; L6 for (num = 101; num < 200; num += 2) L7 { L8 tag = 1; L9 m = sqrt(num); L10 for (j = 2; j <= m; j++) L11 if (num % j == 0) L12 { L13 tag = 0; L14 break; L15 } L16 if (tag == 1) L17 printf("%5d", num); L18 } L19 } 【答案】程序逻辑本身正确。改进建议:在L5声明区增加 int cnt = 0;,在L17 printf后增加 cnt++; if(cnt%12==0) printf(" ");,使每行输出12个素数后换行,格式更整齐。 【解析】该程序逻辑完整正确:外层for遍历101~199的奇数,内层for检测是否素数,tag为1表示是素数则输出。改进点在于输出格式——缺少换行控制会让所有素数挤在同一行,不符合教材例4-10的规范。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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