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

2026-08-12
| 2份
| 16页
| 36人阅读
| 0人下载

内容正文:

编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。 本试卷是第53卷,为专题训练卷,按“循环程序设计”专题范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法;(1)掌握for循环和循环嵌套的用法;(2)理解break语句和continue语句的用法。 山东省春季高考统一考试 软件与应用技术类《考纲百套卷》 第53卷 专题训练——循环程序设计 (考试时间:45分钟 满分:100分) 一、选择题(共20题,每题3分,共60分) 1.while循环适合解决的重复任务是(  ) A.循环次数固定且不需要判断 B.只能执行一次的任务 C.先判断条件再决定是否执行 D.只能处理字符数据的任务 2.do...while循环与while循环的主要区别是(  ) A.只判断一次循环条件 B.控制变量始终不变 C.循环体固定执行两次 D.先执行循环体后判断 3.下列程序段输出的数字是(  ) int k = 1; while (k <= 3) { printf("%d", k); k++; } A.123 B.012 C.234 D.321 4.执行下列程序后,变量total的值是(  ) int n = 1, total = 0; while (n <= 4) { total += n; n++; } A.4 B.6 C.10 D.11 5.执行下列程序后,变量n的值是(  ) int n = 7; do { n -= 2; } while (n > 7); A.3 B.5 C.7 D.9 6.若while循环的初始条件为假,则循环体(  ) A.一定执行一次 B.可能执行两次 C.执行次数无法判断 D.不会执行 7.执行下列程序后,变量steps的值是(  ) int x = 16, steps = 0; while (x > 2) { x /= 2; steps++; } A.4 B.2 C.3 D.5 8.执行下列程序后,变量value的值是(  ) int value = 2; do { value *= 3; } while (value < 10); A.6 B.9 C.12 D.18 9.下列程序中可能形成无限循环的原因是(  ) int i = 1; while (i <= 5) { printf("%d", i); } A.控制变量i没有更新 B.循环体缺少输出语句 C.循环条件使用了小于等于 D.变量i被声明为整数 10.使用while循环计算1到n的累加和时,控制变量通常应(  ) A.始终保持初始数值 B.循环开始后立即删除 C.每次向结束方向变化 D.只能使用负数变化 11.某程序需要至少读取一次输入,再判断输入是否为0,适合采用(  ) A.while结构 B.switch结构 C.if结构 D.do结构 12.执行下列程序后,变量count的值是(  ) int i = 3, count = 0; while (i > 0) { count += i; i--; } A.3 B.6 C.5 D.9 13.执行下列程序后,while循环体执行的次数是(  ) int p = 1; while (p < 20) { p *= 2; } A.3次 B.4次 C.5次 D.6次 14.若循环条件表示‘继续处理编号不为0的数据’,正确的条件是(  ) A.id != 0 B.id == 0 C.id < 0 D.id > 0 15.下列程序用于统计正数个数,循环体中应补充的语句是(  ) if (x > 0) { ______ } A.count++ B.count-- C.x-- D.x = 0 16.执行下列程序后,变量i的值是(  ) int i = 1; while (i < 10) { i += 3; } A.7 B.10 C.8 D.11 17.执行下列程序后,变量sum的值是(  ) int sum = 0, t = 5; do { sum += t; t--; } while (t > 2); A.12 B.5 C.9 D.15 18.改写while循环时,将循环体至少执行一次的结构改为(  ) A.do结构 B.if结构 C.switch结构 D.赋值语句 19.下列做法中,最有利于避免循环边界错误的是(  ) A.删除循环条件判断 B.保持控制变量不变 C.明确初值条件更新 D.只测试一个中间值 20.若需要重复执行任务直到用户输入0,循环体中通常应包含(  ) A.把输入变量改成常量 B.读取或更新输入 C.删除循环结束条件 D.只保留一条注释 二、简答题(共2题,每题10分,共20分) 1.阅读程序,写出输出结果,并说明sum和i的最终值。 #include <stdio.h> int main() { int i = 1, sum = 0; while (i <= 5) { sum += i; i++; } printf("%d %d ", sum, i); return 0; } 2.阅读程序,写出输出结果,并说明value和times的最终值。 #include <stdio.h> int main() { int value = 1, times = 0; do { value *= 2; times++; } while (value < 10); printf("%d %d ", value, times); return 0; } 三、案例分析题(共1题,共10分) 1.某程序要求输入若干个整数,输入0结束,并统计正整数的个数。原程序无法结束,请找出问题并修改。 #include <stdio.h> int main() { int x, count = 0; do { scanf("%d", &x); if (x > 0) count++; } while (x != 0); printf("%d ", count); return 0; } 四、综合应用题(共1题,共10分) 1.编写程序:输入一个正整数n,使用while循环计算1到n中所有偶数的和并输出。若n小于1,输出0。 #include <stdio.h> int main() { int n, i = 1, sum = 0; scanf("%d", &n); while (i <= n) { if (i % 2 == 0) sum += i; i++; } printf("%d ", sum); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。 本试卷是第53卷,为专题训练卷,按“循环程序设计”专题范围和要求编写。具体内容为:(1)掌握while循环、do…while循环的用法;(1)掌握for循环和循环嵌套的用法;(2)理解break语句和continue语句的用法。 山东省春季高考统一考试 软件与应用技术类《考纲百套卷》 第53卷 专题训练——循环程序设计 (考试时间:45分钟 满分:100分) 一、选择题(共20题,每题3分,共60分) 1.while循环适合解决的重复任务是(  ) A.循环次数固定且不需要判断 B.只能执行一次的任务 C.先判断条件再决定是否执行 D.只能处理字符数据的任务 【答案】C 【解析】while先判断条件,条件成立时才进入循环体,适合循环次数可能由条件决定的任务。 2.do...while循环与while循环的主要区别是(  ) A.只判断一次循环条件 B.控制变量始终不变 C.循环体固定执行两次 D.先执行循环体后判断 【答案】D 【解析】do...while先执行循环体,再判断条件;while则先判断条件,所以while可能一次也不执行。 3.下列程序段输出的数字是(  ) int k = 1; while (k <= 3) { printf("%d", k); k++; } A.123 B.012 C.234 D.321 【答案】A 【解析】k取1、2、3时依次输出,随后k变为4,条件k<=3不成立,输出为123。 4.执行下列程序后,变量total的值是(  ) int n = 1, total = 0; while (n <= 4) { total += n; n++; } A.4 B.6 C.10 D.11 【答案】C 【解析】total依次累加1、2、3、4,结果为10;选项C对应10。 5.执行下列程序后,变量n的值是(  ) int n = 7; do { n -= 2; } while (n > 7); A.3 B.5 C.7 D.9 【答案】B 【解析】do...while先执行一次,n由7变为5;随后5>7不成立,最终n为5。 6.若while循环的初始条件为假,则循环体(  ) A.一定执行一次 B.可能执行两次 C.执行次数无法判断 D.不会执行 【答案】D 【解析】while先判断条件,初始条件为假时直接跳过循环体,因此循环体执行0次。 7.执行下列程序后,变量steps的值是(  ) int x = 16, steps = 0; while (x > 2) { x /= 2; steps++; } A.4 B.2 C.3 D.5 【答案】C 【解析】x依次变为8、4、2,循环体执行3次;x为2时条件x>2不成立,所以steps为3。 8.执行下列程序后,变量value的值是(  ) int value = 2; do { value *= 3; } while (value < 10); A.6 B.9 C.12 D.18 【答案】D 【解析】value第一次变为6,6<10成立;第二次变为18,18<10不成立,最终为18。 9.下列程序中可能形成无限循环的原因是(  ) int i = 1; while (i <= 5) { printf("%d", i); } A.控制变量i没有更新 B.循环体缺少输出语句 C.循环条件使用了小于等于 D.变量i被声明为整数 【答案】A 【解析】循环体没有改变i,i始终为1,条件一直成立,因此可能形成无限循环。 10.使用while循环计算1到n的累加和时,控制变量通常应(  ) A.始终保持初始数值 B.循环开始后立即删除 C.每次向结束方向变化 D.只能使用负数变化 【答案】C 【解析】控制变量必须向使循环条件失效的方向变化,才能保证循环按预期结束。 11.某程序需要至少读取一次输入,再判断输入是否为0,适合采用(  ) A.while结构 B.switch结构 C.if结构 D.do结构 【答案】D 【解析】先读取一次再判断是否结束,符合do...while先执行后判断的特点。 12.执行下列程序后,变量count的值是(  ) int i = 3, count = 0; while (i > 0) { count += i; i--; } A.3 B.6 C.5 D.9 【答案】B 【解析】count依次加上3、2、1,结果为6;i减到0后循环结束。 13.执行下列程序后,while循环体执行的次数是(  ) int p = 1; while (p < 20) { p *= 2; } A.3次 B.4次 C.5次 D.6次 【答案】C 【解析】p依次变为2、4、8、16、32,循环体共执行5次;p为32时不满足p<20,循环结束。 14.若循环条件表示‘继续处理编号不为0的数据’,正确的条件是(  ) A.id != 0 B.id == 0 C.id < 0 D.id > 0 【答案】A 【解析】编号不为0应使用不等于运算符表示,即id!=0。 15.下列程序用于统计正数个数,循环体中应补充的语句是(  ) if (x > 0) { ______ } A.count++ B.count-- C.x-- D.x = 0 【答案】A 【解析】每发现一个正数,正数个数应增加1,所以应使用count++。 16.执行下列程序后,变量i的值是(  ) int i = 1; while (i < 10) { i += 3; } A.7 B.10 C.8 D.11 【答案】B 【解析】i依次为1、4、7、10;i为10时不再满足i<10,最终为10。 17.执行下列程序后,变量sum的值是(  ) int sum = 0, t = 5; do { sum += t; t--; } while (t > 2); A.12 B.5 C.9 D.15 【答案】A 【解析】t为5、4、3时分别累加,sum=5+4+3=12;t减为2后结束。 18.改写while循环时,将循环体至少执行一次的结构改为(  ) A.do结构 B.if结构 C.switch结构 D.赋值语句 【答案】A 【解析】do...while先执行循环体再判断条件,能够保证循环体至少执行一次。 19.下列做法中,最有利于避免循环边界错误的是(  ) A.删除循环条件判断 B.保持控制变量不变 C.明确初值条件更新 D.只测试一个中间值 【答案】C 【解析】明确循环初值、继续条件和控制变量更新方向,并测试边界值,有助于发现少执行或多执行问题。 20.若需要重复执行任务直到用户输入0,循环体中通常应包含(  ) A.把输入变量改成常量 B.读取或更新输入 C.删除循环结束条件 D.只保留一条注释 【答案】B 【解析】循环体需要再次读取或更新输入值,条件才可能发生变化并最终满足结束要求。 二、简答题(共2题,每题10分,共20分) 1.阅读程序,写出输出结果,并说明sum和i的最终值。 #include <stdio.h> int main() { int i = 1, sum = 0; while (i <= 5) { sum += i; i++; } printf("%d %d ", sum, i); return 0; } 【答案】输出:15 6。sum的最终值为15,i的最终值为6。 【解析】i为1至5时进入循环并累加,sum=1+2+3+4+5=15;最后一次更新后i为6,条件i<=5不成立。 2.阅读程序,写出输出结果,并说明value和times的最终值。 #include <stdio.h> int main() { int value = 1, times = 0; do { value *= 2; times++; } while (value < 10); printf("%d %d ", value, times); return 0; } 【答案】输出:16 4。value的最终值为16,times的最终值为4。 【解析】value依次变为2、4、8、16,循环体执行4次;value为16时不满足value<10,循环结束。 三、案例分析题(共1题,共10分) 1.某程序要求输入若干个整数,输入0结束,并统计正整数的个数。原程序无法结束,请找出问题并修改。 #include <stdio.h> int main() { int x, count = 0; do { scanf("%d", &x); if (x > 0) count++; } while (x != 0); printf("%d ", count); return 0; } 【答案】原程序的正确写法如上:在do...while条件中使用x != 0,并且每次循环都重新读取x。若原程序遗漏scanf或把条件写成固定为真的条件,应补充scanf("%d", &x),并改为while (x != 0)。 【解析】输入0结束要求循环条件能够随着每次输入变化;do...while先读取一次,再用x!=0判断是否继续。只有x>0时才增加正整数计数,0和负数不计入。 四、综合应用题(共1题,共10分) 1.编写程序:输入一个正整数n,使用while循环计算1到n中所有偶数的和并输出。若n小于1,输出0。 #include <stdio.h> int main() { int n, i = 1, sum = 0; scanf("%d", &n); while (i <= n) { if (i % 2 == 0) sum += i; i++; } printf("%d ", sum); return 0; } 【答案】参考程序如上。评分点:正确输入n并初始化i、sum;使用while控制i<=n;用i%2==0判断偶数;正确累加并更新i;输出sum。 【解析】当n<1时,i初值1使i<=n为假,while循环执行0次,sum保持为0。对于n>=1,i逐个取1到n,偶数满足i%2==0时加入sum。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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