内容正文:
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言》(第五版)《一课一练》第15练,内容是4.4-4.5 循环嵌套、break与continue语句。
《C语言》(第五版)一课一练 第15练
4.4-4.5 循环嵌套、break与continue语句
一、单选题
1. 以下关于break语句的叙述,正确的是( )
A. break语句可以用于switch语句和循环语句
B. break语句可以用于if语句
C. break语句可以同时跳出多层循环
D. break语句适用于for循环而不适用于其他循环
【答案】A
【解析】break语句有两种用途:在switch中跳出switch结构,在循环中跳出当前循环,A选项正确。break不能用于if语句,B选项错误。break一次跳出的是最内层的循环,C选项错误。break可以用于while、do-while和for三种循环,D选项错误。
2. 以下关于continue语句的叙述,正确的是( )
A. continue语句可以用于switch语句
B. continue语句可以跳出当前循环
C. continue语句和break语句功能相同
D. continue语句的作用是跳过本次循环剩余语句进入下一次循环
【答案】D
【解析】continue语句的作用是跳过本次循环中剩余的语句,直接进入下一次循环条件的判断,D选项正确。continue不能用于switch语句,A选项错误。跳出循环需要用break,B选项错误。continue和break功能不同,C选项错误。
3. 设 int i, j, s=0; 执行以下代码后s的值是
for(i=1; i<=3; i++)
for(j=1; j<=2; j++)
s++;( )
A. s的值为5
B. s的值为6
C. s的值为3
D. s的值为2
【答案】B
【解析】外层循环i从1到3执行3次,内层循环j从1到2执行2次。每次内层循环s自增1。内层循环执行2次s增加2,外层循环执行3次,s总共增加3*2=6。所以s的值为6。
4. 以下代码的输出结果是
int i;
for(i=1; i<=5; i++)
{
if(i==3) break;
printf("%d ", i);
}( )
A. 输出1 2
B. 输出1 2 3
C. 输出1 2 4 5
D. 输出1 2 3 4 5
【答案】A
【解析】循环从i=1开始,当i为3时执行break跳出循环。i为1和2时正常输出,i为3时遇到break直接退出。所以输出1 2,后面的4和5不会被输出。break会终止整个循环。
5. 以下代码的输出结果是
int i;
for(i=1; i<=5; i++)
{
if(i==3) continue;
printf("%d ", i);
}( )
A. 输出1 2
B. 输出1 2 3 4 5
C. 输出1 2 4 5
D. 输出4 5
【答案】C
【解析】循环从i=1到i=5,当i为3时执行continue跳过本次循环的printf语句。i为1、2、4、5时正常输出。continue不会终止循环,而是跳过当前这一次的剩余语句。所以输出1 2 4 5。
6. 设 int s=0; 执行以下代码后s的值是
for(int i=1; i<=4; i++)
{
for(int j=1; j<=4; j++)
{
if(j==3) break;
s++;
}
}( )
A. s的值为16
B. s的值为12
C. s的值为4
D. s的值为8
【答案】D
【解析】外层循环执行4次。内层循环j从1到4,当j为3时break跳出内层循环。内层循环每次执行2次s++后跳出。4次外层循环共执行8次s++。所以s的值为8。break跳出的是内层循环,外层循环不受影响。
7. 以下代码的输出结果是
int i, s=0;
for(i=1; i<=5; i++)
{
if(i%2==0) continue;
if(i>4) break;
s += i;
}
printf("%d", s);( )
A. 输出1
B. 输出9
C. 输出4
D. 输出5
【答案】C
【解析】循环从i=1到i=5,i为偶数时continue跳过。i为1时s=1,i为3时s=4。i为5时5>4为真执行break跳出循环。s的值为4。break和continue配合使用实现了筛选奇数并在满足条件时终止。
二、简答题
8. 以下程序的运行结果是【 】。
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 3; i++)
{
for (j = 1; j <= 3; j++)
{
if (j == 2) continue;
printf("%d%d ", i, j);
}
}
return 0;
}
【答案】11 13 21 23 31 33
【解析】外层循环i从1到3,内层循环j从1到3。当j为2时continue跳过本次内层循环的printf。因此每个i值输出两个数:j为1和3的情况。输出结果为11 13 21 23 31 33。
三、案例分析题
9. 以下程序的功能是:输出以下图形,请填空。
*
**
***
****
*****
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; 【1】; i++)
{
for (j = 1; 【2】; j++)
printf("*");
【3】;
}
return 0;
}
【答案】【1】i <= 5
【2】j <= i
【3】printf("
")
【解析】外层循环控制行数,i从1到5,填i<=5。内层循环控制每行星号个数,第i行输出i个星号,填j<=i。每行输出完毕后需要换行,填printf("\
")。程序共输出5行,第1行1个星号,第2行2个,以此类推。
四、综合应用题
10. 编写一个C程序:使用双重循环打印九九乘法表,格式为每行输出j*i=乘积,例如第1行输出1*1=1,第2行输出1*2=2 2*2=4,以此类推。
【答案】#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
printf("%d*%d=%-4d", j, i, i * j);
printf("
");
}
return 0;
}
【解析】九九乘法表用双重循环实现。外层循环i从1到9控制行,内层循环j从1到i控制列。每行输出j*i的乘积,格式为j*i=结果。%-4d表示左对齐占4位宽度,使输出对齐。每行输出完毕后换行。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。
本卷是《C语言》(第五版)《一课一练》第15练,内容是4.4-4.5 循环嵌套、break与continue语句。
《C语言》(第五版)一课一练 第15练
4.4-4.5 循环嵌套、break与continue语句
一、单选题
1. 以下关于break语句的叙述,正确的是( )
A. break语句可以用于switch语句和循环语句
B. break语句可以用于if语句
C. break语句可以同时跳出多层循环
D. break语句适用于for循环而不适用于其他循环
2. 以下关于continue语句的叙述,正确的是( )
A. continue语句可以用于switch语句
B. continue语句可以跳出当前循环
C. continue语句和break语句功能相同
D. continue语句的作用是跳过本次循环剩余语句进入下一次循环
3. 设 int i, j, s=0; 执行以下代码后s的值是
for(i=1; i<=3; i++)
for(j=1; j<=2; j++)
s++;( )
A. s的值为5
B. s的值为6
C. s的值为3
D. s的值为2
4. 以下代码的输出结果是
int i;
for(i=1; i<=5; i++)
{
if(i==3) break;
printf("%d ", i);
}( )
A. 输出1 2
B. 输出1 2 3
C. 输出1 2 4 5
D. 输出1 2 3 4 5
5. 以下代码的输出结果是
int i;
for(i=1; i<=5; i++)
{
if(i==3) continue;
printf("%d ", i);
}( )
A. 输出1 2
B. 输出1 2 3 4 5
C. 输出1 2 4 5
D. 输出4 5
6. 设 int s=0; 执行以下代码后s的值是
for(int i=1; i<=4; i++)
{
for(int j=1; j<=4; j++)
{
if(j==3) break;
s++;
}
}( )
A. s的值为16
B. s的值为12
C. s的值为4
D. s的值为8
7. 以下代码的输出结果是
int i, s=0;
for(i=1; i<=5; i++)
{
if(i%2==0) continue;
if(i>4) break;
s += i;
}
printf("%d", s);( )
A. 输出1
B. 输出9
C. 输出4
D. 输出5
二、简答题
8. 以下程序的运行结果是【 】。
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 3; i++)
{
for (j = 1; j <= 3; j++)
{
if (j == 2) continue;
printf("%d%d ", i, j);
}
}
return 0;
}
三、案例分析题
9. 以下程序的功能是:输出以下图形,请填空。
*
**
***
****
*****
#include <stdio.h>
int main()
{
int i, j;
for (i = 1; 【1】; i++)
{
for (j = 1; 【2】; j++)
printf("*");
【3】;
}
return 0;
}
四、综合应用题
10. 编写一个C程序:使用双重循环打印九九乘法表,格式为每行输出j*i=乘积,例如第1行输出1*1=1,第2行输出1*2=2 2*2=4,以此类推。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$