内容正文:
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编写专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第61卷,为考点训练卷,按《算法与程序设计-C#》范围和要求编写。具体内容为:1.循环语句:for、while、do..while;2.跳转语句:break、continue
2027版河北省《计算机类考纲百套卷》 第61卷
《算法与程序设计-C#》
循环语句 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共15小题,每题2分,共30分)
1.关于for循环语句,以下描述错误的是( )
A. for循环的三个表达式都可以省略,但分号不能省略
B. for循环的初始化表达式可以声明多个变量,可以不是同一类型
C. for循环的迭代表达式在循环体执行完毕后执行
D. for循环的初始化表达式声明的变量,其作用域仅限于该for循环内部
2.关于do-while循环,以下说法正确的是( )
A. do-while循环至少执行一次循环体,然后再判断条件
B. do-while循环的条件表达式可以是任意类型,系统会自动转换为布尔值
C. do-while循环的循环体如果只有一条语句,也不可以省略大括号
D. do-while循环结束后,条件表达式中使用的变量会被自动销毁
3.在循环中使用continue语句的作用是( )
A. 立即终止整个循环,执行循环后面的语句
B. 跳过当前循环的剩余语句,继续下一次循环的条件判断
C. 跳出当前循环,并返回一个值
D. 暂停循环,等待用户输入
4.在嵌套循环中,如果内层循环使用了break,会( )
A. 跳出所有循环
B. 跳出最内层循环,继续执行外层循环的下一次迭代
C. 暂停所有循环,等待用户输入
D. 仅跳出当前内层循环的当前迭代
5.关于foreach循环,以下说法错误的是( )
A. foreach循环用于遍历集合或数组中的每个元素
B. 在foreach循环中不能修改迭代变量的值
C. foreach循环可以用于遍历任何实现了IEnumerable接口的集合
D. foreach循环中可以使用break和continue,但不能使用return
6.关于C#中的三种循环语句(for、while、do...while),下列说法错误的是( )
A. for循环通常用于已知循环次数的场景
B. while循环是先判断条件,后执行循环体
C. do...while循环的循环体至少会被执行一次
D. 三种循环语句在任何情况下都可以无条件地互相替换,且执行效果完全相同
7.下列关于 break 和 continue 语句的描述,正确的是( )
A. break 语句只能用于 switch 语句中
B. continue 语句会终止整个循环,跳出循环体
C. 在嵌套循环中,break 语句只能跳出当前所在的那一层循环
D. continue 语句执行后,程序会跳过循环条件的判断,直接执行循环体后面的代码
8.在C#中,关于 for 循环的语法 for (表达式1; 表达式2; 表达式3),下列说法正确的是( )
A. 表达式1、2、3都不能省略
B. 表达式2(循环条件)如果省略,默认为 false
C. 表达式2(循环条件)如果省略,默认为 true
D. 表达式1只能在循环开始前执行一次,不能是逗号表达式
9.关于 while 和 do...while 的区别,下列说法正确的是( )
A. while 循环的循环体至少执行一次
B. do...while 循环的循环体至少执行一次
C. 两者没有任何区别
D. do...while 循环的执行效率一定比 while 高
10. 以下代码的输出结果是( )
int i = 0;
while (i < 5) {
Console.Write(i + " ");
i++;
}
A. 0 1 2 3 4 B. 1 2 3 4 5 C. 0 1 2 3 4 5 D. 无限循环
11.以下代码的输出结果是( )
int i = 5;
do
{
if (i % 2 == 0)
{
i--;
continue;
}
Console.Write(i + " ");
i--;
} while (i > 0);
A. 5 4 3 2 1 B. 5 3 1 C. 4 2 D. 5 3
12.以下代码的输出结果是( )
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) continue;
sum += i;
}
Console.WriteLine(sum);
A. 25 B. 30 C. 55 D. 0
13. 以下代码中,循环体执行了( )次。
int i = 0;
do {
i++;
} while (i < 10);
A. 9次 B. 10次 C. 11次 D. 无限循环
14. 以下代码的输出结果是( )
int x = 0;
while (x < 3) {
x++;
if (x == 2) continue;
Console.Write(x + " ");
}
A. 1 2 3 B. 1 3 C. 1 2 D. 1 3 3
15. 以下代码的输出结果是( )
int count = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) break;
count++;
}
}
Console.WriteLine(count);
A. 5 B. 10 C. 15 D. 3
二、判断题(本大题共10小题,每题2分,共20分)
16.while循环的循环体可能一次都不执行。( )
17.在嵌套循环中,内层循环的break语句可以跳出所有循环。( )
18.while循环的条件表达式可以是常量true,但这样会导致无限循环,除非使用break。( )
19.在循环中,break和continue都可以用于switch语句。( )
20.在do-while循环中,条件表达式为假时,循环体至少执行了一次。( )
21.for循环的条件判断部分在每次循环体执行后都会重新判断。( )
22.for(;;)是一个合法的C#语句,它表示一个无限循环,等价于while(true)。( )
23.while循环适合用于循环次数不确定但需要先判断条件的场景。( )
24.在嵌套循环中,使用break语句只会退出内层循环,外层循环不受影响。( )
25.break语句既可以在循环中使用,也可以在switch语句中使用。( )
3、 填空题(本大题共10个题,每题2分,共20分)
26.在while循环中,如果条件一开始就不满足,则循环体执行 ______ 次。
27.在for循环中,如果省略条件表达式,则默认条件为 ______。
28.for 循环的三个表达式之间必须用 ______ 分隔,即使表达式全部省略,该符号也不能省略。
29.循环语句中,______ 语句用于立即终止整个循环,跳出循环体继续执行后续代码。
30.for 循环初始化部分定义的变量,作用域仅在______内部。
31.foreach 主要用来遍历______和集合。
32.若 int sum = 0; for (int i = 1; i <= 5; i++) sum += i;,循环结束后 sum 的值是 ________。
33.执行代码 for (int i = 1; i <= 10; i += 2),循环体总共会执行 ________ 次。
34. 以下代码的输出是 ______。
int i = 0;
while (i < 3) {
Console.Write(i + " ");
i++;
}
35. 执行下列代码,输出的结果是 ________。
int i = 0;
while (++i < 3)
{
Console.Write(i);
}
四、读程题(本大题共1个题,共10分)
36.阅读以下程序,写出输出结果______________。
int sum = 0;
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
if (j % 2 == 0) continue;
sum += j;
}
}
Console.WriteLine(sum);
五、程序填空题(本大题共2个题,每题10分,共20分)
37.以下程序用于输出一个九九乘法表的下三角部分。请填空。
for (int i = 1; i <= 9; i++) {
for (int j = 1; __(1)____; j++) {
Console.Write("{0}×{1}={2}\t",i,j,i*j);
}
___(2)___;
}
38. 补全代码,实现计算最大公约数的欧几里得算法。
int a = 48, b = 18;
while(____(1)_______)
{
int temp = b;
b = ___(2)_______
a = temp;
}
Console.WriteLine("最大公约数是:" + a);
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编写专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第61卷,为考点训练卷,按《算法与程序设计-C#》范围和要求编写。具体内容为:1.循环语句:for、while、do..while;2.跳转语句:break、continue
2027版河北省《计算机类考纲百套卷》 第61卷
《算法与程序设计-C#》
循环语句 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共15小题,每题2分,共30分)
1.关于for循环语句,以下描述错误的是( )
A. for循环的三个表达式都可以省略,但分号不能省略
B. for循环的初始化表达式可以声明多个变量,可以不是同一类型
C. for循环的迭代表达式在循环体执行完毕后执行
D. for循环的初始化表达式声明的变量,其作用域仅限于该for循环内部
【答案】B
【解析】在for循环的初始化部分可以声明多个变量,但必须是同一类型。
2.关于do-while循环,以下说法正确的是( )
A. do-while循环至少执行一次循环体,然后再判断条件
B. do-while循环的条件表达式可以是任意类型,系统会自动转换为布尔值
C. do-while循环的循环体如果只有一条语句,也不可以省略大括号
D. do-while循环结束后,条件表达式中使用的变量会被自动销毁
【答案】A
【解析】do-while循环先执行循环体,再判断条件,因此至少执行一次。B错误,条件表达式必须是布尔类型。
3.在循环中使用continue语句的作用是( )
A. 立即终止整个循环,执行循环后面的语句
B. 跳过当前循环的剩余语句,继续下一次循环的条件判断
C. 跳出当前循环,并返回一个值
D. 暂停循环,等待用户输入
【答案】B
【解析】continue语句用于跳过当前循环迭代中剩余的语句,直接进行下一次循环的条件判断。
4.在嵌套循环中,如果内层循环使用了break,会( )
A. 跳出所有循环
B. 跳出最内层循环,继续执行外层循环的下一次迭代
C. 暂停所有循环,等待用户输入
D. 仅跳出当前内层循环的当前迭代
【答案】B
【解析】break语句会跳出其所在的最近一层循环(switch或循环),然后继续执行该循环之后的代码。在嵌套循环中,内层循环的break只会跳出内层循环,外层循环继续执行下一次迭代。
5.关于foreach循环,以下说法错误的是( )
A. foreach循环用于遍历集合或数组中的每个元素
B. 在foreach循环中不能修改迭代变量的值
C. foreach循环可以用于遍历任何实现了IEnumerable接口的集合
D. foreach循环中可以使用break和continue,但不能使用return
【答案】D
【解析】foreach 循环里完全可以使用 return,return 会直接退出整个方法,当然也会退出循环。
6.关于C#中的三种循环语句(for、while、do...while),下列说法错误的是( )
A. for循环通常用于已知循环次数的场景
B. while循环是先判断条件,后执行循环体
C. do...while循环的循环体至少会被执行一次
D. 三种循环语句在任何情况下都可以无条件地互相替换,且执行效果完全相同
【答案】D
【解析】虽然三种循环在逻辑上大多可以互相转换,但执行效果并不完全相同。do...while循环无论条件是否满足,循环体至少会执行一次,而for和while循环如果初始条件不满足,循环体可能一次都不执行。
7.下列关于 break 和 continue 语句的描述,正确的是( )
A. break 语句只能用于 switch 语句中
B. continue 语句会终止整个循环,跳出循环体
C. 在嵌套循环中,break 语句只能跳出当前所在的那一层循环
D. continue 语句执行后,程序会跳过循环条件的判断,直接执行循环体后面的代码
【答案】C
【解析】continue 会跳过本次循环剩余代码,但会回到循环头部重新进行条件判断。
8.在C#中,关于 for 循环的语法 for (表达式1; 表达式2; 表达式3),下列说法正确的是( )
A. 表达式1、2、3都不能省略
B. 表达式2(循环条件)如果省略,默认为 false
C. 表达式2(循环条件)如果省略,默认为 true
D. 表达式1只能在循环开始前执行一次,不能是逗号表达式
【答案】C
【解析】for 循环的三个表达式都可以省略,但分号不能省略。如果省略了中间的循环条件(表达式2),C# 默认其为 true,从而形成死循环。表达式1可以是逗号表达式。
9.关于 while 和 do...while 的区别,下列说法正确的是( )
A. while 循环的循环体至少执行一次
B. do...while 循环的循环体至少执行一次
C. 两者没有任何区别
D. do...while 循环的执行效率一定比 while 高
【答案】B
【解析】while 是先判断后执行,可能一次都不执行;do...while 是先执行后判断,至少执行一次。
10. 以下代码的输出结果是( )
int i = 0;
while (i < 5) {
Console.Write(i + " ");
i++;
}
A. 0 1 2 3 4 B. 1 2 3 4 5 C. 0 1 2 3 4 5 D. 无限循环
【答案】A
【解析】while循环在i<5时执行,初始i=0,输出0,然后i++变为1,依次执行,直到i=4时输出4,然后i++变为5,此时条件i<5为假,循环结束。所以输出0到4,共5个数字。
11.以下代码的输出结果是( )
int i = 5;
do
{
if (i % 2 == 0)
{
i--;
continue;
}
Console.Write(i + " ");
i--;
} while (i > 0);
A. 5 4 3 2 1 B. 5 3 1 C. 4 2 D. 5 3
【答案】B
【解析】从 5 倒序遍历到 1,只输出其中的奇数,跳过所有偶数。
12.以下代码的输出结果是( )
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) continue;
sum += i;
}
Console.WriteLine(sum);
A. 25 B. 30 C. 55 D. 0
【答案】A
【解析】该循环计算1到10之间奇数的和。当i是偶数时,continue跳过sum += i,只累加奇数。1+3+5+7+9=25。
13. 以下代码中,循环体执行了( )次。
int i = 0;
do {
i++;
} while (i < 10);
A. 9次 B. 10次 C. 11次 D. 无限循环
【答案】B
【解析】do-while循环至少执行一次。i从0开始,第一次执行i++变为1,然后判断i<10为真,继续。直到i=9时,执行i++变为10,判断i<10为假,退出。循环次数:i从1到10,共10次。
14. 以下代码的输出结果是( )
int x = 0;
while (x < 3) {
x++;
if (x == 2) continue;
Console.Write(x + " ");
}
A. 1 2 3 B. 1 3 C. 1 2 D. 1 3 3
【答案】B
【解析】初始x=0,进入循环,x++变为1,x==2为假,输出1。第二次循环,x++变为2,x==2为真,执行continue,跳过输出,直接进入下一次条件判断。第三次循环,x++变为3,x==2为假,输出3。此时x<3为假,循环结束。输出为1 3。
15. 以下代码的输出结果是( )
int count = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) break;
count++;
}
}
Console.WriteLine(count);
A. 5 B. 10 C. 15 D. 3
【答案】A
【解析】外层循环执行5次(i=0~4)。内层循环每次执行时,j从0开始,当j==1时break跳出内层循环。因此内层循环每次只执行一次count++(j=0时),然后遇到j==1就跳出。所以外层循环5次,内层每次使count增加1,总共5。
二、判断题(本大题共10小题,每题2分,共20分)
16.while循环的循环体可能一次都不执行。( )
【答案】对
【解析】如果条件一开始就不满足,则循环体一次都不执行。
17.在嵌套循环中,内层循环的break语句可以跳出所有循环。( )
【答案】错
【解析】break只能跳出其所在的最内层循环。
18.while循环的条件表达式可以是常量true,但这样会导致无限循环,除非使用break。( )
【答案】对
【解析】while(true) 条件表达式直接写常量 true,条件永远成立,构成无限循环。想要退出循环,只能在循环体内用 break、return、throw 等方式跳出。
19.在循环中,break和continue都可以用于switch语句。( )
【答案】错
【解析】continue不能作用于 switch。
20.在do-while循环中,条件表达式为假时,循环体至少执行了一次。( )
【答案】对
【解析】哪怕条件一开始就是假,循环体也已经至少执行一次。
21.for循环的条件判断部分在每次循环体执行后都会重新判断。( )
【答案】对
【解析】for循环的执行流程是循环体执行完后,执行迭代表达式(如i++),然后重新判断条件。所以条件判断在每次循环体和迭代部分执行后都会进行。
22.for(;;)是一个合法的C#语句,它表示一个无限循环,等价于while(true)。( )
【答案】对
【解析】C#中for循环的三部分都可以省略。for(;;)省略了所有部分,条件默认为true,因此是无限循环,等价于while(true)。
23.while循环适合用于循环次数不确定但需要先判断条件的场景。( )
【答案】对
【解析】while循环先判断后执行。
24.在嵌套循环中,使用break语句只会退出内层循环,外层循环不受影响。( )
【答案】对
【解析】 break只退出包含它的最内层循环。在双层嵌套中,内层循环的break只退出内层,外层循环继续执行。
25.break语句既可以在循环中使用,也可以在switch语句中使用。( )
【答案】对
【解析】break语句有两个主要用途:一是在循环中退出循环,二是在switch语句中退出case分支,防止case穿透。
3、 填空题(本大题共10个题,每题2分,共20分)
26.在while循环中,如果条件一开始就不满足,则循环体执行 ______ 次。
【答案】0
【解析】while 是先判断条件,再执行循环体。
27.在for循环中,如果省略条件表达式,则默认条件为 ______。
【答案】True
【解析】C# 中 for(初始化; ;迭代)中间的条件表达式省略时,默认视为恒为 true,会形成无限循环。
28.for 循环的三个表达式之间必须用 ______ 分隔,即使表达式全部省略,该符号也不能省略。
【答案】分号 (;)
【解析】三个表达式之间用分号隔开;即使写成空无限循环 for(;;),两个分号也必须保留,不能省略。
29.循环语句中,______ 语句用于立即终止整个循环,跳出循环体继续执行后续代码。
【答案】break
【解析】break 会立即终止当前整个循环,直接跳出循环体,执行循环后面的代码。
30.for 循环初始化部分定义的变量,作用域仅在______内部。
【答案】当前 for 循环
【解析】在 for(初始化; 条件; 迭代) 括号里定义的变量,属于局部变量,作用域只局限在整个 for 循环范围内。
31.foreach 主要用来遍历______和集合。
【答案】数组
【解析】foreach 循环专门用于遍历数组、各类集合(List、Dictionary 等)以及所有实现了 IEnumerable 接口的可遍历对象。
32.若 int sum = 0; for (int i = 1; i <= 5; i++) sum += i;,循环结束后 sum 的值是 ________。
【答案】15
【解析】循环求 1+2+3+4+5的值。
33.执行代码 for (int i = 1; i <= 10; i += 2),循环体总共会执行 ________ 次。
【答案】5
【解析】i 的取值为 1, 3, 5, 7, 9,共 5 次。
34. 以下代码的输出是 ______。
int i = 0;
while (i < 3) {
Console.Write(i + " ");
i++;
}
【答案】0 1 2
【解析】初始值 i = 0,循环条件:i < 3,每次循环:先输出 i,再 i++
35. 执行下列代码,输出的结果是 ________。
int i = 0;
while (++i < 3)
{
Console.Write(i);
}
【答案】12
【解析】前置自增 ++i 先加后用。第一次判断 i 变为 1,1<3 成立,输出 1;第二次判断 i 变为 2,2<3 成立,输出 2;第三次判断 i 变为 3,3<3 不成立,循环结束。
四、读程题(本大题共1个题,共10分)
36.阅读以下程序,写出输出结果______________。
int sum = 0;
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
if (j % 2 == 0) continue;
sum += j;
}
}
Console.WriteLine(sum);
【答案】19
【解析】 外层i从1到5。内层j从1到i,但只累加奇数。
五、程序填空题(本大题共2个题,每题10分,共20分)
37.以下程序用于输出一个九九乘法表的下三角部分。请填空。
for (int i = 1; i <= 9; i++) {
for (int j = 1; __(1)____; j++) {
Console.Write("{0}×{1}={2}\t",i,j,i*j);
}
___(2)___;
}
【答案】
(1)j <= i
(2)Console.WriteLine()
【解析】下三角要求j<=i,每行结束后换行。
38. 补全代码,实现计算最大公约数的欧几里得算法。
int a = 48, b = 18;
while(____(1)_______)
{
int temp = b;
b = ___(2)_______
a = temp;
}
Console.WriteLine("最大公约数是:" + a);
【答案】
(1) b != 0
(2) a % b;
【解析】 欧几里得算法:用较大数除以较小数,取余数,然后用除数继续除以余数,直到余数为0,此时除数就是最大公约数。使用while循环,条件b != 0。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$