第52卷 循环程序设计 专题训练卷 《C语言程序设计知识》山东省(春季高考)《软件与应用技术类考纲百套卷》

2026-08-12
| 2份
| 17页
| 29人阅读
| 0人下载

内容正文:

编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。 本试卷是第52卷,为专题训练卷,按“循环程序设计”专题范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法;(1)掌握for循环和循环嵌套的用法;(2)理解break语句和continue语句的用法。 山东省春季高考统一考试 软件与应用技术类《考纲百套卷》 第52卷 专题训练——循环程序设计 (考试时间:45分钟 满分:100分) 一、选择题(共20题,每题3分,共60分) 1.while语句执行循环时,首先进行的操作是(  ) A.先执行循环体 B.先判断循环条件 C.先执行更新语句 D.先结束当前程序 【答案】B 【解析】while先判断条件,条件成立时才执行循环体,因此条件一开始为假时循环体可以一次也不执行。 2.do...while语句的主要特点是(  ) A.条件只判断一次 B.循环体不能使用变量 C.必须配合for语句 D.循环体至少执行一次 【答案】D 【解析】do...while先执行循环体,再判断条件,所以即使条件初始为假,循环体也会先执行一次。 3.关于do...while语句的说法,正确的是(  ) A.do先执行循环体 B.do先判断循环条件 C.while先执行循环体 D.循环体执行后不再判断条件 【答案】A 【解析】标准形式是do后跟循环体,while后写条件,并在条件右括号后加分号。 4.使用while循环时,为使循环能够正常结束,通常需要在循环体中(  ) A.重复声明同一变量 B.删除循环条件 C.改变控制变量的值 D.把输出语句移到循环外 【答案】C 【解析】控制变量应在循环体中按设计方向变化,使条件最终变为假;否则可能形成无限循环。 5.执行下列程序后,输出结果是(  ) int i = 1; while (i < 4) { printf("%d", i); i++; } A.012 B.234 C.123 D.345 【答案】C 【解析】i依次为1、2、3时满足i<4,输出123;i增加到4后条件不成立,循环结束。 6.执行下列程序后,变量i的值是(  ) int i = 0; do { i++; } while (i < 3); A.3 B.1 C.2 D.4 【答案】A 【解析】i从0开始,循环体依次把它加到1、2、3;i为3时条件i<3不成立,最终为3。 7.执行下列程序后,循环体执行的次数是(  ) int i = 5, n = 0; while (i < 5) { n++; i++; } A.1次 B.5次 C.无法确定 D.0次 【答案】D 【解析】while先判断i<5,初值i为5使条件不成立,因此循环体执行0次。 8.执行下列程序后,变量product的值是(  ) int product = 1; do { product *= 2; } while (product < 5); A.4 B.8 C.6 D.10 【答案】B 【解析】product依次变为2、4、8;product为8时不满足product<5,循环结束,最终值为8。 9.下列程序用于累加1到5的整数,执行后sum的值是(  ) int i = 1, sum = 0; while (i <= 5) { sum += i; i++; } A.10 B.14 C.15 D.16 【答案】C 【解析】循环依次把1、2、3、4、5加入sum,结果为1+2+3+4+5=15。 10.执行下列程序后,变量count的值是(  ) int i = 1, count = 0; while (i <= 4) { i *= 2; count++; } A.2 B.4 C.5 D.3 【答案】D 【解析】i依次由1变为2、4、8,循环体执行3次;i为8时不再满足i<=4。 11.若成绩不在0到100之间就继续输入,循环条件应写为(  ) A.score<0||score>100 B.score<0&&score>100 C.score>=0&&score<=100 D.score==0||score==100 【答案】A 【解析】需要继续输入的情况是低于0或高于100,两个异常范围满足其一即可,因此使用||连接。 12.菜单程序要求先显示菜单,用户输入0时结束,较合适的循环形式是(  ) A.先判断循环条件后执行 B.先执行循环体再判断 C.只执行一次后结束 D.按固定次数执行循环 【答案】B 【解析】菜单至少要显示一次,应先执行菜单和输入,再根据choice是否为0决定是否继续,适合使用do...while。 13.执行下列程序后,变量n的值是(  ) int n = 10; while (n > 1) { n -= 3; } A.0 B.2 C.10 D.1 【答案】D 【解析】n依次变为7、4、1;n为1时不满足n>1,循环结束,最终值为1。 14.执行下列程序后,变量count的值是(  ) int x = 2, count = 0; do { count++; x--; } while (x > 2); A.0 B.2 C.1 D.3 【答案】C 【解析】循环体先执行一次,count变为1、x变为1;随后x>2为假,循环结束。 15.下列while循环不能按预期结束,最直接的修改是(  ) int i = 1; while (i <= 5) { sum += i; } A.在循环体内更新i B.删去循环条件 C.把i改为固定值 D.把sum改为字符变量 【答案】A 【解析】循环体没有改变i,i始终为1,条件一直成立;加入i++可使控制变量向结束条件变化。 16.执行下列程序后,变量value的值是(  ) int value = 3; do { value += 2; } while (value < 6); A.3 B.7 C.5 D.6 【答案】B 【解析】value先由3变为5,5<6成立,再变为7;7<6不成立,循环结束,最终值为7。 17.执行下列程序后,变量x的值是(  ) int x = 8; do { x /= 2; } while (x > 1); A.0 B.2 C.4 D.1 【答案】D 【解析】x依次由8变为4、2、1;x为1时条件x>1不成立,最终为1。 18.执行下列程序后,变量sum的值是(  ) int n = 3, sum = 0; while (n > 0) { sum += n; n--; } A.3 B.5 C.6 D.7 【答案】C 【解析】循环把3、2、1依次加入sum,累加结果为6,n减到0后结束。 19.while循环体中更新控制变量的主要作用是(  ) A.让循环体每次执行相同代码 B.使循环条件最终变为假 C.让程序跳过条件判断 D.使循环次数永远增加 【答案】B 【解析】控制变量按设计方向更新,可以使循环条件最终不成立,从而让while循环正常结束。 20.若任务要求循环体至少执行一次且输入0后结束,适合采用的结构是(  ) A.先执行后判断的循环结构 B.先判断后执行的循环结构 C.只执行一次的分支结构 D.按固定次数执行的循环结构 【答案】A 【解析】任务同时要求至少执行一次和按条件重复,do...while能够先执行循环体,再判断结束条件。 二、简答题(共2题,每题10分,共20分) 1.阅读程序,写出输出结果,并说明sum和i的最终值。 #include <stdio.h> int main() { int i = 2, sum = 0; while (i <= 6) { sum += i; i += 2; } printf("%d %d ", sum, i); return 0; } 【答案】输出:12 8。sum的最终值为12,i的最终值为8。 【解析】i依次为2、4、6时进入循环,sum得到2+4+6=12;执行i+=2后变为8,8<=6不成立,循环结束。 2.阅读程序,写出输出结果,并说明count和choice的最终值。 #include <stdio.h> int main() { int choice = 3, count = 0; do { count++; choice--; } while (choice > 0); printf("%d %d ", count, choice); return 0; } 【答案】输出:3 0。count的最终值为3,choice的最终值为0。 【解析】do...while先执行循环体;choice依次为2、1、0,循环体执行3次,最后choice>0不成立。 三、案例分析题(共1题,共10分) 1.某菜单程序要求至少显示一次菜单,输入0时结束,输入其他选项时继续显示菜单。请指出程序问题并修改。 #include <stdio.h> int main() { int choice = 0; while (choice != 0) { printf("1.查询 0.退出 "); scanf("%d", &choice); } return 0; } 【答案】将while结构改为do...while结构: int choice; do { printf("1.查询 0.退出 "); scanf("%d", &choice); } while (choice != 0); 【解析】原程序把choice初始化为0,while首次判断choice!=0为假,菜单一次也不会显示。题目要求至少显示一次,应先执行菜单和输入,再判断choice是否为0,因此使用do...while。 四、综合应用题(共1题,共10分) 1.编写程序:连续输入若干个非负整数,以0作为结束标志,使用do...while循环统计输入的正整数个数及其总和,并输出统计结果。若第一次输入就是0,正整数个数和总和均为0。 #include <stdio.h> int main() { int value, count = 0, sum = 0; do { scanf("%d", &value); if (value > 0) { count++; sum += value; } } while (value != 0); printf("%d %d ", count, sum); return 0; } 【答案】参考程序如上。评分点:正确声明value、count和sum;使用do...while保证至少读取一次;正确判断value>0并累加个数和总和;使用value!=0作为继续条件;输出格式正确。 【解析】输入过程至少需要执行一次,且输入0后结束,所以循环体放在do之后、条件写为value!=0。0不计入正整数统计,正数才同时更新count和sum。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。 本试卷是第52卷,为专题训练卷,按“循环程序设计”专题范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法;(1)掌握for循环和循环嵌套的用法;(2)理解break语句和continue语句的用法。 山东省春季高考统一考试 软件与应用技术类《考纲百套卷》 第52卷 专题训练——循环程序设计 (考试时间:45分钟 满分:100分) 一、选择题(共20题,每题3分,共60分) 1.while语句执行循环时,首先进行的操作是(  ) A.先执行循环体 B.先判断循环条件 C.先执行更新语句 D.先结束当前程序 2.do...while语句的主要特点是(  ) A.条件只判断一次 B.循环体不能使用变量 C.必须配合for语句 D.循环体至少执行一次 3.关于do...while语句的说法,正确的是(  ) A.do先执行循环体 B.do先判断循环条件 C.while先执行循环体 D.循环体执行后不再判断条件 4.使用while循环时,为使循环能够正常结束,通常需要在循环体中(  ) A.重复声明同一变量 B.删除循环条件 C.改变控制变量的值 D.把输出语句移到循环外 5.执行下列程序后,输出结果是(  ) int i = 1; while (i < 4) { printf("%d", i); i++; } A.012 B.234 C.123 D.345 6.执行下列程序后,变量i的值是(  ) int i = 0; do { i++; } while (i < 3); A.3 B.1 C.2 D.4 7.执行下列程序后,循环体执行的次数是(  ) int i = 5, n = 0; while (i < 5) { n++; i++; } A.1次 B.5次 C.无法确定 D.0次 8.执行下列程序后,变量product的值是(  ) int product = 1; do { product *= 2; } while (product < 5); A.4 B.8 C.6 D.10 9.下列程序用于累加1到5的整数,执行后sum的值是(  ) int i = 1, sum = 0; while (i <= 5) { sum += i; i++; } A.10 B.14 C.15 D.16 10.执行下列程序后,变量count的值是(  ) int i = 1, count = 0; while (i <= 4) { i *= 2; count++; } A.2 B.4 C.5 D.3 11.若成绩不在0到100之间就继续输入,循环条件应写为(  ) A.score<0||score>100 B.score<0&&score>100 C.score>=0&&score<=100 D.score==0||score==100 12.菜单程序要求先显示菜单,用户输入0时结束,较合适的循环形式是(  ) A.先判断循环条件后执行 B.先执行循环体再判断 C.只执行一次后结束 D.按固定次数执行循环 13.执行下列程序后,变量n的值是(  ) int n = 10; while (n > 1) { n -= 3; } A.0 B.2 C.10 D.1 14.执行下列程序后,变量count的值是(  ) int x = 2, count = 0; do { count++; x--; } while (x > 2); A.0 B.2 C.1 D.3 15.下列while循环不能按预期结束,最直接的修改是(  ) int i = 1; while (i <= 5) { sum += i; } A.在循环体内更新i B.删去循环条件 C.把i改为固定值 D.把sum改为字符变量 16.执行下列程序后,变量value的值是(  ) int value = 3; do { value += 2; } while (value < 6); A.3 B.7 C.5 D.6 17.执行下列程序后,变量x的值是(  ) int x = 8; do { x /= 2; } while (x > 1); A.0 B.2 C.4 D.1 18.执行下列程序后,变量sum的值是(  ) int n = 3, sum = 0; while (n > 0) { sum += n; n--; } A.3 B.5 C.6 D.7 19.while循环体中更新控制变量的主要作用是(  ) A.让循环体每次执行相同代码 B.使循环条件最终变为假 C.让程序跳过条件判断 D.使循环次数永远增加 20.若任务要求循环体至少执行一次且输入0后结束,适合采用的结构是(  ) A.先执行后判断的循环结构 B.先判断后执行的循环结构 C.只执行一次的分支结构 D.按固定次数执行的循环结构 二、简答题(共2题,每题10分,共20分) 1.阅读程序,写出输出结果,并说明sum和i的最终值。 #include <stdio.h> int main() { int i = 2, sum = 0; while (i <= 6) { sum += i; i += 2; } printf("%d %d ", sum, i); return 0; } 2.阅读程序,写出输出结果,并说明count和choice的最终值。 #include <stdio.h> int main() { int choice = 3, count = 0; do { count++; choice--; } while (choice > 0); printf("%d %d ", count, choice); return 0; } 三、案例分析题(共1题,共10分) 1.某菜单程序要求至少显示一次菜单,输入0时结束,输入其他选项时继续显示菜单。请指出程序问题并修改。 #include <stdio.h> int main() { int choice = 0; while (choice != 0) { printf("1.查询 0.退出 "); scanf("%d", &choice); } return 0; } 四、综合应用题(共1题,共10分) 1.编写程序:连续输入若干个非负整数,以0作为结束标志,使用do...while循环统计输入的正整数个数及其总和,并输出统计结果。若第一次输入就是0,正整数个数和总和均为0。 #include <stdio.h> int main() { int value, count = 0, sum = 0; do { scanf("%d", &value); if (value > 0) { count++; sum += value; } } while (value != 0); printf("%d %d ", count, sum); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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