C#程序设计实验指导书.docx

上传人:b****5 文档编号:7283084 上传时间:2023-01-22 格式:DOCX 页数:13 大小:268.91KB
下载 相关 举报
C#程序设计实验指导书.docx_第1页
第1页 / 共13页
C#程序设计实验指导书.docx_第2页
第2页 / 共13页
C#程序设计实验指导书.docx_第3页
第3页 / 共13页
C#程序设计实验指导书.docx_第4页
第4页 / 共13页
C#程序设计实验指导书.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C#程序设计实验指导书.docx

《C#程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《C#程序设计实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。

C#程序设计实验指导书.docx

C#程序设计实验指导书

吉林大学珠海学院计算机系

 

C#.NET程序设计

实验指导书

 

陈红玲编著

2011年2月10日

目录

实验一熟悉VisualStudio.NET2008开发环境1

实验二基本数据类型和控制台输入输出2

实验三 程序基本控制结构3

实验四常用数据类型一4

实验五常用数据类型二5

实验六 类和对象6

实验七继承、多态和接口7

实验八委托、事件、序列化8

实验九控件使用9

实验十目录与文件管理11

实验十一图形图像处理12

实验十二数据库编程13

实验十三开发Web应用程序*14

具体实验安排和要求15

实验一熟悉VisualStudio.NET2008开发环境

【学时数:

2学时】

一、实验目的

1.掌握VisualStudio.NET2008的基本操作方法。

2.掌握C#控制台应用程序、Windows应用程序的基本操作过程。

3.初步理解C#程序的结构和特点,掌握基本的编译和调试方法。

二、实验内容

1.设计一个简单的C#控制台应用程序,逐行显示自己的学号、姓名、专业信息。

(参考教材P8页例1-1)

2.设计一个Windows应用程序,在窗体上显示三个标签框,标签框里的内容分别为自己的学号、姓名、专业。

(参考教材P9页例1-2)

3.阅读教材1.3节内容,录入P14页[例1-4]程序,运行并输出结果,了解C#程序的结构。

尝试进行如下改动并思考:

(1)将Program.cs、HelloName.cs和HelloMe.cs文件中的命名空间依次改为ConsoleApplicationExample1、ConsoleApplicationExample2、ConsoleApplicationExample3。

看看程序还能不能运行。

(2)程序应该如何修改,才能正常运行?

(3)namespace关键字声明命名空间有何作用?

using关键字指明引用的命名空间有何作用?

4.练习掌握C#编码规范

(1)类名、方法名和属性名使用Pascal命名法

(2)变量名、对象名、参数名使用Camel命名法

实验二基本数据类型和控制台输入输出

【学时数:

2学时】

一、实验目的

1.理解C#的值类型、常量和变量的概念。

2.理解数据类型的转换以及装箱和拆箱的区别。

3.掌握C#的常用运算符以及表达式的运算规则。

二、实验内容

1.设计一个控制台程序,从键盘输入一个人的名字,在显示器中显示对输入姓名的问候。

比如输入:

张三;输出:

张三,欢迎你!

提示:

输入字符串放入s中,将s+”,欢迎你!

”,再输出。

2.设计一个控制台程序,从键盘输入两个整数,输出这两个数的和、差、积、商(商要求为数学商,非整除商)。

提示:

使用语句int.Parse(Console.ReadLine())或Convert.ToInt32(Console.ReadLine())获得用户输入的两个数。

3.阅读教材2.5节内容,输入下面的语句,观察输出格式:

Console.WriteLine("{0:

D}",10);

Console.WriteLine("{0:

D5}",10);

Console.WriteLine("{0:

F}",10);

Console.WriteLine("{0:

F4}",10);

Console.WriteLine("{0:

00000}",123);

Console.WriteLine("{0:

000}",12345);

Console.WriteLine("{0:

0000}",123.64);

Console.WriteLine("{0:

00.00}",123.6484);

