1、长春理工大学 C#程序设计实验指导书C#程序设计实验指导书长春理工大学 C#程序设计实验指导书目录实验一 C#与.NET 环境初步 .3【实验目的】 .。【实验环境】 .。【实验重点及难点】 .。【实验内容】 .。实验二 C#基础知识运用 .4【实验目的】 .。【实验环境】 .。【实验重点及难点】 .。【实验内容】 .。实验三在 C#中实现面向对象编程 .6【实验目的】 .6【实验环境】 .6【实验重点及难点】 .6【实验内容】 .6实验四 WinForms 程序设计初步 .7【实验目的】 .7【实验环境】 .7【实验重点及难点】 .7【实验内容】 .7实验五 调试、测试和异常处理 .10【实
2、验目的】 .10【实验环境】 .10【实验重点及难点】 .10【实验内容】 .10实验六 数据库编程:连接数据库 .13【实验目的】 .13【实验环境】 .13【实验重点及难点】 .13【实验内容】 .13实验七数据库编程:检索操作数据 .18【实验目的】 .18【实验环境】 .18【实验重点及难点】 .18【实验内容】 .18实验八 C#高级编程 .20【实验目的】 .20【实验环境】 .20【实验重点及难点】 .20【实验内容】 .20实验九数组、集合对象和泛型 .23【实验目的】 .23【实验环境】 .23长春理工大学 程序设计实验指导书2【实验重点及难点】 .23【实验内容】 .23实
3、验十 WinForms 高级编程 .27【实验目的】 .27【实验环境】 .27【实验重点及难点】 .。【实验内容】 .27实验十一三层结构数据库系统开发 .33【实验目的】 .33【实验环境】 .33【实验重点及难点】 .33【实验内容】 .33实验十二简单设计模式及应用 .35【实验目的】 .。【实验环境】 .。【实验重点及难点】 .。【实验内容】 .。实验十三文件和注册表操作 .38【实验目的】 .38【实验环境】 .38【实验重点及难点】 .38【实验内容】 .38长春理工大学 程序设计实验指导书3实训一、C#与.NET 环境初步实训目的: 了解.NET Framework 的结构。
4、理解.NET Framework 的基本概念 了解 .NET Framework 命名空间 了解 C#程序的基本结构 熟悉 Visual Studio.NET 的配置 熟悉如何创建一个控制台应用程 实训内容: 编写第一个控制台的输入与输出程序 建立第一个 Windows 窗体应用程序 定义一个简单的 IP 地址结构体实训设备仪器:PC50 台,要求:windows7/xp/2000/2003 操作系统,配置 Vc#2005/2008 运行环境,安装SQL Server2000/2005/2008 数据库管理系统实训步骤:1:控制台的输入与输出问题在控制台上实现文本的输入与输出。问题说明按照提示
5、输入自己的姓名,程序输出你输入的名字,并欢迎使用 C#语言。主要使用Console(控制台)对象的 WriteLine 和 Write 方法实现显示;使用 ReadLine 方法读入字符。分析Main()是应用程序(可执行)的入口点,它必须包含在一个类中,且仅有一个类能使用该标志定义。参考步骤:(1)为解决方案创建一个控制台应用程序的项目“Example_1”。(2)将“Program.cs”类文件重命名为“Welcome.cs”。(3)将以下代码添加到“Welcome.cs”中。using System; /给 System 名字空间加一个 using 指令,不再需要规定名字空间,就可以使用
6、它们的方法和属性using System.Collections.Generic;using System.Text;namespace Example_1class Welcome/*这种注释跨越多行*/static void Main(string args)/这是单行注释Console.Write(“请输入你的姓名:“); /Write 与WriteLine 不同的地方在于它输出时不换行长春理工大学 程序设计实验指导书4string strName = Console.ReadLine();Console.WriteLine(“0+,你好!n 欢迎使用 C#语言!“, strName);
7、 /0代替WriteLine 方法的参数表中紧随格式串后的第一个变量(4)选择“生成”“生成解决方案”选项,以生成此项目。(5)选择“调试” “开始执行(不调试)”选项来执行此应用程序。此应用程序的输出结果如图 1.1 所示。图 1.1 Welcome.cs 的输出结果根据实验内容和步骤,写出实验体会。实训二、C#基础知识运用实训目的:通过本章的学习,主要把握以下内容: 在 C#中定义变量和常量 使用 C# 中的基本数据类型 理解装箱和拆箱的概念 使用 C#中的运算符,选择结构和循环结构 定义和使用数组,了解结构和枚举 熟悉 C#中的预处理指令 熟悉 C#中的字符串处理实训设备仪器:PC50
8、台,要求:windows7/xp/2000/2003 操作系统,配置 Vc#2005/2008 运行环境,安装SQL Server2000/2005/2008 数据库管理系统实训内容: 编写一个使用枚举和 Switch case 选择语句的程序 浮点型数组排序 编写 1 到 9 的乘法口诀表程序实训步骤: 1:枚举和 Switch case问题枚举类型的构建和使用;通过 Switch case 语句来对符合条件值进行输出。问题说明长春理工大学 程序设计实验指导书5编写一个 Degrees 的枚举,然后引用这个枚举。分析在此问题中首先需要定义一组不同类型的学位。为此,可通过以下方式创建枚举。En
9、um DegreesBachelor, /学士Master, /硕士Doctor /博士然后,可以使用 switch 结构,根据传递到此 switch 结构的枚举成员来决定要显示的信息。参考步骤:(1)为解决方案创建一个控制台应用程序的项目“Example_3”。(2)将“Program.cs”类文件重命名为“EnumDemo.cs”。(3)将以下代码添加到“EnumDemo.cs”中。using System;using System.Collections.Generic;using System.Text;namespace Example_3/ 学位枚举列表enum Degrees/
10、枚举成员Bachelor,Master,Doctor/ / 此程序演示枚举和 switch case 的用法。/ class EnumDemo/ / 应用程序的主入口点。/ STAThreadstatic void Main(string args)/ 用 switch case 来为相应的 case 显示信息。switch (Degrees.Master)case Degrees.Bachelor:Console.WriteLine(“你的学位为学士“);break;长春理工大学 程序设计实验指导书6case Degrees.Master:Console.WriteLine(“你的学位为硕士
11、“);break;case Degrees.Doctor:Console.WriteLine(“你的学位为博士“);break;default: break;Console.ReadLine();(4)选择“生成”“生成解决方案”选项,以生成此项目。(5)选择“调试” “开始执行(不调试)”选项来执行此应用程序。此应用程序的输出结果如图 1.1 所示。图 1.1 EnumDemo.cs 的输出结果实验总结根据实验内容和步骤,写出实验体会。实训三、在 C#中实现面向对象编程实训目的:通过本章的学习,主要把握以下内容: 理解 C# 的类和对象 使用 C# 构造函数和析构函数 使用 C# 访问修饰符
12、 使用方法 在 C#中使用方法的重写 理解属性及其不同的类型、实现 理解和使用索引器 理解命名空间实训内容: 编写一个队列类的 C#程序。 this 关键字的使用。 构造函数的重载和普通函数的重载。实训设备仪器:PC50 台,要求:windows7/xp/2000/2003 操作系统,配置 Vc#2005/2008 运行环境,安装SQL Server2000/2005/2008 数据库管理系统实训步骤: 长春理工大学 程序设计实验指导书71:队列类的应用程序问题在数据结构中已经学习了队列,请用 C#编写一个类实现队列的功能,并编写一个测试类测试该队列的功能。(参考.Net 的类库中已经封装好了
13、的队列类:System.Collections.Queue,可以将自己做好的类,和它进行比较)问题说明队列是限定所有的插入操作在表的一端进行,而删除操作在表的另一端进行的线性表,具有先进先出的特性。确定该队列中存储的值类型为整数类型。分析一个队列有入排和出排动作,可以编写两个函数分别命名为 EnQueue 和 DeQueue;还应该有一个属性 Length:判断队列中的元素个数;一个打印的函数 Print:将队列中所有的值进行打印输出。实训总结根据实验内容和步骤,写出实验体会。实训四 WinForms 程序设计初步实训目的:1、 理解 Windows 窗体2、 使用基本控件如标签、文本、按钮、
14、列表框和组合框 3、 掌握窗体的常用属性和方法 4、 使用 WinForms 中的高级控件5、 单选按钮6、 图片框7、 选项卡控件8、 滚动条9、 进度条实训内容: 建立个人简历的 Windows 应用程序。 建立一个模拟的计算器应用程序。 建立一个媒体播放机应用程序。实训设备仪器:PC50 台,要求:windows7/xp/2000/2003 操作系统,配置 Vc#2005/2008 运行环境,安装SQL Server2000/2005/2008 数据库管理系统实训步骤: Windows 窗体是 Visual Studio .NET 提供的集成开发环境(IDE),可用于 Windows 应
15、用程序开发。它带有可用于创建 GUI(Graphical User Interface,图形用户界面)的所有现成界面组件。1:创建 Windows 窗体个人简历应用程序问题请编写一个简单的个人简历程序,要求可以通过文本框输入姓名,通过单选按钮设置性别,通过下拉列表框选择文化程度,通过文本区域填写其他个人信息;通过文件对话框选择照片并显示;通过两个下拉列表框来关联选择籍贯。指导教师分析解题思路该问题需要开发一个窗体,要求对用户的简历信息进行登记。该应用程序主要用到按钮、文本输入框、图片显示框、下拉列表框和列表框等控件。长春理工大学 程序设计实验指导书8分析主要通过对窗体和各控件相应的事件处理函数
16、进行编程,包括窗体的 Load、下拉框的SelectedIndexChanged、按钮的 Click 事件。参考步骤:先看看窗体的界面效果:图 5.1 登录屏幕(1)新建一个名为“PersonalResume”的基于 Windows 应用程序的项目。(2)将文件“Form1.cs”重命名为“PersonInfo.cs”。(3)设计窗体,方法是添加五个标签控件、一个文本框、两个按钮、两个单选按钮、一个图片显示框、一个下拉列表框和列表框。如表 5.1 所示列出了每个控件的属性。表 5.1 窗体的控件属性控件类型 Name 属性 Text 文本 说明Label lab_name 姓名: Label
17、lab_sex 性别: Label lab_nativePlace 籍贯: Label lab_photo 照片: Label lab_otherInfo 其他信息: TextBox tbx_name RadioButton rbn_male 男性 RadioButton rbn_female 女性 ComboBox cbx_province ListBox lbx_city PictureBox pbx_photo RichTextBox rtbx_otherInfo Button btn_browse 浏 览 Button btn_OK 确 定 (4)在窗体的 Load 事件中编写下列代码
18、。private void PersonInfo_Load(object sender, EventArgs e)cbx_province.Items.Add(“浙江省“);cbx_province.Items.Add(“江苏省“);cbx_province.SelectedIndex = 0;(5)在 cbx_province 的 SelectedIndexChanged 事件中编写下列代码。private void cbx_province_SelectedIndexChanged(object sender, EventArgs e)if (cbx_province.SelectedIt
19、em != null)string provinceStr = cbx_province.SelectedItem.ToString().Trim();string zjCitys =“杭州市“,“宁波市“,“温州市“,“绍兴市“,“台州市“,“湖州市“,“金长春理工大学 程序设计实验指导书9华市“,“嘉兴市“,“衢州市“ ,“丽水市“,“舟山市“;string jsCitys = “常州市“, “淮安市“, “连云港市“, “南京市“, “南通市“, “苏州市“, “宿迁市“, “泰州市“, “无锡市“, “徐州市“, “盐城市“ ,“扬州市“,“镇江市“;lbx_city.Items.Cl
20、ear(); /清空所有的 Item 项switch (provinceStr)case “浙江省“:lbx_city.Items.AddRange(zjCitys); /添加浙江省的城市break;case “江苏省“:lbx_city.Items.AddRange(jsCitys); /添加江苏省的城市break;(6)在 btn_browse 的 Click 事件中编写下列代码。private void btn_browse_Click(object sender, EventArgs e)OpenFileDialog imageDialog = new OpenFileDialog()
21、; imageDialog.Filter = “BMP(*.BMP)|*.BMP|JPEG(*.JPEG)|*.JPEG|JPG(*.JPG)|*.JPG|GIF(*.GIF)|*.GIF|PNG(*.png)|*.png“;imageDialog.Title = “选择照片“;if (imageDialog.ShowDialog() = DialogResult.OK)pbx_photo.ImageLocation = imageDialog.FileName;(7)在 btn_OK 的 Click 事件中编写下列代码。private void btn_OK_Click(object sender, EventArgs e)if (tbx_name.Text = “ return;if (lbx_city.SelectedItem = null)