内容正文:
编写说明:2026版河北省《计算机类考纲百套卷》依据2026版《河北省中等职业学校对口升学考试计算机类专业考试大纲》编写。本套试卷共115份,分为三个部分,第一部分是根据考试大纲的各考点范围与要求,编写的79份知识点训练卷,第二部分是针对每门课程的重点内容,编写的26份常考题训练卷,第三个部分是参考近几年河北省计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是2026版河北省《计算机类考纲百套卷》的第58卷,是知识点训练卷,按考纲中的《算法与程序设计--c#》-(二)c语言基础知识要求编写。具体如下:掌握C#语言的流程控制语句;1.顺序结构语句、赋值语句、输入输出语句、复合语句;2.条件语句:if…else、switch…case;3.循环语句:for、while、do…while ;4.跳转语句:break、continue。
河北省《计算机类考纲百套卷》 第58卷
算法与程序设计
(三)C# 控制结构
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共15小题,每题2分,共30分)
1. C#的语句结构不包括( )
A.顺序结构 B.分支结构或选择结构 C.循环结构 D.倒置结构
【答案】D
2. 在C#语言的循环结构中,首先执行一次,然后再判断条件的循环结构是( )
A.while循环 B.do…while循环 C.for循环 D.foreach循环
【答案】A
3. switch的语法结构不正确的是( )
A.switch条件判断接收int,char,string三种类型
B.switch的case块,必须要加上break
C.switch的case块,可以没有break
D.switch的default块,在条件都不满足的情况下执行
【答案】B
4. 下面有关if语句和switch 语句说法错误的是( )
A. if语句有三种基本形式:“单条选择”、“如果/否则”以及“多情形选择”
B. switch结构对处理多分支选择结构是非常方便的
C. break语句可以使程序退出整个swtich 结构
D. if语句中是不可以嵌套if语句的
【答案】D
5. 在C#中,下列for循环的运行结果是( )。
for(int i=0;i<5;i++)
{
Console.Write(++i);
}
A.1 2 3 4 5 B.1 3 5 C.135 D.12345
【答案】C
6. 下列循环语句,循环次数为( )
for (int i = 20; i >= 10; i = i - 3)
{
Console.Write(i);
}
A.5 B.4 C.3 D.2
【答案】B
7. C#语言中的类Console包含两个输入方法:Write()和WriteLine()。它们之间的唯一区别是( )。
A. WriteLine()方法输出后换行,Write()方法输出后不换行
B.WriteLine()方法可以格式化输出,Write()方法不可以
C. Write()方法输出后换行,WriteLine()方法输出后不换行
D.Write()方法可以格式化输出,WriteLine()方法不可以
【答案】A
8. 关于C#中的switch case 语句,以下说法正确的是( )
A .switch判断的表达式可以是整型或者字符型,但不能是字符串型
B. 在该语句中最多不能超过5个case子句
C. 在该语句中只能有一个default子句
D. 在该句中只能有一个break语句
【答案】C
9. 下列结构图对应于的结构是( )。
A. while 循环结构 B. do…while 循环结构
C. if…else… 选择结构 D.switch…case…选择结构
【答案】C
10. 以下叙述正确的是( )。
A.do….while语句构成的循环不能用其他语句构成的循环来代替
B.do….while语句构成的循环只能用 break语句退出
C.用 do….while语句构成的循环,在 while后的表达式为 true时结束循环
D.用 do….while语句构成的循环,在 while后的表达式应为关系表达式或逻辑表达式
【答案】D
11. 执行下列C#代码后,程序的结果为( )
int x = 0, y = 0;
while (x < 10)
{
y += (x += 2);
}
A. 10 B. 20 C. 30 D. 55
【答案】C
12. 在下面循环语句中循环体执行的次数为( )。
for(int i=0; i<n; i++)
if(i>n/2) break;
A. n/2 B. n/2+1 C. n/2-1 D. n-1
【答案】B
13. 以下关于for循环的说法不正确的是( )。
A. for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体
C. 在for循环中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
【答案】A
14. 以下由do-while语句构成的循环执行次数是( )
int m=1;
do
{
++m;
}while(m<1);
A.有语法错误,不能执行 B.一次也不执行 C.执行1次 D.执行2次
【答案】C
15.下面代码运行后,s 的值是( )。
static void Main(string[] args)
{
int s = 0;
for (int i = 1; i <50; i++)
{
if (s > 20)
{
break;
}
if (i % 3 == 0)
{
s += i;
}
}
A. 30 B. 20 C. 10 D. 6
【答案】A
二、判断题(本大题共5小题,每题2分,共10分)
1. 在C#中,switch语句中的控制表达式可以是整数类型、字符类型、字符串类型和枚举类型。( )
【答案】√
2. 当在程序中执行到break语句时,将结束本层循环类语句或 switch 语句的执行。( )
【答案】√
3. 在C#的switch语句中,每一个case标签后常量表达式的值都不能相同,包括值相同的不同常量。( )
【答案】√
4. C#中,if语句有3种基本形式,包括:if...,if...else...和if...else if...else语句。()
【答案】√
5. 在C#的switch语句中,case子句不能超过5个。( )
【答案】×
三、填空题(本大题共5小题,每题2分,共10分)
1. 一个switch语句最多只能有一个________子句。
【答案】default
2. 循环语句for (int i = -3; i <= 20; i+=4)的循环次数是_______。
【答案】6
3. 循环语句for ( i = -3; i <= 20; i+=4)的循环次数是_______。
【答案】Main
4.循环语句.for (double x = -1.5; x <= 3.5;x+=0.5 )的循环次数是_______。
【答案】11
5.要使语句for (int i = _____; i >= -2;i+=-2 )循环执行7次,则循环变量的初始值i就当为_____
【答案】10或11
四、程序题(本大题共5小题,每题5分,共25分)
1、下列C#程序的运行结果是________
static void Main(string[] args)
{
int x = 5;
int y = 5;
int z = 5;
x++;
Console.WriteLine(x);
Console.WriteLine(y++);
Console.Write(++z);
bool b = 20 - (15 - 8) * 2 > 10 && (2 % 2 * 2 + 2) > 2;
Console.WriteLine(b);
Console.ReadKey();
}
【答案】
6
5
6False
2、下列C#程序的运行结果是________
static void Main(string[] args)
{
int s = 0, i = 1;
for (; ;i++)
{
if (s > 50) break;
if (i % 2 == 0) s = i;
}
Console.WriteLine("i,s={0},{1}",i,s);
Console.ReadLine();
}
【答案】
i,s=53,52
3、下列C#程序的运行结果是________
static void Main(string[] args)
{
int p = 0;
for (int i = 1; i <= 2; i++)
for (int j = 1; j <= 2; ++j)
for (int k = 2; k >= 1; --k)
p = i + j + k;
Console.Write(p.ToString());
Console.ReadLine();
}
【答案】
5
4.下列C#程序的运行结果是________
class Program
{
const int N = 5;
static void Main(string[] args)
{
int a = 0;
for (int i = 1; i < N; i++)
{
int c = 0, b = 2;
a += 3; c = a + b;
Console.WriteLine(c);
}
Console.ReadKey();
}
}
【答案】
5
8
11
14
5.从控制台输入10和6,则下列C#程序的运行结果是________
static void Main(string[] args)
{
int m, n, i, j, max = 0;
Console.WriteLine("请输入m,n的值:");
m = Convert.ToInt32(Console.ReadLine());
n = int.Parse(Console.ReadLine());
if (m < n)
i = m;
else
i = n;
for (j = i; j > 0; j--)
if (m % j == 0 && n % j == 0)
{
max = j;
break;
}
Console.WriteLine("max={0}", max);
Console.ReadLine();
}
【答案】
max=2
五、程序改错题(本大题共1小题,共10分)
1、输入一个总的秒数,将该秒数换算为相应的时、分、秒。如输入3600秒,则输出结果为1小时;输入3610秒,结果为1小时10秒。下列程序有两处错误,请改正。
static void Main(string[] args)
{
while (true)
{
Int32 Seconds = Convert.ToInt32(Console.ReadLine());
int hour = Seconds / 3600;
Seconds -= hour * 3600;
int minu = Seconds % 60;
Seconds -= minu * 60;
int sec = Seconds;
if (minu = 0)
Console.WriteLine("{0}小时{1}秒", hour, sec);
else
Console.WriteLine("{0}小时{1}分{2}秒", hour, minu, sec);
}
}
【答案】
(1)int minu = Seconds % 60;改成:int minu = Seconds / 60;
(2)if (minu = 0)改成:if (minu == 0)
六、程序填空题(本大题共1小题,每空5分,共15分)
1、在控制台打印出100以内的所有非逢七过的数字。(逢七过:即这个整数中任意一位数字包含7或者是7的倍数,则这个整数就是逢七过),完成下列的程序填空。
static void Main(string[] args)
{
____________
while (a <= 100)
{
if (a % 7 == 0 || ____________)
{
a++;
continue;
}
Console.Write(a + " ");
_________
}
Console.ReadKey();
}
【答案】
(1)int a = 1;
(2)a % 10 == 7 || a / 10 == 7
(3)a++;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:2026版河北省《计算机类考纲百套卷》依据2026版《河北省中等职业学校对口升学考试计算机类专业考试大纲》编写。本套试卷共115份,分为三个部分,第一部分是根据考试大纲的各考点范围与要求,编写的79份知识点训练卷,第二部分是针对每门课程的重点内容,编写的26份常考题训练卷,第三个部分是参考近几年河北省计算机类专业理论考试真题,编写了10份专业综合训练卷。
本试卷是2026版河北省《计算机类考纲百套卷》的第58卷,是知识点训练卷,按考纲中的《算法与程序设计--c#》-(二)c语言基础知识要求编写。具体如下:掌握C#语言的流程控制语句;1.顺序结构语句、赋值语句、输入输出语句、复合语句;2.条件语句:if…else、switch…case;3.循环语句:for、while、do…while ;4.跳转语句:break、continue。
河北省《计算机类考纲百套卷》 第58卷
算法与程序设计
(三)C# 控制结构
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共15小题,每题2分,共30分)
1. C#的语句结构不包括( )
A.顺序结构 B.分支结构或选择结构 C.循环结构 D.倒置结构
2. 在C#语言的循环结构中,首先执行一次,然后再判断条件的循环结构是( )
A.while循环 B.do…while循环 C.for循环 D.foreach循环
3. switch的语法结构不正确的是( )
A.switch条件判断接收int,char,string三种类型
B.switch的case块,必须要加上break
C.switch的case块,可以没有break
D.switch的default块,在条件都不满足的情况下执行
4. 下面有关if语句和switch 语句说法错误的是( )
A. if语句有三种基本形式:“单条选择”、“如果/否则”以及“多情形选择”
B. switch结构对处理多分支选择结构是非常方便的
C. break语句可以使程序退出整个swtich 结构
D. if语句中是不可以嵌套if语句的
5. 在C#中,下列for循环的运行结果是( )。
for(int i=0;i<5;i++)
{
Console.Write(++i);
}
A.1 2 3 4 5 B.1 3 5 C.135 D.12345
6. 下列循环语句,循环次数为( )
for (int i = 20; i >= 10; i = i - 3)
{
Console.Write(i);
}
A.5 B.4 C.3 D.2
7. C#语言中的类Console包含两个输入方法:Write()和WriteLine()。它们之间的唯一区别是( )。
A. WriteLine()方法输出后换行,Write()方法输出后不换行
B.WriteLine()方法可以格式化输出,Write()方法不可以
C. Write()方法输出后换行,WriteLine()方法输出后不换行
D.Write()方法可以格式化输出,WriteLine()方法不可以
8. 关于C#中的switch case 语句,以下说法正确的是( )
A .switch判断的表达式可以是整型或者字符型,但不能是字符串型
B. 在该语句中最多不能超过5个case子句
C. 在该语句中只能有一个default子句
D. 在该句中只能有一个break语句
9. 下列结构图对应于的结构是( )。
A. while 循环结构 B. do…while 循环结构
C. if…else… 选择结构 D.switch…case…选择结构
10. 以下叙述正确的是( )。
A.do….while语句构成的循环不能用其他语句构成的循环来代替
B.do….while语句构成的循环只能用 break语句退出
C.用 do….while语句构成的循环,在 while后的表达式为 true时结束循环
D.用 do….while语句构成的循环,在 while后的表达式应为关系表达式或逻辑表达式
11. 执行下列C#代码后,程序的结果为( )
int x = 0, y = 0;
while (x < 10)
{
y += (x += 2);
}
A. 10 B. 20 C. 30 D. 55
12. 在下面循环语句中循环体执行的次数为( )。
for(int i=0; i<n; i++)
if(i>n/2) break;
A. n/2 B. n/2+1 C. n/2-1 D. n-1
13. 以下关于for循环的说法不正确的是( )。
A. for循环只能用于循环次数已经确定的情况
B.for循环是先判定表达式,后执行循环体
C. 在for循环中,可以用break语句跳出循环体
D.for循环体语句中,可以包含多条语句,但要用花括号括起来
14. 以下由do-while语句构成的循环执行次数是( )
int m=1;
do
{
++m;
}while(m<1);
A.有语法错误,不能执行 B.一次也不执行 C.执行1次 D.执行2次
15.下面代码运行后,s 的值是( )。
static void Main(string[] args)
{
int s = 0;
for (int i = 1; i <50; i++)
{
if (s > 20)
{
break;
}
if (i % 3 == 0)
{
s += i;
}
}
A. 30 B. 20 C. 10 D. 6
二、判断题(本大题共5小题,每题2分,共10分)
1. 在C#中,switch语句中的控制表达式可以是整数类型、字符类型、字符串类型和枚举类型。( )
2. 当在程序中执行到break语句时,将结束本层循环类语句或 switch 语句的执行。( )
3. 在C#的switch语句中,每一个case标签后常量表达式的值都不能相同,包括值相同的不同常量。( )
4. C#中,if语句有3种基本形式,包括:if...,if...else...和if...else if...else语句。()
5. 在C#的switch语句中,case子句不能超过5个。( )
三、填空题(本大题共5小题,每题2分,共10分)
1. 一个switch语句最多只能有一个________子句。
2. 循环语句for (int i = -3; i <= 20; i+=4)的循环次数是_______。
3. 循环语句for ( i = -3; i <= 20; i+=4)的循环次数是_______。
4.循环语句.for (double x = -1.5; x <= 3.5;x+=0.5 )的循环次数是_______。
5.要使语句for (int i = _____; i >= -2;i+=-2 )循环执行7次,则循环变量的初始值i就当为_____
四、程序题(本大题共5小题,每题5分,共25分)
1、下列C#程序的运行结果是________
static void Main(string[] args)
{
int x = 5;
int y = 5;
int z = 5;
x++;
Console.WriteLine(x);
Console.WriteLine(y++);
Console.Write(++z);
bool b = 20 - (15 - 8) * 2 > 10 && (2 % 2 * 2 + 2) > 2;
Console.WriteLine(b);
Console.ReadKey();
}
2、下列C#程序的运行结果是________
static void Main(string[] args)
{
int s = 0, i = 1;
for (; ;i++)
{
if (s > 50) break;
if (i % 2 == 0) s = i;
}
Console.WriteLine("i,s={0},{1}",i,s);
Console.ReadLine();
}
3、下列C#程序的运行结果是________
static void Main(string[] args)
{
int p = 0;
for (int i = 1; i <= 2; i++)
for (int j = 1; j <= 2; ++j)
for (int k = 2; k >= 1; --k)
p = i + j + k;
Console.Write(p.ToString());
Console.ReadLine();
}
4.下列C#程序的运行结果是________
class Program
{
const int N = 5;
static void Main(string[] args)
{
int a = 0;
for (int i = 1; i < N; i++)
{
int c = 0, b = 2;
a += 3; c = a + b;
Console.WriteLine(c);
}
Console.ReadKey();
}
}
5.从控制台输入10和6,则下列C#程序的运行结果是________
static void Main(string[] args)
{
int m, n, i, j, max = 0;
Console.WriteLine("请输入m,n的值:");
m = Convert.ToInt32(Console.ReadLine());
n = int.Parse(Console.ReadLine());
if (m < n)
i = m;
else
i = n;
for (j = i; j > 0; j--)
if (m % j == 0 && n % j == 0)
{
max = j;
break;
}
Console.WriteLine("max={0}", max);
Console.ReadLine();
}
五、程序改错题(本大题共1小题,共10分)
1、输入一个总的秒数,将该秒数换算为相应的时、分、秒。如输入3600秒,则输出结果为1小时;输入3610秒,结果为1小时10秒。下列程序有两处错误,请改正。
static void Main(string[] args)
{
while (true)
{
Int32 Seconds = Convert.ToInt32(Console.ReadLine());
int hour = Seconds / 3600;
Seconds -= hour * 3600;
int minu = Seconds % 60;
Seconds -= minu * 60;
int sec = Seconds;
if (minu = 0)
Console.WriteLine("{0}小时{1}秒", hour, sec);
else
Console.WriteLine("{0}小时{1}分{2}秒", hour, minu, sec);
}
}
六、程序填空题(本大题共1小题,每空5分,共15分)
1、在控制台打印出100以内的所有非逢七过的数字。(逢七过:即这个整数中任意一位数字包含7或者是7的倍数,则这个整数就是逢七过),完成下列的程序填空。
static void Main(string[] args)
{
____________
while (a <= 100)
{
if (a % 7 == 0 || ____________)
{
a++;
continue;
}
Console.Write(a + " ");
_________
}
Console.ReadKey();
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$