Console.WriteLine("{0:

####}",123);

Console.WriteLine("{0:

####}",123.64);

Console.WriteLine("{0:

####.###}",123.640);

Console.WriteLine("{0:

####.##}",0.0100);

Console.WriteLine("{0:

####.##}",123.648);

Console.WriteLine("{0}--{0:

p}good",12.34F);

Console.WriteLine("{0}--{0:

00000}good",456);

Console.Write("{0,-4}{1,-4}{2,-4}",1,2,3);

DateTimedt=newDateTime(2011,3,11);

strings=string.Format("{0:

yyyy年MM月dd日}",dt);

Console.WriteLine(s);

Console.ReadLine();

实验三 程序基本控制结构

【学时数:

2学时】

一、实验目的

1.掌握C#的两种分支语句(if、switch)的使用方法。

2.掌握C#的4种循环语句(while、do/while、for、foreach)的使用方法。

二、实验内容

1.编写一个控制台程序,输入一个学生的成绩,输出其等级。

(优:

>=90;良:

>=80;中:

>=70;及格:

>=60;不及格:

<60)

2.编写控制台程序,定义两个整数,定义一个字符变量,当这个字符变量分别是‘+’、‘-’、‘*’、‘/’时,用switch语句输出这两个数的运算结果。

3.编写控制台程序,输出1-5的平方值,要求分别用for语句、while语句、do-while语句实现。

4.编写控制台程序,定义一个字符串变量,从键盘往其中输入一行字符串,使用foreach语句逐行输出其中的每一个字符。

提示:

foreach(charcins)……输出其中的每个字符。

思考题:

1.编写控制台程序,要求完成下列功能:

(1)接收一个整数n.

(2)如果接收的值n为正数,输出1~n的全部整数。

并转到

(1)继续接收下一个整数。

(3)如果接收的值为负值,用break或者return退出程序。

2.编写控制台程序,输入两个整数将其整除,并使用try-catch语句捕获除数为0的异常,并输出异常消息。

实验四常用数据类型一

【学时数:

2学时】

一、实验目的

1.掌握字符串、数组和枚举的使用。

二、实验内容

1.编写一个控制台程序,接收一个长度大于3的字符串,完成下列功能。

(参考教材3.1节)

(1)输出字符串的长度。

(2)输出字符串中第一个出现字母a的位置。

(3)在字符串的第3个字符后面插入子串“hello”,输出新字符串。

(4)将字符串“hello”替换为“me”,输出新字符串。

(5)以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。

2.编写一个控制台程序,连续输入一串数字,各数字以逗号隔开,然后按从小到大和从大到小的顺序排列输出。

提示:

首先利用String.Split()方法将输入的数字字符串中的数字分离出来,并保存到数组中,然后再对数组中的数字进行排序。

(参考教材3.1和3.2节中的Split()方法、Sort()方法和Reverse()方法的使用)

核心代码:

strings=Console.ReadLine();

string[]sn=s.Split(',');

int[]number=newint[sn.Length];

    for(……){number[i]=Convert.ToInt32(sn[i]);}

Array.Sort(number);

……

3.编写一个控制台程序,输入一个日期,输出这一天是星期几。

(参考教材3.3和3.6节)

提示:

定义一个枚举和日期型变量,利用日期类型的DayOfWeek属性获得该日期是一周的第几天,再用枚举值求得是星期几。

核心代码:

enumWeekDay{星期天,星期一,星期二,星期三,星期四,星期五,星期六};

……

//s的类型为string,其值是从键盘上输入的一个日期,注意输入正确的格式,比如:

2011-02-10

DateTimed=Convert.ToDateTime(s);

WeekDaywd=(WeekDay)d.DayOfWeek;

实验五常用数据类型二

【学时数:

2学时】

一、实验目的

1.掌握日期与时间、数学运算、随机数的使用。

2.掌握泛型和泛型集合的操作。

二、实验内容

1.设计并实现一个类,具有以下功能,并测试其所有功能

(1)该类用来保存和处理学生的手机蓝牙信息

(2)注册功能,即添加一条新的记录到对象中。

一条记录包括学号和蓝牙地址,均以字符串形式提供。

学号8位,如“04110101”,蓝牙地址12位,如“AE01BE02CE03”。

(3)查找功能,给定一个蓝牙地址,查找该蓝牙地址是否已注册。

(4)查找功能,给定一个蓝牙地址,找出对应的学号。

2.设计一个函数,用来判断给定的时间是否是上某一节课的时间。

函数原型:

boolIsTimeForCourse(DateTimedt,stringcourse)

第一个参数为给定的日期和时间,比如现在的时间:

DateTime.Now

第二个参数为课表中的字符串,格式如“周二第5,6节{第1-8周}”。

如果是正确的上课时间,返回true,否则,返回false

提示:

1)需要同时满足三个条件,周次,周几,上课时间;2)上课时间的对应表如下,建议使用Dictionary保存。

("第1,2节","8:

20-10:

00");

("第3,4节","10:

20-12:

00");

("第5,6节","14:

00-15:

40");

("第7,8节","16:

00-17:

40");

("第9,10节","19:

00-20:

40");

3)主要用到字符串类和日期时间类

4)9月3日是本学期第一周的周一,用于计算当前周次

实验六 类和对象

【学时数:

2学时】

一、实验目的

1.熟悉C#类、对象、方法的概念与用法;

2.掌握编写简单的面向对象的应用程序;

3.熟悉并掌握C#构造方法及其重载方法的用法;

4.熟悉并掌握类和成员的访问修饰符的用法。

二、实验内容

1.阅读教材P66页[例4-1]程序,了解C#中构造函数的重载和创建对象的方法。

2.编程实现一个图书类book,增加有参和无参数构造函数,同时具有如下功能:

记录和访问图书信息,包括书名,作者,价格。

用两种不同的构造函数创建两本书,使这两本书都具有各自的相关信息,最后将其信息输出。

3.编写一个矩形类(Rect)与一个圆类(Circle),分别通过构造方法对一个矩形对象(rect1)与一个圆对象(circle1)进行初始化后,求出矩形与圆的面积。

同时具有如下功能:

可以设置和读取矩形的边长和圆的半径,但只能读取它们的面积,不能修改面积。

4.阅读教材4.3.2节内容,调试[例4-6],[例4-7]程序,掌握C#中传值和传引用类型参数的使用方法。

思考题:

编写一个控制台程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号、姓名、语文、数学和英语3门课程的期末考试成绩,要求:

(1)能查询每个学生的总成绩;

(2)能显示单科成绩最高分和该科不及格的学生名单;

(3)能统计全班学生的平均成绩

提示:

(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩和英语成绩)和属性(总成绩)等;

(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等;

(3)实现在控制台输入学生的名字即输出该生的总成绩功能,输入某班和某科的名称即输出该班该科最高分和不及格学生名字,以及输入某班的名字即输出该班的平均成绩。

实验七继承、多态和接口

【学时数:

2学时】

一、实验目的

1.理解类的继承性与多态性,掌握其应用方法。

2.理解抽象类、接口的概念,掌握抽象类与接口的定义及使用方法。

二、实验内容

1.编写一个控制台应用程序,完成下列功能,并回答提出的问题。

教材P101页题3。

(1)创建一个类A,在构造函数中输出“A”,再创建一个类B,在构造函数中输出“B”。

(2)从A继承一个名为C的新类,并在C内创建一个成员B。

不要为C创建构造函数。

(3)在Main方法中创建类C的一个对象,写出运行程序后输出的结果。

(4)如果在C中也创建一个构造函数输出“C”,整个程序运行的结果又是什么?

2.编写一个控制台应用程序,完成下列功能,并写出运行程序后输出的结果。

教材P101页题4。

(1)创建一个类A,在A中编写一个可以被重写的带int类型参数的方法MyMethod,并在该方法中输出传递的整型值加10后的结果。

(2)再创建一个类B,使其继承自类A,然后重写A中的MyMethod方法,将A中接收的整型值加50,并输出结果。

(3)在Main方法中分别创建类A和类B的对象,并分别调用MyMethod方法。

3.定义一个抽象类Figure,该类中包含一个抽象方法Area()用于求图形的面积,从该抽象类派生矩形类Square和圆类Circle,实现用Area()方法显示矩形和圆的面积。

在主函数中创建两个扩充类的对象,并计算各自的面积。

4.运行例5-6的程序,理解new,override,virtual的作用,修改并试验程序以验证自己的理解。

实验八委托、事件、序列化

【学时数:

2学时】

一、实验目的

1.理解委托的概念,掌握其定义及使用方法。

2.理解事件的概念,掌握其定义及使用方法。

3.理解序列化和反序列化的概念,掌握其应用。

二、实验内容

1.运行例5-7,然后修改接口的实现方式为显式方式,并尝试是否可以通过扩充类的实例来调用接口,说明原因。

2.运行例5-9,然后修改委托的参数为两个参数,并完成相对应的其他修改,运行并分析结果。

3.运行例5-10,然后修改事件为接受一个参数的事件,并完成相对应的其他修改,运行并分析结果。

4.运行例5-11,然后为要序列化的类增加一个字段,运行并分析结果。

5.运行例5-12,然后为要序列化的类增加一个字段,运行并分析结果。

实验九控件使用

【学时数:

6学时】

一、实验目的

1.掌握窗体的常用属性的使用。

2.掌握文本操作类控件中的标签控件和文本控件的使用。

3.掌握选择操作类控件中的复选框、单选框、列表框、组合框的使用。

二、实验内容

1.多窗体练习

实现如图所示功能。

输入用户名后点击登录按钮,弹出右图消息框。

要求在消息框中显示用户输入的用户名和“欢迎你”语句。

点击取消按钮结束程序运行。

2.文本框,标签和按钮练习

实现如图所示功能。

点击红色按钮,将文本框中的文字颜色变成红色,同时把该按钮变成不可用(提示:

修改按钮的Enabled属性为false使其不可用);点击黑色按钮,将文本框中的文字颜色变成黑色,同时把该按钮变成不可用;点击“文本内容复制到标签”将文本框内容复制到下方标签。

3.定时器练习

在窗体中显示字符,每隔1秒字符移动一定距离,先右移,移到右边界,再左移,移到左边界,又一次右移,如此循环。

(提示:

修改标签的Left属性值)

4.复选框、单选框、组合框练习

实现如图所示的功能。

要求对相应控件做了设置之后,马上见到对应的字体效果。

清除按钮用来清除文本框中的文字内容,退出按钮用来退出程序。

5.列表框练习

实现程序如下功能:

在文本框中输入水果,点击添加按钮将输入的水果添加到列表框中,如果列表框中已存在此种水果则不添加;在列表框中选中某些水果后点击删除,删除这些果;点击清除按钮将列表框中的所有水果都清除。

6.简单记事本。

使用菜单方式实现字体选择和文字颜色的选择;使用工具栏方式实现字体选择和文字颜色的选择;使用状态栏显示当前输入的文字的个数信息。

7.简单图片查看器。

要求使用PictureBox和ImageList控件。

实验十目录与文件管理

【学时数:

2学时】

一、实验目的

1.掌握有关流的读/写操作类及其使用方法。

2.掌握FolderBrowserDialog、OpenFileDialog、SaveFiledialog等控件的作用。

二、实验内容

实现类似记事本的文本编辑器中的文件菜单下新建、打开、保存的功能。

实验十一图形图像处理

【学时数:

2学时】

一、实验目的

1.掌握Graphics类的使用。

2.掌握绘制基本图形以及填充图形的方法。

3.掌握对图像的拉伸、平移、旋转和缩放的处理。

二、实验内容

利用所学知识,模拟画笔程序的部分功能。

实验十二数据库编程

【学时数:

4学时】

一、实验目的

1.掌握使用Connection和Command对象对数据库进行操作。

2.掌握DataSet、DataAdapter、DataReader对象的作用和使用方法。

3.掌握DataGridView控件的使用方法。

二、实验内容

编程实现图书借阅管理系统。

实验十三开发Web应用程序*

【学时数:

2学时】

一、实验目的

1.了解Web应用程序的架构。

2.掌握ASP.NETWeb服务器控件的使用。

3.掌握开发一个简单的Web应用程序的开发步骤和方法。

二、实验内容

创建一个简单的网上书店。

具体实验安排和要求

1.实验成绩评定办法

实验成绩占本课程总成绩的20%。

实验成绩评分办法:

实验出勤率20%+实验提交作业30%+学期大作业50%。

抽查两次出勤率,每次2分;抽查三次作业,每次2分,(提交作业章节:

第2章、第4章、第6章);学期布置一个大作业,期末检查,根据实现的完整度给分,满分10分。

2.实验具体安排

每次实验课要求学生对书中的关键例题进行验证,同时要完成本次实验内容中的2-4题。

3.学期大作业

实现以下四个中的一个,每生一题,也可以交其它类似程序。

A:

实现一个简易的计算器。

B:

实现类似记事本的文档编辑器。

C:

模拟画笔程序的大部分功能。

D:

实现图书借阅系统。

4.说明

实验十一根据课程内容实施情况作相应调整是否做,如果课时不够则略去不做。

大作业的成绩可以放在期末最后一周统一验收,也可以学生完成后单独验收。

本门课程不单独安排期末上机考试,期末由所带实验的老师提交一份实验成绩成绩单、三次作业源代码、学期大作业源代码给主讲老师即可。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1