第17练 第4章 循环结构程序设计综合 《C语言》 (第五版) 一课一练 (山东省)

2026-06-24
| 2份
| 11页
| 3人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-同步练
知识点 C语言概述
使用场景 同步教学
学年 2026-2027
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 106 KB
发布时间 2026-06-24
更新时间 2026-06-24
作者 xkw_068401954
品牌系列 上好课·一课一练
审核时间 2026-06-24
下载链接 https://m.zxxk.com/soft/58480021.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第17练,内容是第4章 循环结构程序设计综合。 《C语言》(第五版)一课一练 第17练 第4章 循环结构程序设计综合 一、单选题 1. 以下关于循环结构的叙述,正确的是( ) A. for循环不能省略循环条件 B. while循环的循环体可能一次也不执行 C. do-while循环可能一次也不执行循环体 D. 三种循环结构不能相互替代 【答案】B 【解析】while循环先判断条件再执行,当条件一开始就为假时循环体一次也不执行,B选项正确。for循环的三个表达式都可以省略,A选项错误。do-while至少执行一次循环体,C选项错误。while、do-while和for三种循环可以相互替代,D选项错误。 2. 以下for循环执行后s的值是 int i, s = 0; for (i = 1; i <= 10; i++) s += i;( ) A. s的值为55 B. s的值为45 C. s的值为10 D. s的值为50 【答案】A 【解析】循环从i=1到i=10,将每个i累加到s。s的值为1+2+3+...+10=55。这是求1到10累加和的基本循环。 3. 设 int i=5, s=0; 以下代码执行后s的值是 do { s += i; i--; } while (i > 0);( ) A. s的值为10 B. s的值为5 C. s的值为15 D. s的值为14 【答案】C 【解析】do-while循环先执行循环体再判断条件。i从5递减到1,每次将i累加到s。s=5+4+3+2+1=15。当i变为0时0>0为假退出循环。这是do-while实现的倒序累加。 4. 设 int s=0; 执行以下代码后s的值是 for(int i=1; i<=3; i++) for(int j=1; j<=i; j++) s++;( ) A. s的值为9 B. s的值为3 C. s的值为12 D. s的值为6 【答案】D 【解析】外层循环i从1到3,内层循环j从1到i。i=1时内层1次,i=2时内层2次,i=3时内层3次,共1+2+3=6次。s自增6次最终值为6。 5. 以下代码的输出结果是 int i; for (i = 1; i <= 6; i++) { if (i % 3 == 0) continue; printf("%d ", i); }( ) A. 输出1 2 3 4 5 B. 输出3 6 C. 输出1 2 4 5 D. 输出2 4 6 【答案】C 【解析】循环从i=1到i=6,当i是3的倍数时continue跳过输出。i为3和6时跳过,i为1、2、4、5时输出。所以输出1 2 4 5。continue跳过当前迭代的剩余语句但不终止循环。 6. 设 int s=0; 执行以下代码后s的值是 for (int i = 2; i <= 10; i++) { int j; for (j = 2; j < i; j++) if (i % j == 0) break; if (j == i) s++; }( ) A. s的值为4 B. s的值为3 C. s的值为5 D. s的值为6 【答案】A 【解析】外层循环遍历2到10的每个数。内层循环检查每个数是否有因子,如果找到因子则break。如果内层循环正常结束j等于i,说明没有找到因子,该数为素数。2到10中的素数有2、3、5、7共4个。所以s的值为4。 7. 以下代码的输出结果是 int i = 1, s = 0; while (i <= 20) { if (i % 2 == 0) { i++; continue; } s += i; i++; if (s > 30) break; } printf("%d", s);( ) A. 输出25 B. 输出30 C. 输出16 D. 输出36 【答案】D 【解析】循环累加1到20中的奇数。i为偶数时i加1后continue跳过。i为奇数时累加到s然后i加1。s累加1、3、5、7、9、11后为36,此时s>30执行break。所以输出36。 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int i = 1, s = 0; while (i <= 3) { for (int j = 1; j <= i; j++) s += j; i++; } printf("%d ", s); return 0; } 【答案】10 【解析】外层while循环i从1到3,内层for循环j从1到i累加j。i=1时s+=1得1,i=2时s+=1+2得4,i=3时s+=1+2+3得10。s的最终值为10。 三、案例分析题 9. 以下程序的功能是:输出1到100之间所有的素数。请填空。 #include <stdio.h> int main() { int i, j; for (i = 2; 【1】; i++) { for (j = 2; j < i; j++) if (【2】) break; if (【3】) printf("%d ", i); } return 0; } 【答案】【1】i <= 100 【2】i % j == 0 【3】j == i 【解析】外层循环遍历2到100的每个数,填i<=100。内层循环检查i是否有因子,判断i能否被j整除,填i%j==0。如果内层循环正常结束则j等于i,说明没有找到因子,该数为素数,填j==i。程序输出1到100之间的所有素数。 四、综合应用题 10. 编写一个C程序:输出斐波那契数列的前20项。斐波那契数列的规律为:前两项都为1,从第三项起每项等于前两项之和。即1, 1, 2, 3, 5, 8, ... 【答案】#include <stdio.h> int main() { int f1 = 1, f2 = 1, f3, i; printf("%d %d ", f1, f2); for (i = 3; i <= 20; i++) { f3 = f1 + f2; printf("%d ", f3); f1 = f2; f2 = f3; } printf(" "); return 0; } 【解析】斐波那契数列前两项为1,从第三项起每项等于前两项之和。用f1和f2保存前两项,f3=f1+f2计算新项。每次计算后更新f1和f2的值向前推移。循环从第3项到第20项,共输出18个新项,加上前2项共20项。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第17练,内容是第4章 循环结构程序设计综合。 《C语言》(第五版)一课一练 第17练 第4章 循环结构程序设计综合 一、单选题 1. 以下关于循环结构的叙述,正确的是( ) A. for循环不能省略循环条件 B. while循环的循环体可能一次也不执行 C. do-while循环可能一次也不执行循环体 D. 三种循环结构不能相互替代 2. 以下for循环执行后s的值是 int i, s = 0; for (i = 1; i <= 10; i++) s += i;( ) A. s的值为55 B. s的值为45 C. s的值为10 D. s的值为50 3. 设 int i=5, s=0; 以下代码执行后s的值是 do { s += i; i--; } while (i > 0);( ) A. s的值为10 B. s的值为5 C. s的值为15 D. s的值为14 4. 设 int s=0; 执行以下代码后s的值是 for(int i=1; i<=3; i++) for(int j=1; j<=i; j++) s++;( ) A. s的值为9 B. s的值为3 C. s的值为12 D. s的值为6 5. 以下代码的输出结果是 int i; for (i = 1; i <= 6; i++) { if (i % 3 == 0) continue; printf("%d ", i); }( ) A. 输出1 2 3 4 5 B. 输出3 6 C. 输出1 2 4 5 D. 输出2 4 6 6. 设 int s=0; 执行以下代码后s的值是 for (int i = 2; i <= 10; i++) { int j; for (j = 2; j < i; j++) if (i % j == 0) break; if (j == i) s++; }( ) A. s的值为4 B. s的值为3 C. s的值为5 D. s的值为6 7. 以下代码的输出结果是 int i = 1, s = 0; while (i <= 20) { if (i % 2 == 0) { i++; continue; } s += i; i++; if (s > 30) break; } printf("%d", s);( ) A. 输出25 B. 输出30 C. 输出16 D. 输出36 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int i = 1, s = 0; while (i <= 3) { for (int j = 1; j <= i; j++) s += j; i++; } printf("%d ", s); return 0; } 三、案例分析题 9. 以下程序的功能是:输出1到100之间所有的素数。请填空。 #include <stdio.h> int main() { int i, j; for (i = 2; 【1】; i++) { for (j = 2; j < i; j++) if (【2】) break; if (【3】) printf("%d ", i); } return 0; } 四、综合应用题 10. 编写一个C程序:输出斐波那契数列的前20项。斐波那契数列的规律为:前两项都为1,从第三项起每项等于前两项之和。即1, 1, 2, 3, 5, 8, ... 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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