C#程序设计实验指导书Word文档格式.docx
- 文档编号:20390614
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:13
- 大小:268.91KB
C#程序设计实验指导书Word文档格式.docx
《C#程序设计实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《C#程序设计实验指导书Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
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("
D5}"
10);
F}"
F4}"
00000}"
123);
000}"
12345);
0000}"
123.64);
00.00}"
123.6484);
####}"
####.###}"
123.640);
####.##}"
0.0100);
123.648);
{0}--{0:
p}good"
12.34F);
00000}good"
456);
Console.Write("
{0,-4}{1,-4}{2,-4}"
1,2,3);
DateTimedt=newDateTime(2011,3,11);
strings=string.Format("
yyyy年MM月dd日}"
dt);
Console.WriteLine(s);
Console.ReadLine();
实验三 程序基本控制结构
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的异常,并输出异常消息。
实验四常用数据类型一
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;
实验五常用数据类型二
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:
第5,6节"
14:
00-15:
40"
第7,8节"
16:
00-17:
第9,10节"
19:
00-20:
3)主要用到字符串类和日期时间类
4)9月3日是本学期第一周的周一,用于计算当前周次
实验六 类和对象
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)实现在控制台输入学生的名字即输出该生的总成绩功能,输入某班和某科的名称即输出该班该科最高分和不及格学生名字,以及输入某班的名字即输出该班的平均成绩。
实验七继承、多态和接口
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的作用,修改并试验程序以验证自己的理解。
实验八委托、事件、序列化
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控件。
实验十目录与文件管理
1.掌握有关流的读/写操作类及其使用方法。
2.掌握FolderBrowserDialog、OpenFileDialog、SaveFiledialog等控件的作用。
实现类似记事本的文本编辑器中的文件菜单下新建、打开、保存的功能。
实验十一图形图像处理
1.掌握Graphics类的使用。
2.掌握绘制基本图形以及填充图形的方法。
3.掌握对图像的拉伸、平移、旋转和缩放的处理。
利用所学知识,模拟画笔程序的部分功能。
实验十二数据库编程
4学时】
1.掌握使用Connection和Command对象对数据库进行操作。
2.掌握DataSet、DataAdapter、DataReader对象的作用和使用方法。
3.掌握DataGridView控件的使用方法。
编程实现图书借阅管理系统。
实验十三开发Web应用程序*
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.说明
实验十一根据课程内容实施情况作相应调整是否做,如果课时不够则略去不做。
大作业的成绩可以放在期末最后一周统一验收,也可以学生完成后单独验收。
本门课程不单独安排期末上机考试,期末由所带实验的老师提交一份实验成绩成绩单、三次作业源代码、学期大作业源代码给主讲老师即可。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 程序设计 实验 指导书