内容正文:
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第32卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第32卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.以下代码的输出是( )
int i=3;
do {
printf("%d", i--);
} while(i>0);
A. 321
B. 3210
C. 32
D. 3
答案:A
2.在循环嵌套中,break语句会跳出( )
A. 所有循环
B. 最近一层循环
C. 外层循环
D. 程序
答案:B
3.以下代码的输出结果是( )
int a=-2, b=0;
while(a++ && ++b);
printf("%d,%d", a, b);
A. 0,2
B. 1,2
C. 1,3
D. 2,3
答案:B
4.以下代码的输出是( )
int i=0, sum=1;
do { sum += i++; } while(i<5);
printf("%d", sum);
A. 11
B. 10
C. 15
D. 6
答案:A
5.以下代码段的循环次数是( )
int i=10;
do { i--; } while(i>5);
A. 无限循环
B. 7次
C. 6次
D. 5次
答案:D
6.以下代码的功能跟下列相同的是( )
int sum=0, k=1;
for(int i=1; i<=9; i+=2) {
sum += i*k;
k = -k;
}
A. 1-3+5-7+9
B. 1+3-5+7-9
C. 1-3-5-7-9
D. 1+3+5+7+9
答案:A
7.以下代码的输出结果是( )
int k = 0;
while (k++ < 3) {
if (k == 2) break;
printf("%d", k);
}
A. 123
B. 13
C. 12
D. 1
答案:D
8.以下代码的输出是( )
for (int i=0; i<3; i++);
printf("%d", i);
A. 0
B. 3
C. 编译错误
D. 2
答案:C
9.下代码段的输出结果是( )
int x=3;
do { printf("%d ", x-=2); } while (!(--x));
A. 1
B. 1 -2
C. 3 0
D. 死循环
答案:B
10.以下代码的输出结果是( )
int k = 0;
while (k++ < 3) {
if (k == 2) break;
printf("%d", k);
}
A. 1
B. 12
C. 123
D. 13
答案:A
11.以下关于 for 循环的初始化部分、条件判断部分和更新部分,说法正确的是( )
A. 初始化部分只能初始化一个变量
B. 条件判断部分必须是一个布尔表达式
C. 更新部分只能是自增或自减操作
D. 初始化部分、条件判断部分和更新部分都可以省略
答案:D
12.以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 3
C. 1 2 3
D. 无输出
答案:A
13.以下代码的输出结果是( )
int i = 0;
while (i < 2) {
int j = 0;
do {
printf("%d %d
", i, j);
j++;
} while (j < 2);
i++;
}
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.在循环中,break 语句的作用是( )
A. 结束本次循环,进入下一次循环
B. 结束整个循环
C. 跳过本次循环的剩余部分,进入下一次循环
D. 暂停循环,等待用户输入
答案:B
15.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 无输出
答案:A
16.以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i * j == 4) {
break;
}
printf("%d %d
", i, j);
}
}
A. 程序陷入死循环
B. 输出所有 i 和 j 的组合
C. 无输出
D. 输出部分 i 和 j 的组合,当 i * j 等于 4 时跳出内层循环
答案:D
17.以下代码的输出结果是( )
int i = 0;
while (1) {
if (i == 5) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2 3 4
B. 0 1 2 3 4 5
C. 无输出
D. 程序陷入死循环
答案:A
18.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 2) {
i++;
continue;
}
printf("%d ", i);
i++;
}
A. 0
B. 0 1
C. 0 1 3
D. 0 1 3 4
答案:D
19.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
i++;
break;
}
printf("%d ", i);
i++;
}
A. 0 1
B. 0 1 2
C. 0 1 2 3
D. 0 1 2 3 4
答案:B
20.以下代码执行后,变量 sum 的值是( )
c
int sum = 0;
for (int i = 1; i < 10; i += 2) {
if (i == 5) {
continue;
}
sum += i;
}
A. 20
B. 25
C. 30
D. 35
答案:A
二、判断题(本大题共10小题,每小题1分,共10分)
1.do-while循环的条件判断在循环体执行之后进行。( )
答案:√
2.以下代码段会导致无限循环( )
int i=0;
while(i=5) { printf("%d",i); }
答案:√
3.以下代码输出结果为0( )
int i=5;
while(i--) ;
printf("%d",i);
答案:×
4.break语句可用于终止switch结构和循环结构。( )
答案:√
5.在嵌套循环中,continue仅影响其所在层的循环。( )
答案:√
6.while 循环的循环体至少会执行一次。( )
答案:×
7.do - while 循环无论条件真假,循环体至少会执行一次。( )
答案:√
8.do - while 循环在计算阶乘时,无法正确实现功能。( )
答案:×
9.在循环中使用 break 语句后,程序会立即跳出该循环,执行循环后面的语句。( )
答案:√
10.若要实现一个倒计时程序,使用 do - while 循环比 while 循环更合适。( )
答案:×
三、填空题(本大题共5小题,每题3分,共15分)
1.在循环嵌套中,外层循环每执行______次,内层循环会完整执行其所有次数。
答案:一
2.当需要在循环中跳过某些特定情况的处理,继续执行下一次循环时,应使用______语句。
答案:continue
3.在循环嵌套中,若外层循环条件变为假,内层循环会______行。
答案:停止
4.以下代码中,break语句在变量x等于______时终止循环
int x=5;
while(x>0) {
if(x == 2) break;
x--;
}
答案:2
5.以下代码的循环条件应填入______,使得输出1-5的和
int sum=0, i=1;
while(______) {
sum += i;
i++;
}
printf("%d", sum);
答案:i <= 5
四、应用题(本大题共2小题,共15分)
1.补全代码, 输出 1 到 n 之间能被 3 整除的数
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int i = 1;
while (______) {
if (______) {
printf("%d ", i);
}
______;
}
return 0;
}
答案:i <= n,i % 3 == 0, i++
2. 补全代码,逆序输出一个整数
#include <stdio.h>
int main() {
int num, reversed = 0;
scanf("%d", &num);
while (num != 0) {
reversed = reversed * 10 + ______;
______;
}
printf("逆序后的数为: %d
", reversed);
return 0;
}
答案:num % 10,num /= 10
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第32卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第32卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.以下代码的输出是( )
int i=3;
do {
printf("%d", i--);
} while(i>0);
A. 321
B. 3210
C. 32
D. 3
2.在循环嵌套中,break语句会跳出( )
A. 所有循环
B. 最近一层循环
C. 外层循环
D. 程序
3.以下代码的输出结果是( )
int a=-2, b=0;
while(a++ && ++b);
printf("%d,%d", a, b);
A. 0,2
B. 1,2
C. 1,3
D. 2,3
4.以下代码的输出是( )
int i=0, sum=1;
do { sum += i++; } while(i<5);
printf("%d", sum);
A. 11
B. 10
C. 15
D. 6
5.以下代码段的循环次数是( )
int i=10;
do { i--; } while(i>5);
A. 无限循环
B. 7次
C. 6次
D. 5次
6.以下代码的功能跟下列相同的是( )
int sum=0, k=1;
for(int i=1; i<=9; i+=2) {
sum += i*k;
k = -k;
}
A. 1-3+5-7+9
B. 1+3-5+7-9
C. 1-3-5-7-9
D. 1+3+5+7+9
7.以下代码的输出结果是( )
int k = 0;
while (k++ < 3) {
if (k == 2) break;
printf("%d", k);
}
A. 123
B. 13
C. 12
D. 1
8.以下代码的输出是( )
for (int i=0; i<3; i++);
printf("%d", i);
A. 0
B. 3
C. 编译错误
D. 2
9.下代码段的输出结果是( )
int x=3;
do { printf("%d ", x-=2); } while (!(--x));
A. 1
B. 1 -2
C. 3 0
D. 死循环
10.以下代码的输出结果是( )
int k = 0;
while (k++ < 3) {
if (k == 2) break;
printf("%d", k);
}
A. 1
B. 12
C. 123
D. 13
11.以下关于 for 循环的初始化部分、条件判断部分和更新部分,说法正确的是( )
A. 初始化部分只能初始化一个变量
B. 条件判断部分必须是一个布尔表达式
C. 更新部分只能是自增或自减操作
D. 初始化部分、条件判断部分和更新部分都可以省略
12.以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 3
C. 1 2 3
D. 无输出
13.以下代码的输出结果是( )
int i = 0;
while (i < 2) {
int j = 0;
do {
printf("%d %d
", i, j);
j++;
} while (j < 2);
i++;
}
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.在循环中,break 语句的作用是( )
A. 结束本次循环,进入下一次循环
B. 结束整个循环
C. 跳过本次循环的剩余部分,进入下一次循环
D. 暂停循环,等待用户输入
15.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 无输出
16.以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
if (i * j == 4) {
break;
}
printf("%d %d
", i, j);
}
}
A. 程序陷入死循环
B. 输出所有 i 和 j 的组合
C. 无输出
D. 输出部分 i 和 j 的组合,当 i * j 等于 4 时跳出内层循环
17.以下代码的输出结果是( )
int i = 0;
while (1) {
if (i == 5) {
break;
}
printf("%d ", i);
i++;
}
A. 0 1 2 3 4
B. 0 1 2 3 4 5
C. 无输出
D. 程序陷入死循环
18.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 2) {
i++;
continue;
}
printf("%d ", i);
i++;
}
A. 0
B. 0 1
C. 0 1 3
D. 0 1 3 4
19.以下代码的输出结果是( )
int i = 0;
while (i < 5) {
if (i == 3) {
i++;
break;
}
printf("%d ", i);
i++;
}
A. 0 1
B. 0 1 2
C. 0 1 2 3
D. 0 1 2 3 4
20.以下代码执行后,变量 sum 的值是( )
c
int sum = 0;
for (int i = 1; i < 10; i += 2) {
if (i == 5) {
continue;
}
sum += i;
}
A. 20
B. 25
C. 30
D. 35
二、判断题(本大题共10小题,每小题1分,共10分)
1.do-while循环的条件判断在循环体执行之后进行。( )
2.以下代码段会导致无限循环( )
int i=0;
while(i=5) { printf("%d",i); }
3.以下代码输出结果为0( )
int i=5;
while(i--) ;
printf("%d",i);
4.break语句可用于终止switch结构和循环结构。( )
5.在嵌套循环中,continue仅影响其所在层的循环。( )
6.while 循环的循环体至少会执行一次。( )
7.do - while 循环无论条件真假,循环体至少会执行一次。( )
8.do - while 循环在计算阶乘时,无法正确实现功能。( )
9.在循环中使用 break 语句后,程序会立即跳出该循环,执行循环后面的语句。( )
10.若要实现一个倒计时程序,使用 do - while 循环比 while 循环更合适。( )
三、填空题(本大题共5小题,每题3分,共15分)
1.在循环嵌套中,外层循环每执行______次,内层循环会完整执行其所有次数。
2.当需要在循环中跳过某些特定情况的处理,继续执行下一次循环时,应使用______语句。
3.在循环嵌套中,若外层循环条件变为假,内层循环会______行。
4.以下代码中,break语句在变量x等于______时终止循环
int x=5;
while(x>0) {
if(x == 2) break;
x--;
}
5.以下代码的循环条件应填入______,使得输出1-5的和
int sum=0, i=1;
while(______) {
sum += i;
i++;
}
printf("%d", sum);
四、应用题(本大题共2小题,共15分)
1.补全代码, 输出 1 到 n 之间能被 3 整除的数
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int i = 1;
while (______) {
if (______) {
printf("%d ", i);
}
______;
}
return 0;
}
2. 补全代码,逆序输出一个整数
#include <stdio.h>
int main() {
int num, reversed = 0;
scanf("%d", &num);
while (num != 0) {
reversed = reversed * 10 + ______;
______;
}
printf("逆序后的数为: %d
", reversed);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$