内容正文:
专题五 循环结构(二)
(一)单项选择题
1. 以下关于for循环中break语句的描述,正确的是( )
A. break只能用于终止最内层循环
B. break可以终止所有嵌套循环
C. break只能用于switch语句
D. break会跳过当前循环的剩余代码并继续下一次循环
2. 以下代码的输出结果是( )
for (int i = 1; i <= 3; i++) {
if (i == 2) continue;
printf("%d ", i);
}
A. 1 2 3
B. 1 3
C. 2
D. 1
3.在嵌套循环中,continue语句的作用是( )
A. 终止所有循环
B. 跳过外层循环的剩余代码
C. 仅跳过当前内层循环的剩余代码
D. 跳过当前循环体的剩余代码并继续下一次循环
4.以下代码的循环次数为( )
for (int i = 0; i < 5; i++) {
if (i % 2 == 0) break;
printf("%d ", i);
}
A. 0
B. 1
C. 5
D. 10
5.以下代码的输出结果是( )
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. 3 4
6.以下代码中,若输入n=0,输出结果是( )
int n;
scanf("%d", &n);
for (; n < 3; n++) {
if (n == 1) continue;
printf("%d ", n);
}
A. 1 2 3
B. 0 1 2
C. 0 2 3
D. 0 2
7.以下代码的输出结果是( )
int x = 0;
for (; x < 5; x++) {
if (x == 2) break;
}
printf("%d", x);
A. 2
B. 3
C. 5
D. 4
8.以下代码中,continue语句的作用是( )
for (int i = 0; i < 5; i++) {
if (i % 2 == 0) continue;
printf("%d ", i);
}
A. 跳过奇数
B. 跳过偶数
C. 终止循环
D. 输出偶数
9. 以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) continue;
printf("%d-%d ", i, j);
}
}
A. 0-0 0-2 1-0 1-2 2-0 2-2
B. 0-0 0-1 1-0 1-1 2-0 2-1
C. 0-1 1-1 2-1
D. 无输出
10. 以下代码的循环次数为( )
for (int i = 1; i < 5; i += 2) {
printf("%d ", i);
}
A. 0
B. 1
C. 2
D. 3
11. 以下代码中,break语句的作用是( )
for (int i = 0; ; i++) {
if (i > 3) break;
printf("%d ", i);
}
A. 终止循环
B. 跳过当前迭代
C. 无限循环
D. 无作用
12.以下代码的输出结果是( )
int sum = 0;
for (int i = 1; i <= 3; i++) {
if (i == 2) continue;
sum += i;
}
printf("%d", sum);
A. 3
B. 4
C. 6
D. 1
13. 以下代码中,循环体执行次数为( )
for (int i = 5; i > 0; i--) {
if (i == 3) break;
}
A. 3
B. 5
C. 2
D. 0
14.以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
if (i == 1) break;
printf("%d ", i);
}
A. 0
B. 0 1
C. 0 1 2
D. 1
15. 以下代码的输出结果是( )
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 3 4
(二)判断题
1. break语句可以用于终止switch语句和所有循环。( )
2. continue语句会跳过当前循环的剩余代码并执行更新表达式。( )
3. break语句可以用于if条件语句中。( )
4. 嵌套循环中使用continue会跳过所有外层循环。( )
5. for (;;)是一个合法的无限循环。( )
(三)填空题
1. 补全代码,计算1~10中奇数的和。
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (________) ________;
sum += i;
}
printf("%d", sum);
2. 补全代码,输入数字直到输入负数时停止。
int num;
for (;;) {
scanf("%d", &num);
if (________) ________;
printf("%d ", num);
}
(四)应用题
1. 编写程序,计算1到100之间所有能被3整除但不能被5整除的整数之和。要求使用for循环,且当数字不满足条件时用continue跳过。
2.编写程序,找到第一个能被7整除且十位数字是5的三位数,输出该数。要求使用for循环和break提前终止循环。
3.编写程序,输出如下字母金字塔(共5行),要求使用嵌套for循环和continue跳过特定位置的字符输出:
A
B C
D E F
G H I J
K L M N O
学科网(北京)股份有限公司
$$
专题五 循环结构(二)
(一)单项选择题
1. 以下关于for循环中break语句的描述,正确的是( )
A. break只能用于终止最内层循环
B. break可以终止所有嵌套循环
C. break只能用于switch语句
D. break会跳过当前循环的剩余代码并继续下一次循环
答案:A
2. 以下代码的输出结果是( )
for (int i = 1; i <= 3; i++) {
if (i == 2) continue;
printf("%d ", i);
}
A. 1 2 3
B. 1 3
C. 2
D. 1
答案:B
3.在嵌套循环中,continue语句的作用是( )
A. 终止所有循环
B. 跳过外层循环的剩余代码
C. 仅跳过当前内层循环的剩余代码
D. 跳过当前循环体的剩余代码并继续下一次循环
答案:D
4.以下代码的循环次数为( )
for (int i = 0; i < 5; i++) {
if (i % 2 == 0) break;
printf("%d ", i);
}
A. 0
B. 1
C. 5
D. 10
答案:B
5.以下代码的输出结果是( )
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. 3 4
答案:A
6.以下代码中,若输入n=0,输出结果是( )
int n;
scanf("%d", &n);
for (; n < 3; n++) {
if (n == 1) continue;
printf("%d ", n);
}
A. 1 2 3
B. 0 1 2
C. 0 2 3
D. 0 2
答案:D
7.以下代码的输出结果是( )
int x = 0;
for (; x < 5; x++) {
if (x == 2) break;
}
printf("%d", x);
A. 2
B. 3
C. 5
D. 4
答案:A
8.以下代码中,continue语句的作用是( )
for (int i = 0; i < 5; i++) {
if (i % 2 == 0) continue;
printf("%d ", i);
}
A. 跳过奇数
B. 跳过偶数
C. 终止循环
D. 输出偶数
答案:B
9. 以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) continue;
printf("%d-%d ", i, j);
}
}
A. 0-0 0-2 1-0 1-2 2-0 2-2
B. 0-0 0-1 1-0 1-1 2-0 2-1
C. 0-1 1-1 2-1
D. 无输出
答案:A
10. 以下代码的循环次数为( )
for (int i = 1; i < 5; i += 2) {
printf("%d ", i);
}
A. 0
B. 1
C. 2
D. 3
答案:C
11. 以下代码中,break语句的作用是( )
for (int i = 0; ; i++) {
if (i > 3) break;
printf("%d ", i);
}
A. 终止循环
B. 跳过当前迭代
C. 无限循环
D. 无作用
答案:A
12.以下代码的输出结果是( )
int sum = 0;
for (int i = 1; i <= 3; i++) {
if (i == 2) continue;
sum += i;
}
printf("%d", sum);
A. 3
B. 4
C. 6
D. 1
答案:B
13. 以下代码中,循环体执行次数为( )
for (int i = 5; i > 0; i--) {
if (i == 3) break;
}
A. 3
B. 5
C. 2
D. 0
答案:C
14.以下代码的输出结果是( )
for (int i = 0; i < 3; i++) {
if (i == 1) break;
printf("%d ", i);
}
A. 0
B. 0 1
C. 0 1 2
D. 1
答案:A
15. 以下代码的输出结果是( )
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 3 4
答案:A
(二)判断题
1. break语句可以用于终止switch语句和所有循环。( )
答案:×
2. continue语句会跳过当前循环的剩余代码并执行更新表达式。( )
答案:√
3. break语句可以用于if条件语句中。( )
答案:×
4. 嵌套循环中使用continue会跳过所有外层循环。( )
答案:×
5. for (;;)是一个合法的无限循环。( )
答案:√
(三)填空题
1. 补全代码,计算1~10中奇数的和。
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (________) ________;
sum += i;
}
printf("%d", sum);
答案:i % 2 == 0、continue
2. 补全代码,输入数字直到输入负数时停止。
int num;
for (;;) {
scanf("%d", &num);
if (________) ________;
printf("%d ", num);
}
答案:num < 0、break
(四)应用题
1. 编写程序,计算1到100之间所有能被3整除但不能被5整除的整数之和。要求使用for循环,且当数字不满足条件时用continue跳过。
答案:
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
if (i % 3 != 0 || i % 5 == 0) {
continue; // 跳过不符合条件的数
}
sum += i;
}
printf("Sum = %d
", sum);
return 0;
}
2.编写程序,找到第一个能被7整除且十位数字是5的三位数,输出该数。要求使用for循环和break提前终止循环。
答案:
#include <stdio.h>
int main() {
for (int num = 100; num < 1000; num++) {
int ten = (num / 10) % 10; // 提取十位数字
if (num % 7 == 0 && ten == 5) {
printf("Found: %d
", num);
break; // 找到后立即终止循环
}
}
return 0;
}
3.编写程序,输出如下字母金字塔(共5行),要求使用嵌套for循环和continue跳过特定位置的字符输出:
A
B C
D E F
G H I J
K L M N O
答案:
#include <stdio.h>
int main() {
char ch = 'A';
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
if (j > 1) {
printf(" "); // 非首字符前加空格
}
printf("%c", ch++);
}
printf("
");
}
return 0;
}
学科网(北京)股份有限公司
$$