C#面向对象程序设计.docx
- 文档编号:24089877
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:32
- 大小:86.86KB
C#面向对象程序设计.docx
《C#面向对象程序设计.docx》由会员分享,可在线阅读,更多相关《C#面向对象程序设计.docx(32页珍藏版)》请在冰豆网上搜索。
C#面向对象程序设计
《面向对象程序设计》实验指导书
长春大学软件学院
戴银飞
2009.7
目录
实验一C#概述-6-
实验二C#数据类型-9-
实验三C#控制结构-12-
实验四C#面向对象程序设计
(一)-17-
实验五C#面向对象程序设计
(二)-20-
实验六类的继承-22-
实验七多态编程练习-23-
实验八委托与事件编程练习-24-
实验九基本控件使用-25-
实验十菜单的使用-26-
实验十一文本编辑器-27-
实验十二数据库编程-28-
实验一C#概述
一、实验目的
1.熟悉VisualC#.NET集成开发环境。
2.掌握控制台应用程序的开发方法。
3.掌握Windows应用程序的开发方法。
二、实验要求
1.整理上机步骤,总结经验和体会。
2.完成实验日志和上交程序。
三、实验内容
题目一:
用最原始的方法开发C#程序
(1)打开记事本,输入下面内容:
usingSystem;
namespacesum
{
publicclassHello
{
publicstaticvoidMain()
{
inta,b;
Console.Write("请输入第一个整数:
");
a=Convert.ToInt32(Console.ReadLine());//将输入的字符串转化为整数
Console.Write("请输入第二个整数:
");
b=Convert.ToInt32(Console.ReadLine());//将输入的字符串转化为整数
Console.WriteLine("a={0},b={1}",a,b);
Console.WriteLine("a+b={0}",a+b);
Console.Read();
}
}
}
(2)将文件命名为sum.cs,保存在…\MicrosoftVisualStudio8\VC目录下。
(3)选择“开始”
“程序”
“MicrosoftVisualStudio2005”
“VisualStudioTools”
“VisualStudio2005命令提示”命令,在命令提示行中输入如下命令:
cscd:
\sum.cs
然后按【Enter】键执行,并观察命令的执行情况。
(4)查看…\MicrosoftVisualStudio8\VC目录下是否存在名为“sum.exe”的可执行文件。
若存在,则双击打开该文件,按照提示输入数据并运行,同时观察运行情况;若不存在,思考出错原因。
题目二:
创建控制台应用程序
(1)选择“开始”
“程序”
“MicrosoftVisualStudio2005”
“MicrosoftVisualStudio2005”命令,启动VisualStudio2005,并仔细观察起始页的内容。
(2)选择“文件”
“新建”
“项目”命令,弹出“新建项目”对话框。
仔细观察对话框的内容。
在“项目类型”列表框中选中VisualC#选项;在“模板”列表框中选中“控制台应用程序”选项;在“名称”文本框中输入项目名称;在“位置”文本框中输入或选择项目的保存位置。
单击“确定”按钮,将显示控制台应用程序代码编辑窗口,在该窗口内显示系统自动生成的相应代码。
仔细观察并分析这些代码。
(3)在代码编辑窗口内的Main()方法中添加如下代码:
Console.Write("当前系统的日期为:
");
//将系统的日期转换为长日期字符串表示形式进行输出
Console.WriteLine(DateTime.Now.ToLongDateString());
Console.Read();
(4)选择“文件”
“全部保存”命令,保存项目。
(5)选择“调试”
“开始执行(不调试)”命令或按【Ctrl+F5】组合键运行程序,并观察运行情况。
(6)在项目的保存位置处查看项目中过的所有文件。
题目三:
创建Windows应用程序
(1)从开始菜单启动VisualStudio2005。
(2)选择“文件”
“新建”
“项目”命令,弹出“新建项目”对话框。
在“项目类型”列表框中选中VisualC#选项;在“模板”列表框中选中“Windows应用程序”选项;在“名称”文本框中输入项目名称;在“位置”文本框中输入或选择项目的保存位置。
单击“确定”按钮,将显示窗口设计器窗口。
(3)切换到“属性”窗口、“解决方案资源管理器”窗口和“类视图”窗口,查看窗体的属性、项目的组成结构以及项目所设计的所有类。
(4)双击打开“解决方案资源管理器”窗口中的各个文件,在代码编辑器窗口内查看系统自动生成的与该项目有关的代码。
(5)选择“调试”
“启动调试”命令,运行程序,查看运行结果,然后关闭窗体。
(6)在窗体上添加一个PictureBox控件和两个Button控件。
设置窗体和各控件的属性,如表1-1所示。
表1-1窗体及各控件的主要属性
控件
属性
属性值
Form1窗体
Text(标题)
Windows应用程序测试
PictureBox1
BorderStyle(边框类型)
Fixed3D
Button1按钮
Text(标题)
画图
Button2按钮
Text(标题)
退出
(7)调整窗体大小以及各个控件的位置,如图1-1所示。
图1-1调整控件位置后的界面
(8)双击Button1按钮,在其Click事件内添加代码:
Graphicsg=this.pictureBox1.CreateGraphics();
Penp1=newPen(Color.Red,5);
g.DrawRectangle(p1,80,50,100,50);
(9)双击Button1按钮,在其Click事件内添加代码:
if(MessageBox.Show("你确定要退出吗?
","请确认...",MessageBoxButtons.YesNo,MessageBoxIcon.Question)==DialogResult.Yes)
Application.Exit();//退出应用程序
(10)选择“调试”
“启动调试”命令,或按【F5】键,或单击工具栏上的
按钮,运行程序,查看运行结果。
(11)在项目的保存位置处查看项目中过的所有文件。
实验二C#数据类型
一、实验目的
1.了解C#中的各种数据类型及其相互转换方法。
2.了解C#中的常量和变量。
3.掌握C#中的常用的操作符与表达式。
4.进一步熟悉C#程序的开发过程。
二、实验要求
1.分析程序,上机验证结果。
2.写出程序,并调试程序,要给出测试数据和实验结果。
3.整理上机步骤,总结经验和体会。
4.完成实验日志和上交程序。
三、实验内容
题目一:
程序分析
(1)分析程序,写出程序的运行结果,并上机进行验证。
usingSystem;
publicclassBoolTest
{
publicstaticvoidMain()
{
Console.Write("请输入一个字符:
");
charc=(char)Console.Read();
if(Char.IsLetter(c))
if(Char.IsLower(c))
Console.WriteLine("字符是小写的。
");
else
Console.WriteLine("字符是大写的。
");
else
Console.WriteLine("字符不是字母。
");
}
}
(2)分析程序,写出程序的运行结果,并上机进行验证。
usingSystem;
classtest
{
publicstaticvoidMain()
{
stringa="\u0068ello";
stringb="world";
Console.WriteLine(a+b);
Console.WriteLine(a+b=="helloworld");
}
}
(3)分析程序,写出程序的运行结果,并上机进行验证。
usingSystem;
namespace_1
{
classProgram
{
staticvoidMain()
{
inta=10;
Console.WriteLine("a={0}",a);
intb=newint();
Console.WriteLine("1:
b={0}",b);
b=10;
Console.WriteLine("2:
b={0}",b);
Int32c=10;
Console.WriteLine("c={0}",c);
Int32d=newInt32();
Console.WriteLine("1:
d={0}",d);
d=10;
Console.WriteLine("2:
d={0}",d);
Console.WriteLine("int:
{0}~~{1}",int.MinValue,int.MaxValue);
Console.Read();
}
}
}
(4)分析程序,写出程序的运行结果,并上机进行验证。
usingSystem;
namespace_1
{
classProgram
{
staticvoidMain()
{
charc1='a';
charc2='\x0062';
charc3='\u0063';
Console.WriteLine("c1:
{0}\nc2:
{1}\nc3:
{2}\n",c1,c2,c3);
Console.Read();
}
}
}
(5)分析程序,写出程序的运行结果,并上机进行验证。
usingSystem;
namespace_1
{
classProgram
{
enumWeekDay{sun,mon,tue,wed,thu,fri,sat}
staticvoidMain()
{
WeekDaya=WeekDay.sun;
Console.WriteLine(a);
WeekDayb=(WeekDay)4;
Console.WriteLine(b);
Console.Read();
}
}
}
题目二:
程序编写
(1)编写程序,定义一个包括学生基本资料的结构类型数据(要求包括学号、姓名、性别、年龄、家庭住址等),并对其进行测试。
(2)编写程序,将一年中的12个月建立一个枚举类型,并对其进行测试。
(3)编写程序,使用int类型数据进行装箱与拆箱转换。
实验三C#控制结构
一、实验目的
1.掌握C#中选择结构语句的使用。
2.掌握C#中循环结构语句的使用。
3.掌握C#中的跳转结构语句。
二、实验要求
1.分析程序,上机验证结果。
2.写出程序,并调试程序,要给出测试数据和实验结果。
3.整理上机步骤,总结经验和体会。
4.完成实验日志和上交程序。
三、实验内容
题目一:
程序分析
(1)分析程序,写出程序的运行结果,并上机进行验证。
usingSystem;
namespace_1
{
classProgram
{
staticvoidMain(string[]args)
{
int[][]jagArray=newint[2][]{newint[5],newint[3]};
for(inti=0;i { for(intj=0;j jagArray[i][j]=i+j; } for(intk=0;k<2;k++) { Console.WriteLine("jagArray[{0}]: ",k); for(intm=0;m Console.Write("{0,-3}",jagArray[k][m]); Console.WriteLine(); } Console.Read(); } } } (2)分析程序,写出程序的运行结果,并上机进行验证。 usingSystem; namespace_1 { classProgram { staticvoidMain(string[]args) { objectx; x=1; Console.WriteLine("1: x={0},typeis{1};",x,x.GetType()); x=10.01; Console.WriteLine("2: x={0},typeis{1};",x,x.GetType()); x='\u0061'; Console.WriteLine("3: x={0},typeis{1};",x,x.GetType()); x="Hello! "; Console.WriteLine("4: x={0},typeis{1};",x,x.GetType()); Console.Read(); } } } (3)分析程序,写出程序的运行结果,并上机进行验证。 usingSystem; namespace_1 { classProgram { staticvoidMain(string[]args) { Console.Write("请输入1-12之间的任意一个整数: "); strings=Console.ReadLine(); intmonth=int.Parse(s); switch(month) { case1: Console.WriteLine("January");break; case2: Console.WriteLine("February");break; case3: Console.WriteLine("March");break; case4: Console.WriteLine("April");break; case5: Console.WriteLine("May");break; case6: Console.WriteLine("June");break; case7: Console.WriteLine("July");break; case8: Console.WriteLine("August");break; case9: Console.WriteLine("September");break; case10: Console.WriteLine("October");break; case11: Console.WriteLine("Noveber");break; case12: Console.WriteLine("December");break; default: Console.WriteLine("输入错误,转换失败。 ");break; } Console.Read(); } } } (4)分析程序,写出程序的运行结果,并上机进行验证。 usingSystem; namespace_1 { classProgram { staticvoidMain(string[]args) { int[,]a=newint[5,5]; a[0,0]=1; for(inti=1;i<5;i++) { a[i,0]=1; a[i,i]=1; for(intj=1;j a[i,j]=a[i-1,j-1]+a[i-1,j]; } for(inti=0;i<5;i++) { for(intj=0;j<=i;j++) Console.WriteLine("{0}\t",a[i,j]); Console.WriteLine(); } Console.Read(); } } } (5)分析程序,写出程序的运行结果,并上机进行验证。 usingSystem; namespace_1 { classProgram { staticvoidMain(string[]args) { intodd=0,even=0; int[]array=newint[]{0,4,7,8,9,10,14,17,19,24,56}; foreach(intiinarray) { if(i%2==0) even++; else odd++; } Console.WriteLine("{0}个奇数,{1}个偶数",odd,even); } } } (6)分析程序,写出程序的运行结果,并上机进行验证。 usingSystem; publicclassTestDoWhile { publicstaticvoidMain() { intx; inty=0; do { x=y++; Console.WriteLine(x); } while(y<5); } } (7)分析程序,写出程序的运行结果,并上机进行验证。 usingSystem; namespace_1 { classProgram { staticvoidMain(string[]args) { Console.WriteLine("---break---"); for(inti=0;i<10;i++) { if(i==5)break; Console.WriteLine("iis"+i); } Console.WriteLine("---continue---"); for(inti=0;i<10;i++) { if(i==5)continue; Console.WriteLine("iis"+i); } Console.Read(); } } } 题目二: 程序编写 (1)编写程序,分别用for、while、do…while语句实现求前n个自然数之和。 (2)编写程序,输出九九乘法表。 实验四C#面向对象程序设计 (一) 一、实验目的 1.理解C#语言是如何体现面向对象编程基本思想。 2.掌握类对象的定义。 3.了解类的封装方法,以及如何创建类和对象。 4.了解成员变量和成员方法的特性。 5.掌握静态成员的用法。 二、实验要求 1.分析程序,上机验证结果。 2.写出程序,并调试程序,要给出测试数据和实验结果。 3.整理上机步骤,总结经验和体会。 4.完成实验日志和上交程序。 三、实验内容 题目一: 程序分析 (1)分析下面两个程序,确定那个程序好,说明理由。 程序要求: 定义一个圆类,计算圆的面积和周长。 程序1: publicclasscircle { publicstaticvoidMain() { doubleradium,delimeter,square; constdoublepai=3.1415926; radium=Convert.ToInt32(Console.ReadLine()); delimeter=2*pai*radium; square=pai*pai*radium; Console.WriteLine("delimeter={0},square={1}",delimeter,square); Console.ReadLine(); } } 程序2: publicclasscircle { doubledelimeter,square; constdoublepai=3.1415926; publicvoidcalculate(doublerad) { delimeter=2*pai*rad; square=pai*pai*rad; Console.WriteLine("delimeter={0},square={1}",delimeter,square); } publicstaticvoidMain() { doubleradium; circlecir=newcircle(); radium=Convert.ToInt32(Console.ReadLine()); cir.calculate(radium); Console.ReadLine(); } } (2)分析程序,写出程序的运行结果,并上机进行验证。 UsingSystem; publicclassstudents { stringid,name; intage; publicstudents(stringid,stringname,intage) { this.id=id; this.name=name; this.age=age; } publicvoidDisplay() { Console.WriteLine("id={0},name={1},age={2}",id,name,age); } publicstaticvoidMain() { //stringid,name; //intage; studentsstu=newstudents("0001","zhangsan",16); stu.Display(); Console.ReadLine(); } } (3)分析程序,写出程序的运行结果,并上机进行验证。 publicclassDate { privateintYear,Month,Day; publicDate(intYear,intMonth,intDay) { this.Year=Year; this.Month=Month; this.Day=Day; } publicDate(S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 面向 对象 程序设计