第12练 4.1 while循环、4.2 do-while循环 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)

2026-06-25
| 2份
| 10页
| 2人阅读
| 0人下载

资源信息

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

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第12练,内容是4.1 while循环、4.2 do-while循环。 《编程语言基础——C语言》(第5版)一课一练 第12练 4.1 while循环、4.2 do-while循环 一、单选题 1. 以下选项中,while语句的正确格式是( ) A. while(表达式) { 语句序列 } B. while { 语句序列 } (表达式) C. while[表达式] { 语句序列 } D. while(语句序列) { 表达式 } 2. 在while循环中,如果首次判断条件就为假(值为0),循环体将( ) A. 一次也不执行 B. 执行一次后结束 C. 无限循环 D. 执行两次后结束 3. 以下关于while循环三要素的描述中,不正确的是( ) A. 循环变量在while之前需要赋初值 B. while后的括号内是循环继续的条件 C. 循环变量的调整必须写在循环体的第一行 D. 循环变量调整的目的是使循环能够终止 4. 关于do-while语句,正确的描述是( ) A. 先判断条件,再执行循环体 B. 先执行循环体,再判断条件 C. 与while循环的执行过程完全相同 D. 条件为真时循环立即结束 5. 设初始条件为假,比较以下两段程序: 程序1: while(条件){ 循环体; } 程序2: do{ 循环体; }while(条件); 以下说法正确的是( ) A. 程序1执行1次循环体,程序2执行0次 B. 程序1执行1次循环体,程序2执行1次 C. 程序1执行0次循环体,程序2执行1次 D. 两程序都执行0次循环体 6. 对于do-while循环,以下说法正确的是( ) A. do-while语句的while后面不需要加分号 B. 循环体为一条语句时花括号可以省略 C. do-while循环的循环体可能一次都不执行 D. while后必须跟分号,循环体中的花括号不可省略 7. 有以下程序段: int x=0; while(x++<5); printf("%d",x); 程序运行后输出结果是( ) A. 4 B. 6 C. 5 D. 0 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> main() { int s = 0, i = 1; while (i <= 5) { s = s + i * i; i++; } printf("%d", s); } 三、程序填空题 9. 以下程序的功能是:输入一个正整数n,计算1×2×3×...×n的积。请填空。 #include <stdio.h> main() { int n, i; long fact = 1; printf("请输入n:"); scanf("%d", &n); i = 1; while (【1】) { fact = fact * i; i++; } printf("积为:%ld", fact); } 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是输入一个正整数,输出其各位数字之和(例如输入1234,输出10)。程序中有2处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 main() L3 { L4 int num, sum = 0; L5 printf("请输入一个正整数:"); L6 scanf("%d", &num); L7 while (num > 0); L8 { L9 sum = sum + num % 10; L10 num = num \ 10; L11 } L12 printf("各位数字之和为:%d", sum); L13 } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《编程语言基础——C语言》(第5版)《一课一练》第12练,内容是4.1 while循环、4.2 do-while循环。 《编程语言基础——C语言》(第5版)一课一练 第12练 4.1 while循环、4.2 do-while循环 一、单选题 1. 以下选项中,while语句的正确格式是( ) A. while(表达式) { 语句序列 } B. while { 语句序列 } (表达式) C. while[表达式] { 语句序列 } D. while(语句序列) { 表达式 } 【答案】A 【解析】while循环的标准格式为while(表达式){语句序列},其中表达式为循环条件,语句序列为循环体。选项B、C、D的格式均不正确。 2. 在while循环中,如果首次判断条件就为假(值为0),循环体将( ) A. 一次也不执行 B. 执行一次后结束 C. 无限循环 D. 执行两次后结束 【答案】A 【解析】while循环的执行过程是:先判断条件表达式,若条件为真(非0)则执行循环体,否则跳过循环体直接结束。当首次条件就为假时,循环体一次也不执行。 3. 以下关于while循环三要素的描述中,不正确的是( ) A. 循环变量在while之前需要赋初值 B. while后的括号内是循环继续的条件 C. 循环变量的调整必须写在循环体的第一行 D. 循环变量调整的目的是使循环能够终止 【答案】C 【解析】while循环的三个要素为:循环变量赋初值、循环条件、循环变量调整值。循环变量的调整用于使循环条件最终为假从而终止循环,它不一定要写在循环体的第一行,写在循环体内的任何位置均符合要求,关键是逻辑正确。 4. 关于do-while语句,正确的描述是( ) A. 先判断条件,再执行循环体 B. 先执行循环体,再判断条件 C. 与while循环的执行过程完全相同 D. 条件为真时循环立即结束 【答案】B 【解析】do-while循环的执行过程是:先执行一次循环体中的语句,然后判断while后的条件表达式,若条件为真(非0)则继续下一轮循环,否则结束循环。因此do-while是先执行后判断的直到型循环。 5. 设初始条件为假,比较以下两段程序: 程序1: while(条件){ 循环体; } 程序2: do{ 循环体; }while(条件); 以下说法正确的是( ) A. 程序1执行1次循环体,程序2执行0次 B. 程序1执行1次循环体,程序2执行1次 C. 程序1执行0次循环体,程序2执行1次 D. 两程序都执行0次循环体 【答案】C 【解析】这是while与do-while的核心区别:while先判断后执行,初始条件为假时循环体一次都不执行;do-while先执行后判断,即使初始条件为假也至少执行一次循环体。 6. 对于do-while循环,以下说法正确的是( ) A. do-while语句的while后面不需要加分号 B. 循环体为一条语句时花括号可以省略 C. do-while循环的循环体可能一次都不执行 D. while后必须跟分号,循环体中的花括号不可省略 【答案】D 【解析】do-while循环的语法规定:while(表达式)后面必须加分号;同时do-while循环的花括号不能省略,循环体无论包含多少条语句都必须使用花括号。do-while循环至少执行一次循环体。 7. 有以下程序段: int x=0; while(x++<5); printf("%d",x); 程序运行后输出结果是( ) A. 4 B. 6 C. 5 D. 0 【答案】B 【解析】x++<5为后缀自增,每次先比较再自增。追踪:x=0时0<5为真→x=1;x=1时1<5为真→x=2;... x=4时4<5为真→x=5;x=5时5<5为假→x=6,循环结束,输出6。注意分号表示空循环体。 二、程序运行结果题 8. 以下程序的运行结果是【··】。 #include <stdio.h> main() { int s = 0, i = 1; while (i <= 5) { s = s + i * i; i++; } printf("%d", s); } 【答案】55 【解析】程序计算1^2+2^2+3^2+4^2+5^2=1+4+9+16+25=55。循环变量i从1递增到5,每次将i*i累加到s中。 三、程序填空题 9. 以下程序的功能是:输入一个正整数n,计算1×2×3×...×n的积。请填空。 #include <stdio.h> main() { int n, i; long fact = 1; printf("请输入n:"); scanf("%d", &n); i = 1; while (【1】) { fact = fact * i; i++; } printf("积为:%ld", fact); } 【答案】i <= n 【解析】程序使用while循环计算阶乘,循环条件应为i<=n,表示i从1累乘到n。当i>n时循环结束,此时fact中存放的即为n!的值。 四、阅读程序改错题 10. 阅读以下程序,该程序的功能是输入一个正整数,输出其各位数字之和(例如输入1234,输出10)。程序中有2处错误,请指出错误所在行号并修改正确,不许增删行,在原行上修改。 L1 #include <stdio.h> L2 main() L3 { L4 int num, sum = 0; L5 printf("请输入一个正整数:"); L6 scanf("%d", &num); L7 while (num > 0); L8 { L9 sum = sum + num % 10; L10 num = num \ 10; L11 } L12 printf("各位数字之和为:%d", sum); L13 } 【答案】【1】L7: while (num > 0); → 修改为 while (num > 0)(去除多余分号,分号使花括号块不属于循环体) 【2】L10: num = num \ 10; → 修改为 num = num / 10;(C语言除法运算符是正斜杠/,反斜杠\是转义字符) 【解析】错误1:while(条件);表示空循环体,分号使后面的花括号块不再属于循环体。错误2:C语言中除法运算符是正斜杠/,反斜杠\是转义字符。这两处错误都导致程序逻辑完全错误。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第12练 4.1 while循环、4.2 do-while循环 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)
1
第12练 4.1 while循环、4.2 do-while循环 《编程语言基础——C语言》 (第5版) 一课一练 (湖南)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。