内容正文:
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第33卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第33卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.以下for循环执行次数为( )
for(int i=5; i>0; i-=2);
A. 3次
B. 2次
C. 5次
D. 无限循环
2.以下代码的功能是( )
int sum=0, num;
while(scanf("%d", &num), num>0) {
sum += num;
}
A. 累加正数直到输入负数
B. 计算平均数
C. 统计输入次数
D. 累加所有数
3.若变量k初始值为0,则以下循环体执行次数是( )
while(k=1) k++;
A. 0次
B. 1次
C. 无限次
D. 语法错误
4.以下代码段的输出是( )
for(int i=1; i<=3; i++) {
for(int j=1; j<=i; j++) printf("*");
printf("
");
}
A. *
**
***
B. ***
**
*
C. *
***
*****
D. **
***
****
5.以下代码段的执行次数是( )
int k=0;
while(k < 5) {
if(k == 3) break;
k++;
}
A. 3次
B. 4次
C. 5次
D. 无限循环
6.以下代码的输出是( )
int a=10, b=0;
while(a > ++b) a -= 2;
printf("%d,%d", a, b);
A. 8,2
B. 2,5
C. 4,4
D. 6,3
7.以下代码的输出是( )
for (int i=1; i<=3; i++) {
for (int j=1; j<=i; j++) {
printf("%d", j);
}
}
A. 112123
B. 123
C. 123123
D. 123456
8.以下代码的功能是( )
int num, sum = 0;
do {
scanf("%d", &num);
sum += num;
} while (num != 0);
printf("%d", sum);
A. 累加所有输入的数
B. 累加正数直到输入0
C. 累加非零数
D. 累加输入的第一个数
9.若变量k初始值为0,则以下循环体执行次数是( )
while(k=1) k++;
A. 0次
B. 1次
C. 无限次
D. 语法错误
10.以下关于 while、do…while、for 循环语句的说法,正确的是( )
A. while 循环至少会执行一次循环体
B. do…while 循环的条件判断在循环体执行之后
C. for 循环不能用于不确定次数的循环
D. do…while 循环和 while 循环功能完全相同
11.以下代码中 while 循环的执行次数是( )
int i = 0;
while (i < 5) {
i++;
}
A. 0 次
B. 4 次
C. 5 次
D. 6 次
12.以下代码的输出结果是( )
int i = 0;
do {
printf("%d ", i);
i++;
} while (i < 3);
A. 0 1 2
B. 0 1 2 3
C. 1 2 3
D. 无输出
13.以下代码的输出结果是( )
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
printf("%d %d
", i, j);
}
}
A.
0 0
0 1
1 0
1 1
B.
0 0
1 0
0 1
1 1
C.
0 0
0 1
D.
0 0
1 1
14.在循环中,continue 语句的作用是( )
A. 结束本次循环,进入下一次循环
B. 结束整个循环
C. 跳过本次循环的剩余部分,进入下一次循环
D. 暂停循环,等待用户输入
15.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
continue;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 程序陷入死循环
C. 0 1 2 4
D. 0 1 2 3 4
16.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 1) {
i = 3;
continue;
}
printf("%d ", i);
i++;
}
A. 无输出
B. 0
C. 0 3
D. 0 3 4
17.以下代码实现了找出 1 到 10 之间第一个能被 3 整除的数,其中空白处应填入( )
for (int i = 1; i <= 10; i++) {
if (______) {
printf("%d
", i);
break;
}
}
A. i % 3 == 0
B. i % 3 == 1
C. i > 5
D. i < 5
18.以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
printf("X");
} else {
printf("O");
}
}
printf("
");
}
A.XXX
XXX
XXX
B.OOO
OOO
OOO
C.XOO
OXO
OOX
D.无输出
19.以下代码的输出结果是( )
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
if (j % 2 == 0) {
continue;
}
printf("%d ", j);
}
printf("
");
}
A.
1
1
1 3
1 3
B.
1
1 2
1 2 3
1 2 3 4
C.
1
1 3
1 3 5
1 3 5 7
D. 无输出
20.以下代码的输出结果是( )
int i = 0;
while (i < 3) {
int j = 0;
do {
if (i == j) {
break;
}
printf("%d %d
", i, j);
j++;
} while (j < 2);
i++;
}
A.
0 1
1 0
2 0
2 1
B.
0 1
1 0
1 1
2 0
2 1
C.
0 1
1 0
1 1
2 0
D.
0 1
1 0
2 0
二、判断题(本大题共10小题,每小题1分,共10分)
1.for循环适合处理循环次数不确定的场景。( )
2.执行以下代码后输出为"1 2 3 4"( )
for(int i=1; i<=4; i++) printf("%d ",i);
3.不同类型的循环不能互相嵌套。( )
4.嵌套循环中内层循环的变量名可以与外层相同。( )
5.在 C 语言中,while 循环和 do…while 循环的区别在于 while 循环先判断条件再执行循环体,而 do…while 循环先执行一次循环体再判断条件。( )
6.for 循环只能用于已知循环次数的情况,不能用于循环次数不确定的情况。( )
7.若想用循环实现从 1 加到 100 的和,用 for 循环是不合适的。( )
8.循环嵌套的层数没有限制,但层数过多会使程序复杂度增加。( )
9.continue 语句的作用是结束整个循环。( )
10.若要在循环中跳过某些特定值的处理,使用 continue 语句是合适的。( )
三、填空题(本大题共5小题,每题3分,共15分)
1.在循环中,______语句用于立即终止当前所在的循环,执行循环后面的语句。
2.若要找出 1 到 100 中所有能被 9 整除的数,在循环中使用______语句可以在不满足条件时跳过本次循环。
3.在循环嵌套中,若外层循环条件变为假,内层循环会______行。
4.以下代码中,continue语句用于跳过______数
for(int i=1; i<=5; i++) {
if(i%2 == 0) continue;
printf("%d ", i);
}
5.以下代码中,内层循环体执行次数为______次
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) printf("*");
}
四、应用题(本大题共2小题,共15分)
1.补全代码,计算 n 的阶乘
#include <stdio.h>
int main() {
int n, fact = 1;
scanf("%d", &n);
for (int i = 1;______ ; ______) {
fact = ______;
}
printf("%d 的阶乘为: %d
", n, fact);
return 0;
}
2. 补全代码,输出九九乘法表
#include <stdio.h>
int main() {
for (int i = 1;______; i++) {
for (int j = 1; ______; j++) {
printf("%d * %d = %d ", i, j, i * j);
}
printf("
");
}
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第33卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第33卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.以下for循环执行次数为( )
for(int i=5; i>0; i-=2);
A. 3次
B. 2次
C. 5次
D. 无限循环
答案:A
2.以下代码的功能是( )
int sum=0, num;
while(scanf("%d", &num), num>0) {
sum += num;
}
A. 累加正数直到输入负数
B. 计算平均数
C. 统计输入次数
D. 累加所有数
答案:A
3.若变量k初始值为0,则以下循环体执行次数是( )
while(k=1) k++;
A. 0次
B. 1次
C. 无限次
D. 语法错误
答案:C
4.以下代码段的输出是( )
for(int i=1; i<=3; i++) {
for(int j=1; j<=i; j++) printf("*");
printf("
");
}
A. *
**
***
B. ***
**
*
C. *
***
*****
D. **
***
****
答案:A
5.以下代码段的执行次数是( )
int k=0;
while(k < 5) {
if(k == 3) break;
k++;
}
A. 3次
B. 4次
C. 5次
D. 无限循环
答案:A
6.以下代码的输出是( )
int a=10, b=0;
while(a > ++b) a -= 2;
printf("%d,%d", a, b);
A. 8,2
B. 2,5
C. 4,4
D. 6,3
答案:C
7.以下代码的输出是( )
for (int i=1; i<=3; i++) {
for (int j=1; j<=i; j++) {
printf("%d", j);
}
}
A. 112123
B. 123
C. 123123
D. 123456
答案:A
8.以下代码的功能是( )
int num, sum = 0;
do {
scanf("%d", &num);
sum += num;
} while (num != 0);
printf("%d", sum);
A. 累加所有输入的数
B. 累加正数直到输入0
C. 累加非零数
D. 累加输入的第一个数
答案:C
9.若变量k初始值为0,则以下循环体执行次数是( )
while(k=1) k++;
A. 0次
B. 1次
C. 无限次
D. 语法错误
答案:C
10.以下关于 while、do…while、for 循环语句的说法,正确的是( )
A. while 循环至少会执行一次循环体
B. do…while 循环的条件判断在循环体执行之后
C. for 循环不能用于不确定次数的循环
D. do…while 循环和 while 循环功能完全相同
答案:B
11.以下代码中 while 循环的执行次数是( )
int i = 0;
while (i < 5) {
i++;
}
A. 0 次
B. 4 次
C. 5 次
D. 6 次
答案:C
12.以下代码的输出结果是( )
int i = 0;
do {
printf("%d ", i);
i++;
} while (i < 3);
A. 0 1 2
B. 0 1 2 3
C. 1 2 3
D. 无输出
答案:A
13.以下代码的输出结果是( )
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
printf("%d %d
", i, j);
}
}
A.
0 0
0 1
1 0
1 1
B.
0 0
1 0
0 1
1 1
C.
0 0
0 1
D.
0 0
1 1
答案:A
14.在循环中,continue 语句的作用是( )
A. 结束本次循环,进入下一次循环
B. 结束整个循环
C. 跳过本次循环的剩余部分,进入下一次循环
D. 暂停循环,等待用户输入
答案:C
15.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
continue;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 程序陷入死循环
C. 0 1 2 4
D. 0 1 2 3 4
答案:B
16.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 1) {
i = 3;
continue;
}
printf("%d ", i);
i++;
}
A. 无输出
B. 0
C. 0 3
D. 0 3 4
答案:D
17.以下代码实现了找出 1 到 10 之间第一个能被 3 整除的数,其中空白处应填入( )
for (int i = 1; i <= 10; i++) {
if (______) {
printf("%d
", i);
break;
}
}
A. i % 3 == 0
B. i % 3 == 1
C. i > 5
D. i < 5
答案:A
18.以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
printf("X");
} else {
printf("O");
}
}
printf("
");
}
A.XXX
XXX
XXX
B.OOO
OOO
OOO
C.XOO
OXO
OOX
D.无输出
答案:C
19.以下代码的输出结果是( )
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
if (j % 2 == 0) {
continue;
}
printf("%d ", j);
}
printf("
");
}
A.
1
1
1 3
1 3
B.
1
1 2
1 2 3
1 2 3 4
C.
1
1 3
1 3 5
1 3 5 7
D. 无输出
答案:A
20.以下代码的输出结果是( )
int i = 0;
while (i < 3) {
int j = 0;
do {
if (i == j) {
break;
}
printf("%d %d
", i, j);
j++;
} while (j < 2);
i++;
}
A.
0 1
1 0
2 0
2 1
B.
0 1
1 0
1 1
2 0
2 1
C.
0 1
1 0
1 1
2 0
D.
0 1
1 0
2 0
答案:A
二、判断题(本大题共10小题,每小题1分,共10分)
1.for循环适合处理循环次数不确定的场景。( )
答案:×
2.执行以下代码后输出为"1 2 3 4"( )
for(int i=1; i<=4; i++) printf("%d ",i);
答案:√
3.不同类型的循环不能互相嵌套。( )
答案:×
4.嵌套循环中内层循环的变量名可以与外层相同。( )
答案:×
5.在 C 语言中,while 循环和 do…while 循环的区别在于 while 循环先判断条件再执行循环体,而 do…while 循环先执行一次循环体再判断条件。( )
答案:√
6.for 循环只能用于已知循环次数的情况,不能用于循环次数不确定的情况。( )
答案:×
7.若想用循环实现从 1 加到 100 的和,用 for 循环是不合适的。( )
答案:×
8.循环嵌套的层数没有限制,但层数过多会使程序复杂度增加。( )
答案:√
9.continue 语句的作用是结束整个循环。( )
答案:×
10.若要在循环中跳过某些特定值的处理,使用 continue 语句是合适的。( )
答案:√
三、填空题(本大题共5小题,每题3分,共15分)
1.在循环中,______语句用于立即终止当前所在的循环,执行循环后面的语句。
答案:break
2.若要找出 1 到 100 中所有能被 9 整除的数,在循环中使用______语句可以在不满足条件时跳过本次循环。
答案:continue
3.在循环嵌套中,若外层循环条件变为假,内层循环会______行。
答案:停止
4.以下代码中,continue语句用于跳过______数
for(int i=1; i<=5; i++) {
if(i%2 == 0) continue;
printf("%d ", i);
}
答案:偶
5.以下代码中,内层循环体执行次数为______次
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) printf("*");
}
答案:6
四、应用题(本大题共2小题,共15分)
1.补全代码,计算 n 的阶乘
#include <stdio.h>
int main() {
int n, fact = 1;
scanf("%d", &n);
for (int i = 1;______ ; ______) {
fact = ______;
}
printf("%d 的阶乘为: %d
", n, fact);
return 0;
}
答案:i <= n,i++,fact * i
2. 补全代码,输出九九乘法表
#include <stdio.h>
int main() {
for (int i = 1;______; i++) {
for (int j = 1; ______; j++) {
printf("%d * %d = %d ", i, j, i * j);
}
printf("
");
}
return 0;
}
答案: i <= 9,j <= i
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$