内容正文:
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《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的和。这是循环累加的基本模式。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$