第63卷 算法与程序设计—窗体设计基础—河北省计算机类—考纲百套卷
|
2份
|
18页
|
61人阅读
|
0人下载
内容正文:
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第63卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷18——窗体设计基础"范围和要求编写。具体内容为:掌握窗体及控件的概念、属性、方法、事件;掌握窗体的属性:Name、Height、Width、Visible、WindowState、Dock、Font、BackColor、ForeColor、Icon、Size;掌握窗体的常用方法:Activate、Close、Refresh、Show、Hide;掌握窗体的事件:FormClosed、FormClosing、KeyDown、KeyPress、KeyUp、Load、MouseClick、MouseDoubleClick、MouseDown、MouseMove、MouseUp、Resize、GiveFeedback;掌握C#窗体的创建和使用方法
河北省对口招生职业技能考试
算法与程序设计 试卷
(算法程序卷18——窗体设计基础)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. C# Windows Forms中,Form的Name属性表示()
A.窗体标题 B.窗体的名称标识(代码中引用) C.窗体大小 D.窗体颜色
【答案】B
【解析】Form的Name属性是窗体的唯一名称标识,仅用于在代码中引用该窗体(如form1.Close());A选项窗体标题对应Text属性;C选项窗体大小对应Height、Width属性;D选项窗体颜色对应BackColor属性。
2. C# Windows Forms中,以下哪个属性用于设置窗体背景色()
A.Text B.BackColor C.ForeColor D.Name
【答案】B
【解析】BackColor属性专门用于设置窗体的背景颜色;A选项Text用于设置窗体标题;C选项ForeColor用于设置窗体前景色(文本、控件颜色);D选项Name是窗体的标识。
3. C# Windows Forms中,窗体的Load事件在()时触发
A.窗体每次显示 B.窗体第一次加载显示之前 C.窗体关闭时 D.窗体最大化
【答案】B
【解析】Load事件仅在窗体第一次加载、显示之前触发一次,常用于初始化窗体数据、加载控件等操作;A选项对应Shown事件;C选项对应FormClosing、FormClosed事件;D选项对应Resize事件。
4. C# Windows Forms中,Show()方法和ShowDialog()方法的区别是()
A.无区别 B.Show()非模态,ShowDialog()模态 C.Show()用于主窗体 D.ShowDialog()可最小化
【答案】B
【解析】Show()方法显示非模态窗体,用户可同时操作该窗体和其他窗体;ShowDialog()方法显示模态窗体,用户必须关闭该窗体后,才能操作其他窗体;A、C、D说法均错误。
5. C# WinForms中,Form(窗体)是()。
A.Windows应用程序的窗口容器 B.可以包含控件 C.是System.Windows.Forms命名空间中的类 D.以上都正确
【答案】D
【解析】Form是System.Windows.Forms命名空间下的核心类,是Windows应用程序的窗口容器,可包含按钮、文本框等各类控件,承担界面展示和交互的核心作用,因此A、B、C说法均正确。
6. C# WinForms中,控件的Name属性和Text属性的区别是()。
A.Name是编程标识符,Text是显示文本 B.两者完全相同 C.Name用于显示,Text用于标识 D.没有区别
【答案】A
【解析】Name属性是控件的编程标识符,仅用于代码中引用(如button1.Text),不显示在界面上;Text属性是控件的显示文本,用户可直接在界面上看到(如按钮上的“确定”);B、C、D说法均错误。
7. C# WinForms中,控件的Visible属性用于()。
A.控制控件是否可见 B.设置控件位置 C.设置控件大小 D.获取控件焦点
【答案】A
【解析】Visible属性用于控制控件的可见性,设为true时控件显示,设为false时控件隐藏(不显示但仍占用资源);B选项对应Location属性;C选项对应Size、Width、Height属性;D选项对应Focus()方法。
8. C# WinForms中,窗体的StartPosition属性用于设置()。
A.窗体启动时的显示位置 B.窗体的启动大小 C.窗体的标题文本 D.窗体的背景颜色
【答案】A
【解析】StartPosition属性专门用于设置窗体启动时的显示位置(如屏幕中心、左上角等);B选项对应Size属性;C选项对应Text属性;D选项对应BackColor属性。
9. C# WinForms中,窗体的WindowState属性可以设置为()。
A.Normal、Minimized、Maximized B.Maximized、Minimized、Hidden C.Normal、FullScreen D.Maximized、Normal、Hidden
【答案】A
【解析】WindowState属性用于设置窗体的显示状态,可选值为Normal(正常)、Minimized(最小化)、Maximized(最大化);Hidden不是该属性的可选值,FullScreen需通过其他方式实现,因此B、C、D错误。
10. C# WinForms中,以下关于Anchor属性的说法,正确的是()。
A.Anchor用于将控件固定在窗体的某一边缘 B.当窗体大小改变时,锚定的控件保持与对应边缘的距离不变 C.可以同时设置多个锚定边 D.以上都正确
【答案】D
【解析】Anchor属性用于将控件锚定在窗体的边缘(上、下、左、右),可同时设置多个边缘;当窗体大小改变时,锚定的控件会保持与对应边缘的距离不变,确保界面布局稳定,因此A、B、C说法均正确。
11. C# WinForms中,以下关于Dock属性的说法,正确的是()。
A.Dock用于将控件停靠在父容器的某一边 B.Dock=Top使控件贴在容器顶部 C.Dock=Fill使控件填满整个容器 D.以上都正确
【答案】D
【解析】Dock属性用于将控件停靠在父容器(如窗体)的边缘或填满容器,可选值包括Top(顶部)、Bottom(底部)、Left(左侧)、Right(右侧)、Fill(填满);A、B、C说法均符合该属性的功能,因此均正确。
12. C# WinForms中,以下关于Show()和ShowDialog()的区别,说法正确的是()。
A.Show()显示非模态窗体,ShowDialog()显示模态窗体 B.模态窗体阻止用户操作其他窗体 C.模态窗体关闭前无法操作其他窗体 D.以上都正确
【答案】D
【解析】Show()显示非模态窗体,用户可同时操作多个窗体;ShowDialog()显示模态窗体,模态窗体会抢占焦点,用户必须关闭该窗体后,才能操作其他窗体(即阻止操作其他窗体),因此A、B、C说法均正确。
13. C# WinForms中,以下关于DialogResult属性的说法,正确的是()。
A.用于表示对话框的返回值 B.可以设置为OK、Cancel、Yes、No等 C.常与ShowDialog()配合使用 D.以上都正确
【答案】D
【解析】DialogResult属性用于表示对话框(模态窗体)的返回值,可选值包括OK、Cancel、Yes、No等;该属性常与ShowDialog()方法配合使用,通过返回值判断用户在对话框中的操作(如点击“确定”或“取消”),因此A、B、C说法均正确。
14. C# WinForms中,以下关于FormBorderStyle属性的说法,正确的是()。
A.可设置窗体边框样式 B.None表示无边框 C.FixedDialog表示固定对话框样式 D.以上都正确
【答案】D
【解析】FormBorderStyle属性用于设置窗体的边框样式,可选值包括None(无边框)、FixedDialog(固定对话框样式,不可调整大小)、Sizable(可调整大小)等,因此A、B、C说法均正确。
15. C# WinForms中,以下关于Opacity属性的说法,正确的是()。
A.Opacity设置窗体的透明度(0.0~1.0) B.0.0表示完全透明,1.0表示完全不透明 C.可以用于实现窗体淡入淡出效果 D.以上都正确
【答案】D
【解析】Opacity属性用于设置窗体的透明度,取值范围为0.0(完全透明,不可见)到1.0(完全不透明);通过修改该属性的值,可实现窗体淡入淡出的视觉效果,因此A、B、C说法均正确。
16. C# WinForms中,以下关于Activate()方法的说法,正确的是()。
A.Activate()将窗体激活并获得焦点 B.如果窗体最小化则恢复 C.如果窗体未显示则显示 D.以上都正确
【答案】D
【解析】Activate()方法的作用是将窗体激活,使其成为当前活动窗口并获得焦点;若窗体处于最小化状态,调用该方法会恢复窗体显示;若窗体未显示,调用该方法会显示窗体并激活,因此A、B、C说法均正确。
17. C# WinForms中,窗体的Close()方法的作用是()
A.隐藏窗体 B.关闭窗体并释放资源 C.最小化窗体 D.刷新窗体
【答案】B
【解析】Close()方法用于关闭窗体,并释放窗体占用的资源;A选项隐藏窗体对应Hide()方法;C选项最小化窗体对应WindowState=Minimized;D选项刷新窗体对应Refresh()方法。
18. C# WinForms中,窗体的MouseClick事件在()时触发
A.鼠标按下窗体 B.鼠标单击窗体 C.鼠标在窗体上移动 D.鼠标松开窗体
【答案】B
【解析】MouseClick事件在用户单击窗体(按下并松开鼠标)时触发;A选项对应MouseDown事件;C选项对应MouseMove事件;D选项对应MouseUp事件。
19. C# WinForms中,以下关于Font属性的说法,正确的是()
A.用于设置窗体上文本的字体、字号和样式 B.仅用于设置控件的字体 C.无法修改字体颜色 D.以上都错误
【答案】A
【解析】Font属性用于设置窗体及控件上文本的字体、字号和样式(如加粗、倾斜);B选项错误,该属性可用于窗体和控件;C选项错误,字体颜色由ForeColor属性设置,与Font属性无关。
20. C# WinForms中,创建窗体应用程序时,默认的窗体类继承自()
A.Form B.Control C.Object D.Application
【答案】A
【解析】C# WinForms中,默认创建的窗体类(如Form1)继承自System.Windows.Forms.Form类;B选项Control是所有控件的基类;C选项Object是所有类的基类;D选项Application用于管理应用程序的生命周期。
二、填空题(共10空,每空1分,共10分)
21. C# WinForms中,窗体的______属性用于设置窗体的标题文本,显示在窗体标题栏上。
【答案】Text
【解析】Text属性是窗体的标题属性,设置的值会直接显示在窗体顶部的标题栏上,用于标识窗体的功能(如“学生管理系统”)。
22. 窗体的______属性用于设置窗体的宽度,单位为像素。
【答案】Width
【解析】Width属性用于设置或获取窗体的宽度,单位为像素;与之对应的Height属性用于设置窗体的高度,两者共同决定窗体的大小。
23. C# WinForms中,窗体的______方法用于隐藏窗体,但不释放窗体资源。
【答案】Hide
【解析】Hide()方法的作用是隐藏窗体,隐藏后窗体不可见,但仍占用内存资源,可通过Show()方法重新显示;与Close()方法(关闭并释放资源)区分。
24. 窗体的______事件在窗体关闭过程中触发,可用于取消关闭操作。
【答案】FormClosing
【解析】FormClosing事件在窗体开始关闭、但尚未完全关闭时触发,通过设置e.Cancel=true可取消关闭操作;FormClosed事件在窗体完全关闭后触发,无法取消。
25. C# WinForms中,窗体的______属性用于设置窗体的图标,显示在标题栏左侧。
【答案】Icon
【解析】Icon属性用于设置窗体的图标,图标会显示在窗体标题栏的左侧,用于标识应用程序的图标样式。
26. 窗体的______方法用于刷新窗体界面,重新绘制窗体及控件。
【答案】Refresh
【解析】Refresh()方法用于强制刷新窗体界面,重新绘制窗体及其中的所有控件,常用于界面数据更新后,确保显示内容同步。
27. C# WinForms中,窗体的______属性用于设置窗体的前景色,即文本和控件的颜色。
【答案】ForeColor
【解析】ForeColor属性用于设置窗体的前景色,主要影响窗体上文本、控件的颜色;与BackColor(背景色)相对应,共同决定界面的视觉效果。
28. 窗体的______事件在窗体大小改变时触发。
【答案】Resize
【解析】Resize事件在窗体的大小(宽度、高度)发生改变时触发,常用于调整控件布局,确保窗体大小改变后,控件位置和大小仍合理。
29. C# WinForms中,______方法用于将窗体激活,使其成为当前活动窗口并获得焦点。
【答案】Activate
【解析】Activate()方法的核心功能是激活窗体,使其成为当前活动窗口并获得焦点,若窗体最小化或未显示,会同步恢复显示。
30. 窗体的______属性用于设置窗体的显示状态,可设为正常、最小化、最大化。
【答案】WindowState
【解析】WindowState属性的可选值为Normal(正常状态)、Minimized(最小化,显示在任务栏)、Maximized(最大化,占满整个屏幕),用于控制窗体的显示状态。
三、判断题(共5题,每题1分,共5分)
31. C# WinForms中,窗体的Visible属性设为false时,窗体隐藏且释放资源。( )
【答案】×
【解析】Visible属性设为false时,窗体仅隐藏(不可见),但不会释放资源;释放资源需调用Close()方法,隐藏窗体应使用Hide()方法或设置Visible=false。
32. 窗体的FormClosed事件在窗体完全关闭后触发,此时窗体资源已释放。( )
【答案】√
【解析】FormClosed事件在窗体完全关闭、资源释放后触发,是窗体关闭过程的最后一个事件;FormClosing事件在关闭过程中触发,此时资源未释放。
33. C# WinForms中,ShowDialog()方法显示的模态窗体,关闭前无法操作其他窗体。( )
【答案】√
【解析】ShowDialog()方法显示的是模态窗体,模态窗体会抢占焦点,用户必须关闭该模态窗体后,才能操作应用程序中的其他窗体,符合模态窗体的核心特性。
34. 窗体的Dock属性设为Fill时,窗体会填满整个父容器,无法调整大小。( )
【答案】×
【解析】Dock属性设为Fill时,窗体会填满整个父容器,但窗体的大小仍可通过调整父容器大小来改变;若要禁止调整大小,需设置FormBorderStyle属性为不可调整样式。
35. C# WinForms中,窗体的Load事件仅在窗体第一次加载时触发一次。( )
【答案】√
【解析】Load事件的触发时机是窗体第一次加载、显示之前,仅触发一次;若窗体隐藏后重新显示(如Hide()后Show()),不会再次触发Load事件。
四、程序分析题(共1题,每题10分,共10分)
36. 阅读下面的C#程序,分析其功能并写出运行结果。
using System;
class Program{
static void Main(){
string s = "Hello";
Console.Write(s.ToUpper());
Console.WriteLine(" " + s);
}
}
程序运行结果:___________________
【答案】HELLO Hello
五、写运行结果题(共2题,每题5分,共10分)
37. 分析下面C#程序段的输出结果:
using System;
class Program{
static void Main(){
int sum = 0;
for(int i = 1; i <= 10; i++){
if(i % 2 == 0)
sum += i;
}
Console.WriteLine(sum);
}
}
程序运行结果:___________________
【答案】30
38. 分析下面C#程序段的输出结果:
using System;
class Program{
static void Main(){
string s = "HelloWorld";
Console.WriteLine(s.Substring(5, 5));
}
}
程序运行结果:___________________
【答案】World
六、程序改错题(共1题,每题5分,共5分)
39. 下面程序统计字符串中数字字符的个数,但有1处错误,请找出并改正:
using System;
class Program{
static void Main(){
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i <= arr.Length; i++)
sum += arr[i];
Console.WriteLine(sum);
}
}
请找出程序中的错误,并写出正确答案。
【答案】错误:i <= arr.Length 应改为 i < arr.Length(数组下标最大为Length-1,否则越界)。
七、程序填空题(共3题,每题5分,共15分)
40. 下面程序实现二分查找,请填写空白处:
using System;
class Program
{
static int BinarySearch(int[] arr, int target)
{
int left = 0, right = arr.Length - 1;
while (_____)
{
int mid = (left + right) / 2;
if (arr[mid] == target) return mid;
else if (arr[mid] < target) left = _____;
else right = mid - 1;
}
return -1;
}
static void Main()
{
int[] arr = { 1, 3, 5, 7, 9, 11, 13 };
Console.WriteLine(BinarySearch(arr, 7));
}
}
【答案】['left <= right', 'mid + 1']
41. 下面程序计算字符串中各字符出现的次数,请填写空白处:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
string s = "abracadabra";
Dictionary<char, int> dict = new Dictionary<char, int>();
foreach (char c in s)
{
if (dict.ContainsKey(c))
_____;
else
dict[c] = _____;
}
foreach (var kv in dict)
Console.WriteLine(kv.Key + ":" + kv.Value);
}
}
【答案】['dict[c]++', '1']
42. 下面程序将整数转换为二进制字符串,请填写空白处:
using System;
class Program
{
static string ToBinary(int n)
{
if (n == 0) return "0";
string result = "";
while (_____)
{
result = (n % 2).ToString() + result;
n = _____;
}
return result;
}
static void Main()
{
Console.WriteLine(ToBinary(10));
Console.WriteLine(ToBinary(13));
}
}
【答案】['n > 0', 'n / 2']
学科网(北京)股份有限公司
$
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第63卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷18——窗体设计基础"范围和要求编写。具体内容为:掌握窗体及控件的概念、属性、方法、事件;掌握窗体的属性:Name、Height、Width、Visible、WindowState、Dock、Font、BackColor、ForeColor、Icon、Size;掌握窗体的常用方法:Activate、Close、Refresh、Show、Hide;掌握窗体的事件:FormClosed、FormClosing、KeyDown、KeyPress、KeyUp、Load、MouseClick、MouseDoubleClick、MouseDown、MouseMove、MouseUp、Resize、GiveFeedback;掌握C#窗体的创建和使用方法
河北省对口招生职业技能考试
算法与程序设计 试卷
(算法程序卷18——窗体设计基础)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. C# Windows Forms中,Form的Name属性表示()
A.窗体标题 B.窗体的名称标识(代码中引用) C.窗体大小 D.窗体颜色
2. C# Windows Forms中,以下哪个属性用于设置窗体背景色()
A.Text B.BackColor C.ForeColor D.Name
3. C# Windows Forms中,窗体的Load事件在()时触发
A.窗体每次显示 B.窗体第一次加载显示之前 C.窗体关闭时 D.窗体最大化
4. C# Windows Forms中,Show()方法和ShowDialog()方法的区别是()
A.无区别 B.Show()非模态,ShowDialog()模态
C.Show()用于主窗体 D.ShowDialog()可最小化
5. C# WinForms中,Form(窗体)是()。
A.Windows应用程序的窗口容器 B.可以包含控件
C.是System.Windows.Forms命名空间中的类 D.以上都正确
6. C# WinForms中,控件的Name属性和Text属性的区别是()。
A.Name是编程标识符,Text是显示文本 B.两者完全相同
C.Name用于显示,Text用于标识 D.没有区别
7. C# WinForms中,控件的Visible属性用于()。
A.控制控件是否可见 B.设置控件位置 C.设置控件大小 D.获取控件焦点
8. C# WinForms中,窗体的StartPosition属性用于设置()。
A.窗体启动时的显示位置 B.窗体的启动大小 C.窗体的标题文本 D.窗体的背景颜色
9. C# WinForms中,窗体的WindowState属性可以设置为()。
A.Normal、Minimized、Maximized B.Maximized、Minimized、Hidden
C.Normal、FullScreen D.Maximized、Normal、Hidden
10. C# WinForms中,以下关于Anchor属性的说法,正确的是()。
A.Anchor用于将控件固定在窗体的某一边缘
B.当窗体大小改变时,锚定的控件保持与对应边缘的距离不变
C.可以同时设置多个锚定边
D.以上都正确
11. C# WinForms中,以下关于Dock属性的说法,正确的是()。
A.Dock用于将控件停靠在父容器的某一边 B.Dock=Top使控件贴在容器顶部
C.Dock=Fill使控件填满整个容器 D.以上都正确
12. C# WinForms中,以下关于Show()和ShowDialog()的区别,说法正确的是()。
A.Show()显示非模态窗体,ShowDialog()显示模态窗体 B.模态窗体阻止用户操作其他窗体 C.模态窗体关闭前无法操作其他窗体 D.以上都正确
13. C# WinForms中,以下关于DialogResult属性的说法,正确的是()。
A.用于表示对话框的返回值 B.可以设置为OK、Cancel、Yes、No等
C.常与ShowDialog()配合使用 D.以上都正确
14. C# WinForms中,以下关于FormBorderStyle属性的说法,正确的是()。
A.可设置窗体边框样式 B.None表示无边框
C.FixedDialog表示固定对话框样式 D.以上都正确
15. C# WinForms中,以下关于Opacity属性的说法,正确的是()。
A.Opacity设置窗体的透明度(0.0~1.0) B.0.0表示完全透明,1.0表示完全不透明
C.可以用于实现窗体淡入淡出效果 D.以上都正确
16. C# WinForms中,以下关于Activate()方法的说法,正确的是()。
A.Activate()将窗体激活并获得焦点 B.如果窗体最小化则恢复
C.如果窗体未显示则显示 D.以上都正确
17. C# WinForms中,窗体的Close()方法的作用是()
A.隐藏窗体 B.关闭窗体并释放资源 C.最小化窗体 D.刷新窗体
18. C# WinForms中,窗体的MouseClick事件在()时触发
A.鼠标按下窗体 B.鼠标单击窗体 C.鼠标在窗体上移动 D.鼠标松开窗体
19. C# WinForms中,以下关于Font属性的说法,正确的是()
A.用于设置窗体上文本的字体、字号和样式 B.仅用于设置控件的字体
C.无法修改字体颜色 D.以上都错误
20. C# WinForms中,创建窗体应用程序时,默认的窗体类继承自()
A.Form B.Control C.Object D.Application
二、填空题(共10空,每空1分,共10分)
21. C# WinForms中,窗体的______属性用于设置窗体的标题文本,显示在窗体标题栏上。
22. 窗体的______属性用于设置窗体的宽度,单位为像素。
C# WinForms中,窗体的______方法用于隐藏窗体,但不释放窗体资源。
24. 窗体的______事件在窗体关闭过程中触发,可用于取消关闭操作。
25. C# WinForms中,窗体的______属性用于设置窗体的图标,显示在标题栏左侧。
26. 窗体的______方法用于刷新窗体界面,重新绘制窗体及控件。
27. C# WinForms中,窗体的______属性用于设置窗体的前景色,即文本和控件的颜色。
28. 窗体的______事件在窗体大小改变时触发。
29. C# WinForms中,______方法用于将窗体激活,使其成为当前活动窗口并获得焦点。
30. 窗体的______属性用于设置窗体的显示状态,可设为正常、最小化、最大化。
三、判断题(共5题,每题1分,共5分)
31. C# WinForms中,窗体的Visible属性设为false时,窗体隐藏且释放资源。( )
32. 窗体的FormClosed事件在窗体完全关闭后触发,此时窗体资源已释放。( )
33. C# WinForms中,ShowDialog()方法显示的模态窗体,关闭前无法操作其他窗体。( )
34. 窗体的Dock属性设为Fill时,窗体会填满整个父容器,无法调整大小。( )
35. C# WinForms中,窗体的Load事件仅在窗体第一次加载时触发一次。( )
四、程序分析题(共1题,每题10分,共10分)
36. 阅读下面的C#程序,分析其功能并写出运行结果。
using System;
class Program{
static void Main(){
string s = "Hello";
Console.Write(s.ToUpper());
Console.WriteLine(" " + s);
}
}
程序运行结果:___________________
五、写运行结果题(共2题,每题5分,共10分)
37. 分析下面C#程序段的输出结果:
using System;
class Program{
static void Main(){
int sum = 0;
for(int i = 1; i <= 10; i++){
if(i % 2 == 0)
sum += i;
}
Console.WriteLine(sum);
}
}
程序运行结果:___________________
38. 分析下面C#程序段的输出结果:
using System;
class Program{
static void Main(){
string s = "HelloWorld";
Console.WriteLine(s.Substring(5, 5));
}
}
程序运行结果:___________________
六、程序改错题(共1题,每题5分,共5分)
39. 下面程序统计字符串中数字字符的个数,但有1处错误,请找出并改正:
using System;
class Program{
static void Main(){
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for(int i = 0; i <= arr.Length; i++)
sum += arr[i];
Console.WriteLine(sum);
}
}
请找出程序中的错误,并写出正确答案。
七、程序填空题(共3题,每题5分,共15分)
40. 下面程序实现二分查找,请填写空白处:
using System;
class Program
{
static int BinarySearch(int[] arr, int target)
{
int left = 0, right = arr.Length - 1;
while (_____)
{
int mid = (left + right) / 2;
if (arr[mid] == target) return mid;
else if (arr[mid] < target) left = _____;
else right = mid - 1;
}
return -1;
}
static void Main()
{
int[] arr = { 1, 3, 5, 7, 9, 11, 13 };
Console.WriteLine(BinarySearch(arr, 7));
}
}
41. 下面程序计算字符串中各字符出现的次数,请填写空白处:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
string s = "abracadabra";
Dictionary<char, int> dict = new Dictionary<char, int>();
foreach (char c in s)
{
if (dict.ContainsKey(c))
_____;
else
dict[c] = _____;
}
foreach (var kv in dict)
Console.WriteLine(kv.Key + ":" + kv.Value);
}
}
42. 下面程序将整数转换为二进制字符串,请填写空白处:
using System;
class Program
{
static string ToBinary(int n)
{
if (n == 0) return "0";
string result = "";
while (_____)
{
result = (n % 2).ToString() + result;
n = _____;
}
return result;
}
static void Main()
{
Console.WriteLine(ToBinary(10));
Console.WriteLine(ToBinary(13));
}
}
学科网(北京)股份有限公司
$