第13练 4.1-4.2 while循环、do...while循环 《C语言》 (第五版) 一课一练 (山东省)

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

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第13练,内容是4.1-4.2 while循环、do...while循环。 《C语言》(第五版)一课一练 第13练 4.1-4.2 while循环、do...while循环 一、单选题 1. 以下关于while循环的叙述,正确的是( ) A. while循环至少执行一次循环体 B. while循环的循环体至少执行两次 C. while循环结束后循环变量的值一定为0 D. while循环先判断条件再执行循环体 2. 以下关于do-while循环的叙述,正确的是( ) A. do-while循环先判断条件再执行循环体 B. do-while循环的while后面不需要分号 C. do-while循环至少执行一次循环体 D. do-while循环与while循环完全相同 3. 设 int i=0, s=0; 执行以下代码后s的值是 while (i < 5) { s += i; i++; }( ) A. s的值为10 B. s的值为15 C. s的值为5 D. s的值为0 4. 设 int i=0; 执行以下代码后i的值是 do { i++; } while (i < 3);( ) A. i的值为2 B. i的值为4 C. i的值为1 D. i的值为3 5. 设 int n=123, s=0; 执行以下代码后s的值是 while (n > 0) { s += n % 10; n /= 10; }( ) A. s的值为123 B. s的值为6 C. s的值为321 D. s的值为12 6. 设 int i=1, s=1; 执行以下代码后s的值是 while (i < 5) { s *= i; i++; }( ) A. s的值为24 B. s的值为120 C. s的值为15 D. s的值为5 7. 以下代码的输出结果是 int i=0; do { printf("%d ", i); i += 2; } while (i < 7);( ) A. 输出0 2 4 6 8 B. 输出1 3 5 C. 输出0 2 4 6 D. 输出2 4 6 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int i = 1, s = 0; while (i <= 10) { if (i % 2 == 0) s += i; i++; } printf("%d ", s); return 0; } 三、案例分析题 9. 以下程序的功能是:输入一个正整数,求它的位数。请填空。 #include <stdio.h> int main() { int n, count = 0; scanf("%d", &n); while (【1】) { n /= 10; 【2】; } printf("%d ", 【3】); return 0; } 四、综合应用题 10. 编写一个C程序:使用while循环求1+2+3+...+100的和,并输出结果。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第13练,内容是4.1-4.2 while循环、do...while循环。 《C语言》(第五版)一课一练 第13练 4.1-4.2 while循环、do...while循环 一、单选题 1. 以下关于while循环的叙述,正确的是( ) A. while循环至少执行一次循环体 B. while循环的循环体至少执行两次 C. while循环结束后循环变量的值一定为0 D. while循环先判断条件再执行循环体 【答案】D 【解析】while循环的执行流程是先判断条件表达式,条件为真时执行循环体,然后再判断条件。D选项正确描述了while循环的执行顺序。A选项描述的是do-while循环的特点,while循环可能一次都不执行。B选项错误,循环体可能执行零次乃至多次。C选项错误,循环变量的值取决于具体的循环条件。 2. 以下关于do-while循环的叙述,正确的是( ) A. do-while循环先判断条件再执行循环体 B. do-while循环的while后面不需要分号 C. do-while循环至少执行一次循环体 D. do-while循环与while循环完全相同 【答案】C 【解析】do-while循环先执行循环体再判断条件,因此至少执行一次循环体,C选项正确。A选项描述的是while循环的特点。do-while语句中while后面必须有分号,B选项错误。do-while与while的执行顺序不同,D选项错误。 3. 设 int i=0, s=0; 执行以下代码后s的值是 while (i < 5) { s += i; i++; }( ) A. s的值为10 B. s的值为15 C. s的值为5 D. s的值为0 【答案】A 【解析】循环从i=0开始,每次将i累加到s中再将i加1。当i为0、1、2、3、4时分别累加,i变为5时条件不满足退出循环。s的值为0+1+2+3+4=10。所以s的最终值为10。 4. 设 int i=0; 执行以下代码后i的值是 do { i++; } while (i < 3);( ) A. i的值为2 B. i的值为4 C. i的值为1 D. i的值为3 【答案】D 【解析】do-while循环先执行循环体再判断条件。i从0开始,每次i自增1。i为1时1<3为真继续,i为2时2<3为真继续,i为3时3<3为假退出。所以i的最终值为3。 5. 设 int n=123, s=0; 执行以下代码后s的值是 while (n > 0) { s += n % 10; n /= 10; }( ) A. s的值为123 B. s的值为6 C. s的值为321 D. s的值为12 【答案】B 【解析】循环每次取n的个位数n%10累加到s,再将n除以10去掉个位。123的各位数字为1、2、3,累加结果为6。这个程序的功能是求整数各位数字之和。所以s的值为6。 6. 设 int i=1, s=1; 执行以下代码后s的值是 while (i < 5) { s *= i; i++; }( ) A. s的值为24 B. s的值为120 C. s的值为15 D. s的值为5 【答案】A 【解析】循环从i=1开始,每次将s乘以i再将i加1。s依次变为1、2、6、24。当i为5时条件不满足退出循环。所以s的值为24,这是1到4的累乘结果。 7. 以下代码的输出结果是 int i=0; do { printf("%d ", i); i += 2; } while (i < 7);( ) A. 输出0 2 4 6 8 B. 输出1 3 5 C. 输出0 2 4 6 D. 输出2 4 6 【答案】C 【解析】do-while循环先输出i再让i加2。i依次为0、2、4、6时分别输出,i变为8时8<7为假退出循环。输出结果为0 2 4 6。do-while保证循环体至少执行一次,即使初始条件不满足也会先执行一次。 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int i = 1, s = 0; while (i <= 10) { if (i % 2 == 0) s += i; i++; } printf("%d ", s); return 0; } 【答案】30 【解析】循环从i=1到i=10,当i为偶数时将i累加到s中。偶数有2、4、6、8、10,累加结果为30。循环结束后输出s的值30。程序的功能是求1到10中所有偶数之和。 三、案例分析题 9. 以下程序的功能是:输入一个正整数,求它的位数。请填空。 #include <stdio.h> int main() { int n, count = 0; scanf("%d", &n); while (【1】) { n /= 10; 【2】; } printf("%d ", 【3】); return 0; } 【答案】【1】n != 0 【2】count++ 【3】count 【解析】求整数位数的方法是不断除以10并计数。循环条件为n不等于0,填n!=0。每次循环将n除以10去掉一位,同时计数器加1,填count++。最后输出位数,填count。例如输入123,循环三次后n为0,count为3。 四、综合应用题 10. 编写一个C程序:使用while循环求1+2+3+...+100的和,并输出结果。 【答案】#include <stdio.h> int main() { int i = 1, sum = 0; while (i <= 100) { sum += i; i++; } printf("%d ", sum); return 0; } 【解析】使用while循环实现1到100的累加。循环变量i从1开始,每次将i加到sum中再将i加1。当i超过100时退出循环。sum的最终值为5050,即1到100的和。这是循环累加的基本模式。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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