内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-C语言》(高教版第5版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础-C语言》(高教版第5版)一课一练的第4章的第20练,内容涵盖第4章 循环结构程序设计的4.4 多重循环。
《编程语言基础-C语言》(高教版第5版)第20练
第4章 循环结构程序设计
4.4 多重循环(解析版)
一、单项选择题(本题共5小题)
1、以下关于多重循环的描述中,正确的是( )
A. 外层循环执行一次,内层循环执行一次
B. 外层循环执行一次,内层循环执行完所有次数
C. 内外层循环同时执行
D. 内层循环执行一次,外层循环执行完所有次数
2、以下程序的输出结果是( )
#include <stdio.h>
main() {
int i, j;
for(i = 1; i <= 3; i++) {
for(j = 1; j <= 2; j++) {
printf("*");
}
printf("
");
}
}
A. **
B. **
**
**
C.
D. ** ** **
3、在多重循环中,若在内层循环中使用break语句,则( )
A. 终止所有循环
B. 终止整个程序
C. 终止所在的内层循环,继续执行外层循环的下一轮
D. 终止外层循环
4、下列选项中,能够正确输出以下图案的是( )
*
**
***
A. for(i=1; i<=3; i++) {
for(j=1; j<=3; j++) printf("*");
printf("
");
}
B. for(i=1; i<=3; i++) {
for(j=1; j<=i; j++) printf("*");
printf("
");
}
C. for(i=1; i<=3; i++) {
for(j=3; j>=i; j--) printf("*");
printf("
");
}
D. for(i=1; i<=3; i++) {
for(j=1; j<=3-i; j++) printf("*");
printf("
");
}
5、以下程序运行后,输出结果中“*”的个数是( )
#include <stdio.h>
main() {
int i, j;
for(i=1; i<=3; i++) {
for(j=1; j<=4; j++) {
if(j % 2 == 0) continue;
printf("*");
}
}
}
A. 3
B. 4
C. 6
D. 12
二、判断题(本题共5小题)
1、多重循环中,内层循环的循环变量可以和外层循环的循环变量使用同一个变量名。( )
2、在嵌套循环中,continue 语句只能跳过本次循环的剩余语句,不影响外层循环。( )
3、以下代码片段可以正常结束循环,不会出现死循环。( )
int i = 0, j;
while(i < 3) {
j = 0;
while(j < 2) {
printf("ok");
}
i++;
}
4、多重循环的执行效率与内外层循环的嵌套顺序无关。( )
5、使用多重循环时,必须保证内外层循环的循环次数相同。( )
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础-C语言》(高教版第5版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础-C语言》(高教版第5版)一课一练的第4章的第20练,内容涵盖第4章 循环结构程序设计的4.4 多重循环。
《编程语言基础-C语言》(高教版第5版)第20练
第4章 循环结构程序设计
4.4 多重循环(解析版)
一、单项选择题(本题共5小题)
1、以下关于多重循环的描述中,正确的是( )
A. 外层循环执行一次,内层循环执行一次
B. 外层循环执行一次,内层循环执行完所有次数
C. 内外层循环同时执行
D. 内层循环执行一次,外层循环执行完所有次数
【答案】B
【解析】在多重循环中,外层循环每执行一次,内层循环都会完整地执行所有次数,直到内层循环条件不满足为止。
2、以下程序的输出结果是( )
#include <stdio.h>
main() {
int i, j;
for(i = 1; i <= 3; i++) {
for(j = 1; j <= 2; j++) {
printf("*");
}
printf("
");
}
}
A. **
B. **
**
**
C.
D. ** ** **
【答案】C
【解析】外层循环执行3次,每次内层循环输出2个“*”,然后输出换行,因此最终输出三行,每行两个星号。
3、在多重循环中,若在内层循环中使用break语句,则( )
A. 终止所有循环
B. 终止整个程序
C. 终止所在的内层循环,继续执行外层循环的下一轮
D. 终止外层循环
【答案】C
【解析】break在循环中只能终止其所在的当前循环层,不会影响外层循环的执行。
4、下列选项中,能够正确输出以下图案的是( )
*
**
***
A. for(i=1; i<=3; i++) {
for(j=1; j<=3; j++) printf("*");
printf("
");
}
B. for(i=1; i<=3; i++) {
for(j=1; j<=i; j++) printf("*");
printf("
");
}
C. for(i=1; i<=3; i++) {
for(j=3; j>=i; j--) printf("*");
printf("
");
}
D. for(i=1; i<=3; i++) {
for(j=1; j<=3-i; j++) printf("*");
printf("
");
}
【答案】B
【解析】图案中第 i 行有 i 个“*”,因此内层循环变量 j 的范围应为 1 到 i。
5、以下程序运行后,输出结果中“*”的个数是( )
#include <stdio.h>
main() {
int i, j;
for(i=1; i<=3; i++) {
for(j=1; j<=4; j++) {
if(j % 2 == 0) continue;
printf("*");
}
}
}
A. 3
B. 4
C. 6
D. 12
【答案】C
【解析】内层循环 j 从 1 到 4,当 j 为奇数时输出“*”,即 j=1 和 j=3 时输出,共输出 2 次。外层循环执行 3 次,因此总共输出 2×3=6 个“*”。
二、判断题(本题共5小题)
1、多重循环中,内层循环的循环变量可以和外层循环的循环变量使用同一个变量名。( )
【答案】√
【解析】C语言允许内外层循环使用相同的变量名,但内层循环会覆盖外层循环变量的值,容易造成逻辑错误,实际编程中应避免。
2、在嵌套循环中,continue 语句只能跳过本次循环的剩余语句,不影响外层循环。( )
【答案】√
【解析】continue 和 break 类似,只作用于它所在的循环层,不会直接影响到外层循环的执行。
3、以下代码片段可以正常结束循环,不会出现死循环。( )
int i = 0, j;
while(i < 3) {
j = 0;
while(j < 2) {
printf("ok");
}
i++;
}
【答案】×
【解析】内层循环中缺少改变条件 j 的语句,导致内层循环无限执行,程序进入死循环,无法执行 i++,因此无法正常结束。
4、多重循环的执行效率与内外层循环的嵌套顺序无关。( )
【答案】×
【解析】循环次数相同时,将循环次数少的循环放在外层,次数多的放在内层,可以减少循环切换的次数,提高执行效率。
5、使用多重循环时,必须保证内外层循环的循环次数相同。( )
【答案】×
【解析】多重循环中内外层循环的次数可以不同,内层循环的次数可以根据外层循环变量或固定值进行变化,如打印三角形图案时,每行星号个数不同。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$