内容正文:
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第34卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第34卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.关于do...while循环的特点,正确的是( )
A. 循环条件在循环体后判断
B. 循环体至少执行一次
C. 不能使用break语句
D. 与while循环完全等价
2.break语句的作用是( )
A. 结束本次循环
B. 跳过剩余代码
C. 终止整个循环
D. 退出程序
3.以下代码的输出是( )
for(int i=1; i<=3; i++) {
for(int j=1; j<=i; j++) {
printf("*");
}
printf("
");
}
A. *
*
B. *
*
C. *
*
*
D.
*
4.以下代码的输出是( )
for(int i=0; i<5; i++) {
if(i%2 == 0) continue;
printf("%d", i);
}
A. 1 3
B. 0 2 4
C. 1 3 5
D. 0 1 2
5.以下代码的输出结果是( )
int x=2;
while(x--);
printf("%d", x);
A. 2
B. 1
C. 9
D. -1
6.以下代码的输出结果是( )
int x = 5;
do { x -= 3; } while (x > 0);
printf("%d", x);
A. -1
B. 0
C. 2
D. 5
7.以下代码的功能是( )
int sum = 0;
for (int i=1; i<=5; i++) {
for (int j=1; j<=i; j++) {
sum += j;
}
}
A. 计算1到5的和
B. 计算1!+2!+3!+4!+5!
C. 计算1+(1+2)+(1+2+3)+…+(1+2+3+4+5)
D. 计算1×2×3×4×5
8.以下代码的输出是( )
int a = 10, b = 0;
do {
a -= 2;
b++;
} while (a > b);
printf("%d,%d", a, b);
A. 6,3
B. 4,4
C. 2,4
D. 8,2
9.以下代码的输出是( )
int x = 5;
while (x--) {
printf("%d", x);
}
A. 43210
B. 54321
C. 4321
D. 5432
10.以下代码的输出是( )
for(int i=0; i<6; i++) {
if(i % 3 == 0) continue;
printf("%d", i);
}
A. 1245
B. 12345
C. 145
D. 245
11.以下最适合使用 for 循环的情况是( )
A. 当需要先执行一次循环体再判断条件时
B. 当循环次数不确定,但有结束条件时
C. 当循环次数已知时
D. 当只需要简单的条件判断时
12.以下代码的输出结果是( )
int i = 0;
while (i < 3) {
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 1 2 3
D. 无输出
13.以下代码实现了从 1 到 10 的整数求和,其中空白处应填入( )
int sum = 0;
int i = 1;
do {
sum += i;
i++;
} while (______);
A. i < 10
B. i <= 10
C. i > 0
D. i >= 1
14.以下代码的输出结果是( )
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (i == 1 && j == 1) {
break;
}
printf("%d %d
", i, j);
}
}
A.
0 0
0 1
1 0
1 1
B.
0 0
0 1
1 0
C.
0 0
0 1
D. 无输出
15.以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 无输出
16.以下代码的输出结果是( )
int i = 0;
do {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
} while (i < 5);
A. 0 1 2 3 4 5
B. 0 1 2 3 4
C. 0 1 2 3
D. 0 1 2
17.以下代码实现了求 1 到 10 之间所有奇数的和,其中空白处应填入( )
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (______) {
continue;
}
sum += i;
}
A. i % 2 == 0
B. i % 2 == 1
C. i > 5
D. i < 5
18.以下代码的输出结果是( )
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("
");
}
A.
*
**
***
****
*****
B.
*****
****
***
**
*
C.
*
* *
* * *
* * * *
* * * * *
D. 无输出
19.以下代码的输出结果是( )
int i = 0;
do {
if (i % 3 == 0) {
i++;
continue;
}
printf("%d ", i);
i++;
} while (i < 6);
A. 0 1 2 3 4 5
B. 0 1 2 3 4
C. 1 2 4 5
D. 1 2 4
20.以下代码的输出结果是( )
int i = 0;
do {
if (i > 2) {
break;
}
printf("%d ", i);
i++;
} while (1);
A. 0 1
B. 0 1 2
C. 0 1 2 3
D. 0 1 2 3 4
二、判断题(本大题共10小题,每小题1分,共10分)
1.while循环和do-while循环的循环体至少都会执行一次。( )
2.三种循环(while/do-while/for)的循环体都可以为空语句。( )
3.以下代码段至少执行一次循环体( )
int x=0;
do { x++; } while(x>0);
4.以下代码段输出结果为"1 3"( )
for(int i=0; i<5; i++) {
if(i%2 ==0) continue;
printf("%d ",i);
}
5.continue语句会终止整个循环的执行。( )
6.在 C 语言里,while 循环和 do - while 循环的执行顺序是一样的。( )
7.while 循环有可能一次循环体都不执行。( )
8.循环嵌套中,内层循环和外层循环的循环控制变量一般不同名。( )
9.当外层循环条件为假时,内层循环无论处于什么状态都会停止执行。( )
10.若在嵌套循环中使用 continue 语句,只会影响内层循环。( )
三、填空题(本大题共5小题,每题3分,共15分)
1.for 循环的三个表达式部分分别用于______、______和______。
2.在循环中,______语句用于跳过本次循环的剩余部分,直接进入下一次循环。
3.用循环输出一个等腰三角形图案,外层循环控制______,内层循环分别控制空格的输出数量和星号的输出数量。
4.以下代码段循环体执行次数为______次
int i=3;
do {
i--;
} while(i>0);
5.以下代码输出______行星号
for(int i=1; i<=2; i++) {
for(int j=1; j<=i; j++) printf("*");
printf("
");
}
四、应用题(本大题共2题,共15分)
1.补全代码,求 1 到 n 的整数和
#include <stdio.h>
int main() {
int n, sum = 0, i = 1;
scanf("%d", &n);
while (______) {
______;
______;
}
printf("1 到 %d 的和为: %d
", n, sum);
return 0;
}
2. 补全代码,判断一个数是否为素数
#include <stdio.h>
#include <stdbool.h>
int main() {
int num;
scanf("%d", &num);
bool is_prime = true;
for (int i = 2; i < num; i++) {
if (______) {
is_prime = false;
break;
}
}
if (______) {
printf("%d 是素数
", num);
} else {
printf("%d 不是素数
", num);
}
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第34卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第34卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.关于do...while循环的特点,正确的是( )
A. 循环条件在循环体后判断
B. 循环体至少执行一次
C. 不能使用break语句
D. 与while循环完全等价
答案:B
2.break语句的作用是( )
A. 结束本次循环
B. 跳过剩余代码
C. 终止整个循环
D. 退出程序
答案:C
3.以下代码的输出是( )
for(int i=1; i<=3; i++) {
for(int j=1; j<=i; j++) {
printf("*");
}
printf("
");
}
A. *
*
B. *
*
C. *
*
*
D.
*
答案:A
4.以下代码的输出是( )
for(int i=0; i<5; i++) {
if(i%2 == 0) continue;
printf("%d", i);
}
A. 1 3
B. 0 2 4
C. 1 3 5
D. 0 1 2
答案:A
5.以下代码的输出结果是( )
int x=2;
while(x--);
printf("%d", x);
A. 2
B. 1
C. 9
D. -1
答案:D
6.以下代码的输出结果是( )
int x = 5;
do { x -= 3; } while (x > 0);
printf("%d", x);
A. -1
B. 0
C. 2
D. 5
答案:A
7.以下代码的功能是( )
int sum = 0;
for (int i=1; i<=5; i++) {
for (int j=1; j<=i; j++) {
sum += j;
}
}
A. 计算1到5的和
B. 计算1!+2!+3!+4!+5!
C. 计算1+(1+2)+(1+2+3)+…+(1+2+3+4+5)
D. 计算1×2×3×4×5
答案:C
8.以下代码的输出是( )
int a = 10, b = 0;
do {
a -= 2;
b++;
} while (a > b);
printf("%d,%d", a, b);
A. 6,3
B. 4,4
C. 2,4
D. 8,2
答案:C
9.以下代码的输出是( )
int x = 5;
while (x--) {
printf("%d", x);
}
A. 43210
B. 54321
C. 4321
D. 5432
答案:C
10.以下代码的输出是( )
for(int i=0; i<6; i++) {
if(i % 3 == 0) continue;
printf("%d", i);
}
A. 1245
B. 12345
C. 145
D. 245
答案:C
11.以下最适合使用 for 循环的情况是( )
A. 当需要先执行一次循环体再判断条件时
B. 当循环次数不确定,但有结束条件时
C. 当循环次数已知时
D. 当只需要简单的条件判断时
答案:C
12.以下代码的输出结果是( )
int i = 0;
while (i < 3) {
printf("%d ", i);
i++;
}
A. 0 1 2
B. 0 1 2 3
C. 1 2 3
D. 无输出
答案:A
13.以下代码实现了从 1 到 10 的整数求和,其中空白处应填入( )
int sum = 0;
int i = 1;
do {
sum += i;
i++;
} while (______);
A. i < 10
B. i <= 10
C. i > 0
D. i >= 1
答案:A
14.以下代码的输出结果是( )
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (i == 1 && j == 1) {
break;
}
printf("%d %d
", i, j);
}
}
A.
0 0
0 1
1 0
1 1
B.
0 0
0 1
1 0
C.
0 0
0 1
D. 无输出
答案:B
15.以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) {
break;
}
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 3
C. 0 1 2 3 4
D. 无输出
答案:A
16.以下代码的输出结果是( )
int i = 0;
do {
if (i == 3) {
break;
}
printf("%d ", i);
i++;
} while (i < 5);
A. 0 1 2 3 4 5
B. 0 1 2 3 4
C. 0 1 2 3
D. 0 1 2
答案:D
17.以下代码实现了求 1 到 10 之间所有奇数的和,其中空白处应填入( )
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (______) {
continue;
}
sum += i;
}
A. i % 2 == 0
B. i % 2 == 1
C. i > 5
D. i < 5
答案:A
18.以下代码的输出结果是( )
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("
");
}
A.
*
**
***
****
*****
B.
*****
****
***
**
*
C.
*
* *
* * *
* * * *
* * * * *
D. 无输出
答案:A
19.以下代码的输出结果是( )
int i = 0;
do {
if (i % 3 == 0) {
i++;
continue;
}
printf("%d ", i);
i++;
} while (i < 6);
A. 0 1 2 3 4 5
B. 0 1 2 3 4
C. 1 2 4 5
D. 1 2 4
答案:C
20.以下代码的输出结果是( )
int i = 0;
do {
if (i > 2) {
break;
}
printf("%d ", i);
i++;
} while (1);
A. 0 1
B. 0 1 2
C. 0 1 2 3
D. 0 1 2 3 4
答案:B
二、判断题(本大题共10小题,每小题1分,共10分)
1.while循环和do-while循环的循环体至少都会执行一次。( )
答案:×
2.三种循环(while/do-while/for)的循环体都可以为空语句。( )
答案:√
3.以下代码段至少执行一次循环体( )
int x=0;
do { x++; } while(x>0);
答案:√
4.以下代码段输出结果为"1 3"( )
for(int i=0; i<5; i++) {
if(i%2 ==0) continue;
printf("%d ",i);
}
答案:×
5.continue语句会终止整个循环的执行。( )
答案:×
6.在 C 语言里,while 循环和 do - while 循环的执行顺序是一样的。( )
答案:×
7.while 循环有可能一次循环体都不执行。( )
答案:√
8.循环嵌套中,内层循环和外层循环的循环控制变量一般不同名。( )
答案:√
9.当外层循环条件为假时,内层循环无论处于什么状态都会停止执行。( )
答案:√
10.若在嵌套循环中使用 continue 语句,只会影响内层循环。( )
答案:√
三、填空题(本大题共5小题,每题3分,共15分)
1.for 循环的三个表达式部分分别用于______、______和______。
答案:初始化循环变量;判断循环条件;更新循环变量
2.在循环中,______语句用于跳过本次循环的剩余部分,直接进入下一次循环。
答案:continue
3.用循环输出一个等腰三角形图案,外层循环控制______,内层循环分别控制空格的输出数量和星号的输出数量。
答案:行数
4.以下代码段循环体执行次数为______次
int i=3;
do {
i--;
} while(i>0);
答案:3
5.以下代码输出______行星号
for(int i=1; i<=2; i++) {
for(int j=1; j<=i; j++) printf("*");
printf("
");
}
答案:2
四、应用题(本大题共2题,共15分)
1.补全代码,求 1 到 n 的整数和
#include <stdio.h>
int main() {
int n, sum = 0, i = 1;
scanf("%d", &n);
while (______) {
______;
______;
}
printf("1 到 %d 的和为: %d
", n, sum);
return 0;
}
答案:i <= n,sum += i,i++
2. 补全代码,判断一个数是否为素数
#include <stdio.h>
#include <stdbool.h>
int main() {
int num;
scanf("%d", &num);
bool is_prime = true;
for (int i = 2; i < num; i++) {
if (______) {
is_prime = false;
break;
}
}
if (______) {
printf("%d 是素数
", num);
} else {
printf("%d 不是素数
", num);
}
return 0;
}
答案:num % i == 0,is_prime
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$