第7卷 for循环及break语句和continue语句《C语言程序设计》山东省春季高考《软件与应用技术类考纲百套卷》

2026-06-12
| 2份
| 19页
| 6人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 C语言程序设计高教版(第五版)全一册
年级 高一
章节 4.3 for循环,4.4 多重循环,4.5 break语句和continue语句
类型 题集-专项训练
知识点 循环结构
使用场景 中职复习
学年 2026-2027
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 185 KB
发布时间 2026-06-12
更新时间 2026-06-12
作者 xkw__007
品牌系列 学易金卷·考纲百套卷
审核时间 2026-06-12
下载链接 https://m.zxxk.com/soft/58312445.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:山东省春季高考《软件与应用技术类考纲百套卷》,依据山东省《软件与应用技术类专业知识考试标准》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第7卷,按《C语言程序设计》范围和要求编写。具体内容为: 掌握for循环和循环嵌套的用法。 理解break语句和continue语句的用法。 山东省《软件与应用技术类考纲百套卷》 第7卷 《C语言程序设计》 for循环及break语句和continue语句 考点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共20小题,每题3分,共60分) 1.以下关于 C 语言 for 循环执行流程的描述中,正确的是( ) A. 先执行初始化表达式,再判断循环条件,条件为真时执行循环体,最后执行增量表达式 B. 先执行循环体,再判断循环条件,条件为真时执行初始化表达式,最后执行增量表达式 C. 先执行增量表达式,再判断循环条件,条件为真时执行循环体,最后执行初始化表达式 D. 先判断循环条件,条件为真时执行初始化表达式,再执行循环体,最后执行增量表达式 2.以下 for 循环的语法格式中,正确的是( ) A. for (i=0,i<10,i++) printf ("% d",i); B. for (i=0;i<10;i++) printf ("% d",i); C. for (i=0;i<10) printf ("% d",i); D. for (i=0;;i++) printf ("% d",i); 3.执行以下程序段后,输出结果是( ) int i; for(i=1;i<=5;i++) { if(i==3) break; printf("%d",i); } A. 123 B. 12345 C. 12 D. 345 4.执行以下程序段后,输出结果是( ) int i; for(i=1;i<=5;i++) { if(i==3) continue; printf("%d",i); } A. 1245 B. 12345 C. 12 D. 345 5.以下二重循环的执行次数是( ) int i,j; for(i=1;i<=3;i++) for(j=1;j<=4;j++) printf("*"); A. 7 次 B. 12 次 C. 3 次 D. 4 次 6.以下 for 循环与 while 循环等价的是( ) for(i=1;i<=10;i++) sum+=i; A. i=1; while(i<=10) sum+=i; B. i=1; while(i<=10) {sum+=i; i++;} C. while(i<=10) {i=1; sum+=i; i++;} D. i=1; while(i<10) {sum+=i; i++;} 7.执行以下程序段后,i 的值是( ) int i; for(i=0;i<5;i++); A. 5 B. 4 C. 0 D. 6 8.以下关于多重循环中 break 语句的描述中,正确的是( ) A. break 语句可以跳出所有层循环 B. break 语句只能跳出所在的那一层循环 C. break 语句可以跳出 switch 语句和所有层循环 D. break 语句不能用于多重循环中 9.以下关于多重循环中 continue 语句的描述中,正确的是( ) A. continue 语句可以跳过所有层循环的本次循环 B. continue 语句只能跳过所在的那一层循环的本次循环 C. continue 语句可以结束整个多重循环 D. continue 语句不能用于多重循环中 10.以下 for 循环中,会产生死循环的是( ) A. for(;;) printf("*"); B. for(i=0;i<10;i++) printf("*"); C. for(i=10;i>0;i--) printf("*"); D. for(i=0;i==10;i++) printf("*"); 11.执行以下程序段后,输出结果是( ) int i; for(i=10;i>0;i-=2) printf("%d",i); A. 108642 B. 1086420 C. 246810 D. 0246810 12.执行以下程序段后,sum 的值是( ) int i,sum=0; for(i=1;i<=10;i+=2) sum+=i; A. 10 B. 20 C. 25 D. 55 13.以下程序段中,不会产生死循环的是( ) A. int i=0; for(;i<10;i--); B. int i=0; for(;i=10;i++); C. int i=0; for(;i<=10;i++); D. int i=0; for(;;i++); 14.以下关于 break 和 continue 语句的区别描述中,正确的是( ) A. break 和 continue 都能结束整个循环 B. break 结束本次循环,continue 结束整个循环 C. break 和 continue 都只能用于循环语句中 D. break 结束整个循环,continue 结束本次循环 15.执行以下程序段后,输出结果是( ) int i,j; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { printf("%d",i*j); } } A. 123246369 B. 111222333 C. 123456789 D. 321642963 16.以下 do-while 循环与 for 循环等价的是( ) int i=1,sum=0; do { sum+=i; i++; } while(i<=10); A. for(int i=1,sum=0;i<=10;i++) sum+=i; B. for(i=1,sum=0;i<=10;i++,sum+=i); C. for(i=1,sum=0;i<=10;sum+=i,i++); D. for(i=1,sum=0;;i++) {sum+=i; if(i>10) break;} 17.以下关于跳转语句的描述中,正确的是( ) A. break 语句只能用于循环语句中 B. continue 语句可以用于 switch 语句中 C. break 和 continue 都可以用于 switch 语句中 D. break 语句可以用于循环语句和 switch 语句中,continue 语句只能用于循环语句中 18.以下关于 for 循环表达式的描述中,正确的是( ) A. 初始化表达式不能省略 B. 循环条件表达式不能省略 C. 增量表达式不能省略 D. 循环条件表达式省略时默认为真 19.执行以下程序段后,输出结果是( ) int i,j; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { if(j==2) continue; printf("%d%d ",i,j); } } A. 11 12 13 21 22 23 31 32 33 B. 12 22 32 C. 11 13 21 23 31 33 D. 11 21 31 13 23 33 20.执行以下程序段后,输出结果是( ) int i,j; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { if(i*j>4) break; printf("%d ",i*j); } } A. 1 2 3 2 4 3 B. 1 2 3 2 4 C. 1 2 3 2 4 3 6 D. 1 2 3 2 4 6 二、简答题(本大题共2小题,每题10分,共20分) 1.阅读以下 C 语言程序,写出程序运行后的完整输出结果______ #include <stdio.h> int main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=i;j++) { printf("*"); } printf(" "); } return 0; } 2.阅读以下 C 语言程序,写出程序运行后的完整输出结果______ #include <stdio.h> int main() { int i,sum=0; for(i=1;i<=20;i++) { if(i%3==0 && i%5==0) { sum+=i; printf("%d ",i); } } printf(" sum=%d ",sum); return 0; } 三、案例分析题(本大题共1小题,每题10分,共10分) 1.以下程序的功能是:输出 1 到 100 之间的所有素数(素数是指只能被 1 和它本身整除的大于 1 的整数)。请在程序的下划线处填入正确的内容,使程序完整并能正确运行。 #include <stdio.h> #include <math.h> int main() { int i,j,flag; for(i=2;i<=100;____1____) { flag=1; for(j=2;j<=sqrt(i);____2____) { if(i%j==0) { flag=0; ____3____; } } if(____4____) { printf("%d ",i); } } return 0; } 四、综合应用题(本大题共1小题,每题10分,共10分) 1.编写一个 C 语言程序,实现以下功能: 输入一个正整数 n 使用 for 循环计算 1 到 n 之间所有偶数的和 输出计算结果 检查输入数据的合法性(n 必须为正整数) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:山东省春季高考《软件与应用技术类考纲百套卷》,依据山东省《软件与应用技术类专业知识考试标准》编写。每门课程均分三层训练:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第7卷,按《C语言程序设计》范围和要求编写。具体内容为: 掌握for循环和循环嵌套的用法。 理解break语句和continue语句的用法。 山东省《软件与应用技术类考纲百套卷》 第7卷 《C语言程序设计》 for循环及break语句和continue语句 考点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、选择题(本大题共20小题,每题3分,共60分) 1.以下关于 C 语言 for 循环执行流程的描述中,正确的是( ) A. 先执行初始化表达式,再判断循环条件,条件为真时执行循环体,最后执行增量表达式 B. 先执行循环体,再判断循环条件,条件为真时执行初始化表达式,最后执行增量表达式 C. 先执行增量表达式,再判断循环条件,条件为真时执行循环体,最后执行初始化表达式 D. 先判断循环条件,条件为真时执行初始化表达式,再执行循环体,最后执行增量表达式 【答案】A 【解析】for 循环的标准执行流程是:初始化表达式→循环条件判断→循环体→增量表达式→循环条件判断,如此循环。 2.以下 for 循环的语法格式中,正确的是( ) A. for (i=0,i<10,i++) printf ("% d",i); B. for (i=0;i<10;i++) printf ("% d",i); C. for (i=0;i<10) printf ("% d",i); D. for (i=0;;i++) printf ("% d",i); 【答案】B 【解析】for 循环的三个表达式之间必须用分号分隔,A 用了逗号错误;C 缺少增量表达式错误;D 虽然语法合法,但会产生死循环,不是标准正确格式。 3.执行以下程序段后,输出结果是( ) int i; for(i=1;i<=5;i++) { if(i==3) break; printf("%d",i); } A. 123 B. 12345 C. 12 D. 345 【答案】C 【解析】break 语句的作用是跳出整个循环。当 i=3 时执行 break,循环立即结束,因此只输出 1 和 2。 4.执行以下程序段后,输出结果是( ) int i; for(i=1;i<=5;i++) { if(i==3) continue; printf("%d",i); } A. 1245 B. 12345 C. 12 D. 345 【答案】A 【解析】continue 语句的作用是跳过本次循环剩余的语句,直接进入下一次循环。当 i=3 时跳过 printf,因此输出 1、2、4、5。 5.以下二重循环的执行次数是( ) int i,j; for(i=1;i<=3;i++) for(j=1;j<=4;j++) printf("*"); A. 7 次 B. 12 次 C. 3 次 D. 4 次 【答案】B 【解析】外层循环执行 3 次(i=1,2,3),每次外层循环内层循环执行 4 次(j=1,2,3,4),总执行次数为 3×4=12 次。 6.以下 for 循环与 while 循环等价的是( ) for(i=1;i<=10;i++) sum+=i; A. i=1; while(i<=10) sum+=i; B. i=1; while(i<=10) {sum+=i; i++;} C. while(i<=10) {i=1; sum+=i; i++;} D. i=1; while(i<10) {sum+=i; i++;} 【答案】B 【解析】for 循环的三个表达式可以转换为:初始化表达式放在 while 前,循环条件不变,增量表达式放在循环体末尾。 7.执行以下程序段后,i 的值是( ) int i; for(i=0;i<5;i++); A. 5 B. 4 C. 0 D. 6 【答案】A 【解析】for 循环后面的分号表示空循环体,循环正常执行。i 从 0 开始,每次自增 1,当 i=5 时条件 i<5 不成立,循环结束,i 的值为 5。 8.以下关于多重循环中 break 语句的描述中,正确的是( ) A. break 语句可以跳出所有层循环 B. break 语句只能跳出所在的那一层循环 C. break 语句可以跳出 switch 语句和所有层循环 D. break 语句不能用于多重循环中 【答案】B 【解析】break 语句只能跳出它所在的那一层循环或 switch 语句,不能直接跳出多层循环。 9.以下关于多重循环中 continue 语句的描述中,正确的是( ) A. continue 语句可以跳过所有层循环的本次循环 B. continue 语句只能跳过所在的那一层循环的本次循环 C. continue 语句可以结束整个多重循环 D. continue 语句不能用于多重循环中 【答案】B 【解析】continue 语句只能跳过它所在的那一层循环的本次循环剩余语句,直接进入该层的下一次循环判断。 10.以下 for 循环中,会产生死循环的是( ) A. for(;;) printf("*"); B. for(i=0;i<10;i++) printf("*"); C. for(i=10;i>0;i--) printf("*"); D. for(i=0;i==10;i++) printf("*"); 【答案】A 【解析】for 循环的三个表达式都可以省略,当循环条件表达式省略时,默认为真,因此 for (;;) 是死循环。D 选项中初始 i=0,条件 i==10 为假,循环体一次都不执行。 11.执行以下程序段后,输出结果是( ) int i; for(i=10;i>0;i-=2) printf("%d",i); A. 108642 B. 1086420 C. 246810 D. 0246810 【答案】A 【解析】i 从 10 开始,每次减 2,依次输出 10、8、6、4、2,当 i=0 时条件 i>0 不成立,循环结束。 12.执行以下程序段后,sum 的值是( ) int i,sum=0; for(i=1;i<=10;i+=2) sum+=i; A. 10 B. 20 C. 25 D. 55 【答案】C 【解析】i 依次取 1、3、5、7、9,sum 累加这些值:1+3+5+7+9=25。 13.以下程序段中,不会产生死循环的是( ) A. int i=0; for(;i<10;i--); B. int i=0; for(;i=10;i++); C. int i=0; for(;i<=10;i++); D. int i=0; for(;;i++); 【答案】C 【解析】A 选项 i 永远小于 10,死循环;B 选项 i=10 是赋值表达式,值为真,死循环;D 选项条件永远为真,死循环;C 选项 i 从 0 到 10,循环正常结束。 14.以下关于 break 和 continue 语句的区别描述中,正确的是( ) A. break 和 continue 都能结束整个循环 B. break 结束本次循环,continue 结束整个循环 C. break 和 continue 都只能用于循环语句中 D. break 结束整个循环,continue 结束本次循环 【答案】D 【解析】break 语句跳出整个循环,continue 语句只跳过本次循环剩余语句,进入下一次循环。break 还可以用于 switch 语句,continue 只能用于循环语句。 15.执行以下程序段后,输出结果是( ) int i,j; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { printf("%d",i*j); } } A. 123246369 B. 111222333 C. 123456789 D. 321642963 【答案】A 【解析】外层循环 i=1 时,内层 j=1,2,3,输出 1×1=1、1×2=2、1×3=3;i=2 时输出 2、4、6;i=3 时输出 3、6、9,总输出为 123246369。 16.以下 do-while 循环与 for 循环等价的是( ) int i=1,sum=0; do { sum+=i; i++; } while(i<=10); A. for(int i=1,sum=0;i<=10;i++) sum+=i; B. for(i=1,sum=0;i<=10;i++,sum+=i); C. for(i=1,sum=0;i<=10;sum+=i,i++); D. for(i=1,sum=0;;i++) {sum+=i; if(i>10) break;} 【答案】D 【解析】do-while 循环先执行一次循环体再判断条件,等价于 for 循环中先执行循环体,再判断条件,不满足时 break。A、B、C 都是先判断条件再执行循环体,与 do-while 不等价。 17.以下关于跳转语句的描述中,正确的是( ) A. break 语句只能用于循环语句中 B. continue 语句可以用于 switch 语句中 C. break 和 continue 都可以用于 switch 语句中 D. break 语句可以用于循环语句和 switch 语句中,continue 语句只能用于循环语句中 【答案】D 【解析】break 语句用于跳出循环或 switch 结构;continue 语句只能用于循环语句中,不能用于 switch 语句。 18.以下关于 for 循环表达式的描述中,正确的是( ) A. 初始化表达式不能省略 B. 循环条件表达式不能省略 C. 增量表达式不能省略 D. 循环条件表达式省略时默认为真 【答案】D 【解析】for 循环的三个表达式都可以省略。初始化表达式省略时不执行初始化;循环条件表达式省略时默认为真;增量表达式省略时不执行增量操作。 19.执行以下程序段后,输出结果是( ) int i,j; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { if(j==2) continue; printf("%d%d ",i,j); } } A. 11 12 13 21 22 23 31 32 33 B. 12 22 32 C. 11 13 21 23 31 33 D. 11 21 31 13 23 33 【答案】C 【解析】内层循环中当 j=2 时执行 continue,跳过 printf。因此 i=1 时输出 11、13;i=2 时输出 21、23;i=3 时输出 31、33。 20.执行以下程序段后,输出结果是( ) int i,j; for(i=1;i<=3;i++) { for(j=1;j<=3;j++) { if(i*j>4) break; printf("%d ",i*j); } } A. 1 2 3 2 4 3 B. 1 2 3 2 4 C. 1 2 3 2 4 3 6 D. 1 2 3 2 4 6 【答案】A 【解析】考察多重循环中 break 的作用(仅跳出内层循环)。i=1 时输出 1 2 3;i=2 时 j=3 触发 break,输出 2 4;i=3 时 j=2 触发 break,输出 3。最终输出 "1 2 3 2 4 3"。 二、简答题(本大题共2小题,每题10分,共20分) 1.阅读以下 C 语言程序,写出程序运行后的完整输出结果______ #include <stdio.h> int main() { int i,j; for(i=1;i<=4;i++) { for(j=1;j<=i;j++) { printf("*"); } printf(" "); } return 0; } 【答案】 * ** *** **** 2.阅读以下 C 语言程序,写出程序运行后的完整输出结果______ #include <stdio.h> int main() { int i,sum=0; for(i=1;i<=20;i++) { if(i%3==0 && i%5==0) { sum+=i; printf("%d ",i); } } printf(" sum=%d ",sum); return 0; } 【答案】 15 sum=15 三、案例分析题(本大题共1小题,每题10分,共10分) 1.以下程序的功能是:输出 1 到 100 之间的所有素数(素数是指只能被 1 和它本身整除的大于 1 的整数)。请在程序的下划线处填入正确的内容,使程序完整并能正确运行。 #include <stdio.h> #include <math.h> int main() { int i,j,flag; for(i=2;i<=100;____1____) { flag=1; for(j=2;j<=sqrt(i);____2____) { if(i%j==0) { flag=0; ____3____; } } if(____4____) { printf("%d ",i); } } return 0; } 【答案】 1.i++(或i=i+1、i+=1) 2.j++(或j=j+1、j+=1) 3.break 4.flag==1(或flag) 四、综合应用题(本大题共1小题,每题10分,共10分) 1.编写一个 C 语言程序,实现以下功能: 输入一个正整数 n 使用 for 循环计算 1 到 n 之间所有偶数的和 输出计算结果 检查输入数据的合法性(n 必须为正整数) 【答案】 #include <stdio.h> int main() { int n,i,sum=0; printf("请输入一个正整数:"); scanf("%d", &n); // 检查输入合法性 if(n<=0) { printf("输入错误!请输入正整数。 "); return 1; } // 计算1到n的偶数和 for(i=2;i<=n;i+=2) { sum+=i; } printf("1到%d之间所有偶数的和为:%d ", n, sum); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第7卷 for循环及break语句和continue语句《C语言程序设计》山东省春季高考《软件与应用技术类考纲百套卷》
1
第7卷 for循环及break语句和continue语句《C语言程序设计》山东省春季高考《软件与应用技术类考纲百套卷》
2
第7卷 for循环及break语句和continue语句《C语言程序设计》山东省春季高考《软件与应用技术类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。