内容正文:
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第31卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第31卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.在for循环中,循环变量的初始化通常放在( )
A. 循环体内部
B. 表达式1中
C. 表达式2中
D. 表达式3中
答案:B
2.以下代码的输出是( )
for(int i=0; i<5; i++) {
if(i==3) continue;
printf("%d", i);
}
A. 0124
B. 01234
C. 012
D. 1234
答案:A
3.以下代码段的输出结果是( )
int x=3;
do { printf("%d ", x-=2); } while (!(--x));
A. 1
B. 1 -2
C. 3 0
D. 死循环
答案:B
4.以下代码的功能是( )
int sum=0, num;
while(scanf("%d", &num), num>0) sum += num;
A. 累加正数直到输入负数
B. 计算所有输入数的和
C. 统计输入次数
D. 累加非负数
答案:A
5.以下代码的输出是( )
for(int i=5; i>0; i-=2);
printf("%d", i);
A. 0
B. -1
C. 1
D. 编译错误
答案:D
6.以下代码的循环次数是( )
int i = 10;
while (i /= 2) { printf("*"); }
A. 3次
B. 4次
C. 5次
D. 无限循环
答案:A
7.以下代码的输出是( )
for (int i=0; i<6; i++) {
if (i % 3 == 0) continue;
printf("%d", i);
}
A. 1245
B. 12345
C. 145
D. 245
答案:C
8.以下代码的输出结果是( )
int i = 1;
while (i <= 5) {
static int j = 1;
j += i;
i++;
}
printf("%d", j);
A. 15
B. 编译错误
C. 16
D. 不确定
答案:B
9.以下代码的循环次数是( )
int i = 0;
for (; i < 5; i += 2);
A. 3次
B. 2次
C. 5次
D. 无限循环
答案:A
10.以下代码的输出是( )
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
11.以下代码中 do…while 循环的执行次数是( )
int i = 5;
do {
i++;
} while (i < 5);
A. 0 次
B. 1 次
C. 5 次
D. 无限次
答案:B
12.以下代码实现了从 1 到 10 的整数求和,其中空白处应填入( )
int sum = 0;
int i = 1;
while (______) {
sum += i;
i++;
}
A. i < 10
B. i <= 10
C. i > 0
D. i >= 1
答案:B
13.以下代码的输出结果是( )
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (i == j) {
continue;
}
printf("%d %d
", i, j);
}
}
A.
0 1
1 0
B.
0 0
1 1
C.
0 0
0 1
1 0
1 1
D. 无输出
答案:A
14.以下代码的输出结果是( )
int i = 0;
while (i < 2) {
int j = 0;
while (j < 2) {
if (i + j == 2) {
break;
}
printf("%d %d
", i, j);
j++;
}
i++;
}
A.
0 0
0 1
B.
0 0
0 1
1 0
1 1
C.
0 0
0 1
1 0
D. 无输出
答案:C
15.以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 4
C. 0 1 2 3 4
D. 无输出
答案:B
16.以下代码的输出结果是( )
int i = 0;
do {
if (i == 3) {
continue;
}
printf("%d ", i);
i++;
} while (i < 5);
A. 0 1 2
B. 0 1 2 4
C. 0 1 2 3 4
D. 程序陷入死循环
答案:D
17.以下代码的输出结果是( )
int i = 0;
do {
if (i % 2 == 0) {
i++;
continue;
}
printf("%d ", i);
i++;
} while (i < 5);
A. 1 3
B. 0 2 4
C. 1 3 5
D. 无输出
答案:A
18.以下代码的输出结果是( )
for (int i = 5; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("
");
}
A.
*
**
***
****
*****
B.
*****
****
***
**
*
C.
*
* *
* * *
* * * *
* * * * *
D. 无输出
答案:B
19.以下代码的输出结果是( )
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i + j > 4) {
break;
}
printf("%d %d
", i, j);
}
}
A.
1 1
1 2
1 3
2 1
2 2
3 1
B.
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
C.
1 1
1 2
1 3
2 1
2 2
D.
1 1
1 2
2 1
答案:D
20.以下代码的输出结果是( )
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
continue;
}
printf("%d %d
", i, j);
}
}
A. 输出除了 2 2 之外的所有 i 和 j 的组合
B. 输出所有 i 和 j 的组合
C. 无输出
D. 程序陷入死循环
答案:A
二、判断题(本大题共10小题,每小题1分,共10分)
1.for循环的三个表达式(初始化、条件、更新)均可省略,但分号必须保留。( )
答案:√
2.do-while循环的while条件后可以省略分号。( )
答案:×
3.以下代码输出4行星号( )
for(int i=1; i<=4; i++) {
for(int j=1; j<=i; j++) printf("*");
printf("
");
}
答案:√
4.多重循环中break语句可以同时跳出所有外层循环。( )
答案:×
5.以下代码段导致死循环( )
int i=0;
while(i<5) {
if(i==3) break;
i++;
}
答案:×
6.do…while 循环的条件判断在循环体执行之后,所以无论条件是否为真,循环体至少会执行一次。(( )
答案:√
7.for 循环的三个表达式部分都必须有内容,不能省略。( )
答案:×
8.在使用 while 循环计算偶数和时,若初始条件设置不当,可能导致结果错误。( )
答案:√
9.break 语句只能用于循环语句中。( )
答案:×
10.在使用循环计算斐波那契数列时,使用 while 循环和 for 循环都能实现。( )
答案:√
三、填空题(本大题共5小题,每题3分,共15分)
1.当需要至少执行一次循环体,并且根据后续条件决定是否继续循环时,应选择______循环。
答案:do…while
2.若在循环中要提前结束整个循环,不再进行后续的循环判断和执行,应使用______语句。
答案:break
3.若要找出 1 到 50 中所有既是偶数又是 3 的倍数的数,在循环中可以使用______语句跳过不符合条件的数。
答案:continue
4.以下代码的输出结果是______
for(int i=1; i<=3; i++) {
printf("%d ", i);
}
答案:1 2 3
5.以下代码的输出是______
int sum=0;
for(int i=1; i<=3; i++) {
sum += i;
}
printf("%d", sum);
答案:6
四、应用题(本大题共2小题,共15分)
1.补全代码,求 1 到 n 的奇数和
#include <stdio.h>
int main() {
int n, sum = 0;
scanf("%d", &n);
for (int i = 1; ______; i += 2) {
______;
}
printf("1 到 %d 的奇数和为: %d
", n, sum);
return 0;
}
答案:i <= n,sum += i
2. 补全代码,输出斐波那契数列的前 n 项
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a = 0, b = 1, next;
for (int i = 0; ______; i++) {
if (______) {
next = i;
} else {
next = ______;
a = b;
b = next;
}
printf("%d ", next);
}
return 0;
}
答案:i < n,i <= 1,a + b
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第31卷,是知识点训练卷,其编写要求如下:
(1)了解 while、do…while、for 循环语句的异同;
(2)掌握 while、do…while、for 循环语句的使用;
(3)了解循环的嵌套;
(4)掌握 break 语句和 continue 语句的使用。
广西《电子与信息类考纲百套卷》 第31卷
《程序设计基础》
4.循环结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.在for循环中,循环变量的初始化通常放在( )
A. 循环体内部
B. 表达式1中
C. 表达式2中
D. 表达式3中
2.以下代码的输出是( )
for(int i=0; i<5; i++) {
if(i==3) continue;
printf("%d", i);
}
A. 0124
B. 01234
C. 012
D. 1234
3.以下代码段的输出结果是( )
int x=3;
do { printf("%d ", x-=2); } while (!(--x));
A. 1
B. 1 -2
C. 3 0
D. 死循环
4.以下代码的功能是( )
int sum=0, num;
while(scanf("%d", &num), num>0) sum += num;
A. 累加正数直到输入负数
B. 计算所有输入数的和
C. 统计输入次数
D. 累加非负数
5.以下代码的输出是( )
for(int i=5; i>0; i-=2);
printf("%d", i);
A. 0
B. -1
C. 1
D. 编译错误
6.以下代码的循环次数是( )
int i = 10;
while (i /= 2) { printf("*"); }
A. 3次
B. 4次
C. 5次
D. 无限循环
7.以下代码的输出是( )
for (int i=0; i<6; i++) {
if (i % 3 == 0) continue;
printf("%d", i);
}
A. 1245
B. 12345
C. 145
D. 245
8.以下代码的输出结果是( )
int i = 1;
while (i <= 5) {
static int j = 1;
j += i;
i++;
}
printf("%d", j);
A. 15
B. 编译错误
C. 16
D. 不确定
9.以下代码的循环次数是( )
int i = 0;
for (; i < 5; i += 2);
A. 3次
B. 2次
C. 5次
D. 无限循环
10.以下代码的输出是( )
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
11.以下代码中 do…while 循环的执行次数是( )
int i = 5;
do {
i++;
} while (i < 5);
A. 0 次
B. 1 次
C. 5 次
D. 无限次
12.以下代码实现了从 1 到 10 的整数求和,其中空白处应填入( )
int sum = 0;
int i = 1;
while (______) {
sum += i;
i++;
}
A. i < 10
B. i <= 10
C. i > 0
D. i >= 1
13.以下代码的输出结果是( )
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
if (i == j) {
continue;
}
printf("%d %d
", i, j);
}
}
A.
0 1
1 0
B.
0 0
1 1
C.
0 0
0 1
1 0
1 1
D. 无输出
14.以下代码的输出结果是( )
int i = 0;
while (i < 2) {
int j = 0;
while (j < 2) {
if (i + j == 2) {
break;
}
printf("%d %d
", i, j);
j++;
}
i++;
}
A.
0 0
0 1
B.
0 0
0 1
1 0
1 1
C.
0 0
0 1
1 0
D. 无输出
15.以下代码的输出结果是( )
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
printf("%d ", i);
}
A. 0 1 2
B. 0 1 2 4
C. 0 1 2 3 4
D. 无输出
16.以下代码的输出结果是( )
int i = 0;
do {
if (i == 3) {
continue;
}
printf("%d ", i);
i++;
} while (i < 5);
A. 0 1 2
B. 0 1 2 4
C. 0 1 2 3 4
D. 程序陷入死循环
17.以下代码的输出结果是( )
int i = 0;
do {
if (i % 2 == 0) {
i++;
continue;
}
printf("%d ", i);
i++;
} while (i < 5);
A. 1 3
B. 0 2 4
C. 1 3 5
D. 无输出
18.以下代码的输出结果是( )
for (int i = 5; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
printf("*");
}
printf("
");
}
A.
*
**
***
****
*****
B.
*****
****
***
**
*
C.
*
* *
* * *
* * * *
* * * * *
D. 无输出
19.以下代码的输出结果是( )
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i + j > 4) {
break;
}
printf("%d %d
", i, j);
}
}
A.
1 1
1 2
1 3
2 1
2 2
3 1
B.
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
C.
1 1
1 2
1 3
2 1
2 2
D.
1 1
1 2
2 1
20.以下代码的输出结果是( )
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
if (i == 2 && j == 2) {
continue;
}
printf("%d %d
", i, j);
}
}
A. 输出除了 2 2 之外的所有 i 和 j 的组合
B. 输出所有 i 和 j 的组合
C. 无输出
D. 程序陷入死循环
二、判断题(本大题共10小题,每小题1分,共10分)
1.for循环的三个表达式(初始化、条件、更新)均可省略,但分号必须保留。( )
2.do-while循环的while条件后可以省略分号。( )
3.以下代码输出4行星号( )
for(int i=1; i<=4; i++) {
for(int j=1; j<=i; j++) printf("*");
printf("
");
}
4.多重循环中break语句可以同时跳出所有外层循环。( )
5.以下代码段导致死循环( )
int i=0;
while(i<5) {
if(i==3) break;
i++;
}
6.do…while 循环的条件判断在循环体执行之后,所以无论条件是否为真,循环体至少会执行一次。(( )
7.for 循环的三个表达式部分都必须有内容,不能省略。( )
8.在使用 while 循环计算偶数和时,若初始条件设置不当,可能导致结果错误。( )
9.break 语句只能用于循环语句中。( )
10.在使用循环计算斐波那契数列时,使用 while 循环和 for 循环都能实现。( )
三、填空题(本大题共5小题,每题3分,共15分)
1.当需要至少执行一次循环体,并且根据后续条件决定是否继续循环时,应选择______循环。
2.若在循环中要提前结束整个循环,不再进行后续的循环判断和执行,应使用______语句。
3.若要找出 1 到 50 中所有既是偶数又是 3 的倍数的数,在循环中可以使用______语句跳过不符合条件的数。
4.以下代码的输出结果是______
for(int i=1; i<=3; i++) {
printf("%d ", i);
}
5.以下代码的输出是______
int sum=0;
for(int i=1; i<=3; i++) {
sum += i;
}
printf("%d", sum);
四、应用题(本大题共2小题,共15分)
1.补全代码,求 1 到 n 的奇数和
#include <stdio.h>
int main() {
int n, sum = 0;
scanf("%d", &n);
for (int i = 1; ______; i += 2) {
______;
}
printf("1 到 %d 的奇数和为: %d
", n, sum);
return 0;
}
2. 补全代码,输出斐波那契数列的前 n 项
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int a = 0, b = 1, next;
for (int i = 0; ______; i++) {
if (______) {
next = i;
} else {
next = ______;
a = b;
b = next;
}
printf("%d ", next);
}
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$