第15练 4.4-4.5 循环嵌套、break与continue语句 《C语言》 (第五版) 一课一练 (山东省)

2026-06-24
| 2份
| 12页
| 51人阅读
| 0人下载

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第15练,内容是4.4-4.5 循环嵌套、break与continue语句。 《C语言》(第五版)一课一练 第15练 4.4-4.5 循环嵌套、break与continue语句 一、单选题 1. 以下关于break语句的叙述,正确的是( ) A. break语句可以用于switch语句和循环语句 B. break语句可以用于if语句 C. break语句可以同时跳出多层循环 D. break语句适用于for循环而不适用于其他循环 【答案】A 【解析】break语句有两种用途:在switch中跳出switch结构,在循环中跳出当前循环,A选项正确。break不能用于if语句,B选项错误。break一次跳出的是最内层的循环,C选项错误。break可以用于while、do-while和for三种循环,D选项错误。 2. 以下关于continue语句的叙述,正确的是( ) A. continue语句可以用于switch语句 B. continue语句可以跳出当前循环 C. continue语句和break语句功能相同 D. continue语句的作用是跳过本次循环剩余语句进入下一次循环 【答案】D 【解析】continue语句的作用是跳过本次循环中剩余的语句,直接进入下一次循环条件的判断,D选项正确。continue不能用于switch语句,A选项错误。跳出循环需要用break,B选项错误。continue和break功能不同,C选项错误。 3. 设 int i, j, s=0; 执行以下代码后s的值是 for(i=1; i<=3; i++) for(j=1; j<=2; j++) s++;( ) A. s的值为5 B. s的值为6 C. s的值为3 D. s的值为2 【答案】B 【解析】外层循环i从1到3执行3次,内层循环j从1到2执行2次。每次内层循环s自增1。内层循环执行2次s增加2,外层循环执行3次,s总共增加3*2=6。所以s的值为6。 4. 以下代码的输出结果是 int i; for(i=1; i<=5; i++) { if(i==3) break; printf("%d ", i); }( ) A. 输出1 2 B. 输出1 2 3 C. 输出1 2 4 5 D. 输出1 2 3 4 5 【答案】A 【解析】循环从i=1开始,当i为3时执行break跳出循环。i为1和2时正常输出,i为3时遇到break直接退出。所以输出1 2,后面的4和5不会被输出。break会终止整个循环。 5. 以下代码的输出结果是 int i; for(i=1; i<=5; i++) { if(i==3) continue; printf("%d ", i); }( ) A. 输出1 2 B. 输出1 2 3 4 5 C. 输出1 2 4 5 D. 输出4 5 【答案】C 【解析】循环从i=1到i=5,当i为3时执行continue跳过本次循环的printf语句。i为1、2、4、5时正常输出。continue不会终止循环,而是跳过当前这一次的剩余语句。所以输出1 2 4 5。 6. 设 int s=0; 执行以下代码后s的值是 for(int i=1; i<=4; i++) { for(int j=1; j<=4; j++) { if(j==3) break; s++; } }( ) A. s的值为16 B. s的值为12 C. s的值为4 D. s的值为8 【答案】D 【解析】外层循环执行4次。内层循环j从1到4,当j为3时break跳出内层循环。内层循环每次执行2次s++后跳出。4次外层循环共执行8次s++。所以s的值为8。break跳出的是内层循环,外层循环不受影响。 7. 以下代码的输出结果是 int i, s=0; for(i=1; i<=5; i++) { if(i%2==0) continue; if(i>4) break; s += i; } printf("%d", s);( ) A. 输出1 B. 输出9 C. 输出4 D. 输出5 【答案】C 【解析】循环从i=1到i=5,i为偶数时continue跳过。i为1时s=1,i为3时s=4。i为5时5>4为真执行break跳出循环。s的值为4。break和continue配合使用实现了筛选奇数并在满足条件时终止。 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { if (j == 2) continue; printf("%d%d ", i, j); } } return 0; } 【答案】11 13 21 23 31 33 【解析】外层循环i从1到3,内层循环j从1到3。当j为2时continue跳过本次内层循环的printf。因此每个i值输出两个数:j为1和3的情况。输出结果为11 13 21 23 31 33。 三、案例分析题 9. 以下程序的功能是:输出以下图形,请填空。 * ** *** **** ***** #include <stdio.h> int main() { int i, j; for (i = 1; 【1】; i++) { for (j = 1; 【2】; j++) printf("*"); 【3】; } return 0; } 【答案】【1】i <= 5 【2】j <= i 【3】printf(" ") 【解析】外层循环控制行数,i从1到5,填i<=5。内层循环控制每行星号个数,第i行输出i个星号,填j<=i。每行输出完毕后需要换行,填printf("\ ")。程序共输出5行,第1行1个星号,第2行2个,以此类推。 四、综合应用题 10. 编写一个C程序:使用双重循环打印九九乘法表,格式为每行输出j*i=乘积,例如第1行输出1*1=1,第2行输出1*2=2 2*2=4,以此类推。 【答案】#include <stdio.h> int main() { int i, j; for (i = 1; i <= 9; i++) { for (j = 1; j <= i; j++) printf("%d*%d=%-4d", j, i, i * j); printf(" "); } return 0; } 【解析】九九乘法表用双重循环实现。外层循环i从1到9控制行,内层循环j从1到i控制列。每行输出j*i的乘积,格式为j*i=结果。%-4d表示左对齐占4位宽度,使输出对齐。每行输出完毕后换行。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第15练,内容是4.4-4.5 循环嵌套、break与continue语句。 《C语言》(第五版)一课一练 第15练 4.4-4.5 循环嵌套、break与continue语句 一、单选题 1. 以下关于break语句的叙述,正确的是( ) A. break语句可以用于switch语句和循环语句 B. break语句可以用于if语句 C. break语句可以同时跳出多层循环 D. break语句适用于for循环而不适用于其他循环 2. 以下关于continue语句的叙述,正确的是( ) A. continue语句可以用于switch语句 B. continue语句可以跳出当前循环 C. continue语句和break语句功能相同 D. continue语句的作用是跳过本次循环剩余语句进入下一次循环 3. 设 int i, j, s=0; 执行以下代码后s的值是 for(i=1; i<=3; i++) for(j=1; j<=2; j++) s++;( ) A. s的值为5 B. s的值为6 C. s的值为3 D. s的值为2 4. 以下代码的输出结果是 int i; for(i=1; i<=5; i++) { if(i==3) break; printf("%d ", i); }( ) A. 输出1 2 B. 输出1 2 3 C. 输出1 2 4 5 D. 输出1 2 3 4 5 5. 以下代码的输出结果是 int i; for(i=1; i<=5; i++) { if(i==3) continue; printf("%d ", i); }( ) A. 输出1 2 B. 输出1 2 3 4 5 C. 输出1 2 4 5 D. 输出4 5 6. 设 int s=0; 执行以下代码后s的值是 for(int i=1; i<=4; i++) { for(int j=1; j<=4; j++) { if(j==3) break; s++; } }( ) A. s的值为16 B. s的值为12 C. s的值为4 D. s的值为8 7. 以下代码的输出结果是 int i, s=0; for(i=1; i<=5; i++) { if(i%2==0) continue; if(i>4) break; s += i; } printf("%d", s);( ) A. 输出1 B. 输出9 C. 输出4 D. 输出5 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int i, j; for (i = 1; i <= 3; i++) { for (j = 1; j <= 3; j++) { if (j == 2) continue; printf("%d%d ", i, j); } } return 0; } 三、案例分析题 9. 以下程序的功能是:输出以下图形,请填空。 * ** *** **** ***** #include <stdio.h> int main() { int i, j; for (i = 1; 【1】; i++) { for (j = 1; 【2】; j++) printf("*"); 【3】; } return 0; } 四、综合应用题 10. 编写一个C程序:使用双重循环打印九九乘法表,格式为每行输出j*i=乘积,例如第1行输出1*1=1,第2行输出1*2=2 2*2=4,以此类推。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第15练 4.4-4.5 循环嵌套、break与continue语句 《C语言》 (第五版) 一课一练 (山东省)
1
第15练 4.4-4.5 循环嵌套、break与continue语句 《C语言》 (第五版) 一课一练 (山东省)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。