C#实习作业.docx
- 文档编号:12913530
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:35
- 大小:256.80KB
C#实习作业.docx
《C#实习作业.docx》由会员分享,可在线阅读,更多相关《C#实习作业.docx(35页珍藏版)》请在冰点文库上搜索。
C#实习作业
信息系统开发工具课程实习
题目:
课程实习
院系:
工商管理学院
专业:
信息管理与信息系统
学生姓名:
指导教师:
2015年12月31日
1.实习背景
1.1C#的发展背景
C#是微软公司在2000年6月发布的一种新的编程语言,主要由安德斯·海尔斯伯格(AndersHejlsberg)主持开发,它是第一个面向组件的编程语言,其源码会编译成msil再运行。
它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,并且新增了许多功能及语法糖,而且它是微软公司.NETwindows网络框架的主角。
C#读作CSharp。
最初它有个更酷的名字,叫做COOL。
微软从1998年12月开始了COOL项目,直到2000年2月,COOL被正式更名为C#。
在1998年,Delphi语言的设计者Hejlsberg带领着Microsoft公司的开发团队,开始了第一个版本C#语言的设计。
在2000年9月,国际信息和通信系统标准化组织为C#语言定义了一个Microsoft公司建议的标准。
最终C#语言在2001年得以正式发布。
2000年6月26日微软在奥兰多举行的“职业开发人员技术大会”(PDC2000)上,发表新的语言C#。
C#语言取代了VisualJ++,语言本身深受Java、C和C++的影响。
C#是兼顾系统开发和应用开发的最佳实用语言,并且很有可能成为编程语言历史上的第一个“全能”型语言。
看过这篇简史,不要把C#看成年轻后生了——只要是“马拉多纳”,就早晚当“球王”。
C#1.0,纯粹的面向对象。
1998年底,微软正在忙于新一代COM的设计工作,COM一直是组件化开发中非常成功的一种技术;但由于它仅提供了二进制层面上的统一,因此无法将类型信息和用于支持基础平台和开发工具的信息放到组件中,Java逐步走向成熟。
微软学习Java的做法,将虚拟机的概念引入到了COM领域;同时,微软提出了“元数据”的概念,用于描述组件的类型信息和工具支持信息,并决定将其放入到组件当中。
2000年2月份,微软才正式将COOL语言更名为C#。
据说起这个名字是因为C#开发小组的人很讨厌搜索引擎,因此把大部分搜索引擎无法识别的“#”字符作为该语言名字的一部分;还有一种说法是在音乐当中“#”是升调记号,表达了微软希望它在C的基础上更上一层楼的美好愿望——当然这些都只是传说,无从考证。
又是历经了一系列的修改,微软终于在2000年7月发布了C#语言的第一个版本。
1.2C#的优势
(1)完全面向对象。
(2)支持分布式,之所以有C#,是因为微软相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上。
所以C#一出生就注定了能很好解决分布
式问题。
(3)跟Java类似,C#代码经过编译后,成为了一种IL(中间语言)。
在运行时,再把IL编译为平台专用的代码。
(4)健壮,C#在检查程序错误和编译与运行时错误一点也不逊于Java,C#也用了自动管理内存机制。
(5)C#不像Java那样完全摒弃了指针和手动内存管理。
C#默认情况下是不能使用指针的,程序员在有必要时可以打开指针来使用。
这样可以保证编程的灵活性。
(6)安全性:
C#的安全性是有.net平台来提供的。
C#代码编译后成为IL语言。
是一种受控代码,.net提供类型安全检查等机制保证代码是安全的。
(7)可移植性:
由于C#使用类似Java的中间语言机制。
使得C#也跟Java类似,可以很方便的移植到其他系统。
在运行时,再把中间代码编译为适合特定机器的代码。
(8)解释性:
C#也是一种特殊的解释性语言。
(9)高性能:
C#把代码编译成中间语言后,可以高效的执行程序。
(10)多线程:
与Java类似,可以由一个主进程分出多个执行小任务的多线程。
(11)组件模式:
C#很适合组件开发,各个组件可由其他语言实现的,然后集成在.net中。
2.实习内容
2.1课程实习一、visualstudio2010下控制台应用程序实例
2.1.1实习目的
1、了解所用的计算机系统的基本操作方法,学会独立使用该系统;
2、了解在该系统上如何编辑、编译、连接和运行一个C#程序;
3、通过运行简单的C#程序,初步了解C#程序的特点。
2.1.2实习内容
1、在visualstudio2010编辑环境下编辑范例中给出的程序、编译并运行。
2、设定如下题目要求学生独立完成:
编写一个C#程序,输入a,b,c,d四个值,输出其中最小者。
根据上述题目要求编程并上机调试运行。
staticvoidMain(string[]args)
{
int[]a=newint[4];
intmin;
for(inti=0;i<4;i++)
{
Console.WriteLine("请输入第{0}个数:
",i+1);
a[i]=Int32.Parse(Console.ReadLine());
}
min=a[0];
for(intj=0;j<4;j++)
{
if(a[j] min=a[j]; } Console.WriteLine("其中最小值为: {0}",min); Console.Read();} 2.2课程实习二、数组、结构和枚举程序实例 2.2.1实习目的 1、掌握数组、结构和枚举类型的使用方法。 2、掌握各种类型数据的输入输出函数的应用方法。 3、掌握C#中数组、结构和枚举类型自带的一些方法。 2.2.2实习内容 1、在C#编辑环境下编辑范例中给出的程序、编译并运行。 2、本节实习题目: 自行编写应用程序,要求应用程序中涉及到数组、枚举或结构类型的使用,并能应用到C#自身提供的相关方法。 上机运行程序并分析结果。 (1)数组的使用: staticvoidMain(string[]args) { int[]myArray1=newint[10]{4,9,10,1,7,8,12,24,0,11}; int[]myArray2=newint[10]; for(inti=myArray1.Length-1;i>=0;i--) { myArray2[9-i]=myArray1[i];//一维数组逆序存放 } Console.WriteLine("原数组为: "); foreach(intainmyArray1) { Console.WriteLine(a); } Console.WriteLine("逆序存放后的数组为: "); foreach(intbinmyArray2) { Console.WriteLine(b); } Console.ReadLine(); } (2)枚举的使用: classProgram { enummonth{January,February,March,April,May,June,july,August,September,October,November,December}; staticvoidMain(string[]args) { Console.WriteLine("请输入1-12的月份: "); inti=int.Parse(Console.ReadLine()); yuefen(i); } publicstaticvoidyuefen(inti) { switch(i) { case1: Console.WriteLine(month.January);break; case2: Console.WriteLine(month.February);break; case3: Console.WriteLine(month.March);break; case4: Console.WriteLine(month.April);break; case5: Console.WriteLine(month.May);break; case6: Console.WriteLine(month.June);break; case7: Console.WriteLine(month.july);break; case8: Console.WriteLine(month.August);break; case9: Console.WriteLine(month.September);break; case10: Console.WriteLine(month.October);break; case11: Console.WriteLine(month.November);break; case12: Console.WriteLine(month.December);break; } Console.ReadLine(); } 2.3课程实习三、C#中的类型转换、字符处理 2.3.1实习目的 1、掌握C#中的类型转换、字符处理; 2、掌握装箱和拆箱操作。 3、掌握C#中字符处理基本操作,如字符串的裁剪、替换和移除等。 2.3.2实习内容 在控制台下运行并调试装箱和拆箱操作、字符串的裁剪、替换和移除操作。 (1)装箱与拆箱 namespaceConsoleApplication1 { classProgram {staticvoidMain(string[]args) { Box(); UnBox(); Console.ReadLine(); } staticvoidBox() { inti=12; objectobj=i; i=5; Console.WriteLine("obj={0},i={1}",obj,i); } staticvoidUnBox() { objectobjvalue=20; intvalue=(int)objvalue; objvalue=52; Console.WriteLine("obj={0},i={1}",objvalue,value); }}} (2)字符串的裁剪、替换和移除 namespaceConsoleApplication2 { classProgram { staticvoidMain(string[]args) { Strings1="明天你好,"; Strings2="世界你好,"; Strings3="HappyEverdayr"; StringnewString=s1.Replace("明","世"); StringnewString2=s3.Substring(0,5); StringnewString1=s3.Remove(0,5); String[]str=newString[3]; Console.WriteLine("从s3截取的子串: {0}",newString2); Console.WriteLine("s1替换后的结果: {0}",newString); Console.WriteLine("s1+s2={0}{1}",s1,s2); Console.WriteLine("s3删除后的结果: {0}",newString1); Console.ReadLine(); }}} 2.4课程实习四、Winform编程常用控件 2.4.1实习目的 1、掌握Winform编程中常用控件的使用; 2、掌握Winform编程中基本控件的常用属性和事件。 2.4.2实习内容 利用.Net自带的常用控件,设计并实现一个简单的应用程序界面,要求用到button按钮、文本框、下拉列表框等基本控件以及基本的事件方法。 namespaceWindowsFormsApplication1 { publicpartialclassForm1: Form { publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(objectsender,EventArgse) { stringid=this.textBox1.Text; stringname=this.textBox2.Text; stringsex=""; if(radioBox1.Checked==true) { sex+="男\n"; } if(radioBox2.Checked==true) { sex+="女\n"; } stringbumen=boBox1.Text; stringaihao=""; if(checkBox1.Checked==true) { aihao+="看书\n"; } if(checkBox2.Checked==true) { aihao+="跑步\n"; } if(checkBox3.Checked==true) { aihao+="其他\n"; } MessageBox.Show("员工编号: "+id+"\n员工姓名: "+name+"\n员工性别: "+sex+"\n员工部门: "+bumen+"\n员工爱好: "+aihao+""); } privatevoid男_CheckedChanged(objectsender,EventArgse) {}}} 2.5课程实习五、Winform编程实例 2.5.1实习目的 1、掌握Winform编程中常用控件的使用; 2、掌握Winform编程中模态对话框和非模态对话框的使用。 2.5.2实习内容 利用.Net自带的常用控件,设计并实现一个用户登录窗体,当用户登录成功,进入系统的主界面,主界面要求实现模态窗体风格。 namespaceWindowsFormsApplication2 { publicpartialclassForm1: Form { publicForm1() { InitializeComponent(); } privatevoidbutton1_Click(objectsender,EventArgse) { Stringusername=textBox1.Text; Stringpassword=textBox2.Text; if(username=="sad"&&password=="123") { Form2s=newForm2(); s.ShowDialog()}} privatevoidbutton2_Click(objectsender,EventArgse) { textBox1.Clear(); textBox2.Clear();}}} 2.6课程实习六、类的定义和使用 2.6.1实习目的 1、掌握C#中类的定义和使用; 2、掌握类的继承、多态和封装特性。 2.6.2实习内容 根据自己对面向对象程序设计思想的理解和对C#语法的掌握,自定义几个相关类,并实现类的继承、多态和封装特性。 (1)多态性(封装性): namespacePolymorphisnTest { classProgram { staticvoidMain(string[]args) { Console.WriteLine("导员讲话: 大家安静一下,我们现在开始开班会"); Class[]CArray=newClass[3]; CArray[0]=newMonitor(); CArray[0].Say("班长: "); CArray[0].Foo(); CArray[1]=newStudent(); CArray[1].Say("学生: "); CArray[1].Foo(); Console.ReadKey(); }} classClass { stringName=""; publicvirtualvoidSay(stringname) { this.Name=name; } publicvirtualvoidFoo() { Console.WriteLine(Name+"考试周快到了,任何人都不能作弊! "); } } classMonitor: Class { stringName=""; publicoverridevoidSay(stringname) {//base.Say(name); this.Name=name; } publicoverridevoidFoo() { Console.WriteLine(Name+"大家填写一下承诺书。 "); }} classStudent: Class { stringName=""; publicoverridevoidSay(stringname) {//base.Say(name); this.Name=name; } publicoverridevoidFoo() { Console.WriteLine(Name+"知道了。 ");}}} (2)继承性(封装性): namespaceVideo {classProgram {staticvoidMain(string[]args) { Programp=newProgram(); p.PlayVideo(); Console.ReadLine(); } publicvoidPlayVideo() {VideoShowvw; vw=newDVD(); Console.WriteLine(vw.playVideo()); vw=newVCD(); Console.WriteLine(vw.playVideo());}} publicabstractclassVideoShow//不能被实例化 {publicabstractstringplayVideo(); } publicclassVCD: VideoShow { publicoverridestringplayVideo() { return"正在播放VCD";}} publicclassDVD: VideoShow {publicoverridestringplayVideo() { return"正在播放DVD";}}} 2.7课程实习七、.Net数据库连接操作 2.7.1实习目的 1、掌握.Net连接数据库的基本操作; 2、掌握Winform控件操作数据库的方法。 2.7.2实习内容 利用对数据库知识的掌握,自定义简单的数据库和相关表格,并能利用.Net中数据控件与数据库进行连接和相应操作,实现数据展示、数据的增删改查操作。 (1)数据库连接 namespaceWindowsFormsApplication2 { publicclassDataBaseHelper { publicstaticSqlConnectiongetSqlConnection() { SqlConnectionconn=newSqlConnection(); try { conn.ConnectionString="datasource=.;initialcatalog=XueSheng;persist securityinfo=False;userid=sa;password=123456;packetsize=4096"; conn.Open(); conn.Close(); } catch { thrownewException("无法连接数据库服务器。 "); } returnconn; } #region根据sqlstr执行增、删、改 publicstaticintGetNonQueryEffectedRow(stringsqlstr) { SqlConnectionconn=getSqlConnection(); try { conn.Open(); SqlCommandcmd=newSqlCommand(sqlstr,conn); returncmd.ExecuteNonQuery(); } catch(Exceptionex) { thrownewException(ex.ToString()); } finally { conn.Close(); conn.Dispose(); } }//根据sqlstr执行增、删、改 #region根据sqlstr获取DataSet publicstaticDataSetGetDataSet(stringsqlstr) { SqlConnectionconn=getSqlConnection(); try { conn.Open(); SqlDataAdaptersda=newSqlDataAdapter(sqlstr,conn); DataSetds=newDataSet(); sda.Fill(ds); returnds; } catch(Exceptionex) { thrownewException(ex.ToString()); } finally { conn.Close(); conn.Dispose();}}|} (2)学生信息的增删改查 namespaceWindowsFormsApplication2 { publicpartialclassForm1: Form { publicForm1() { InitializeComponent(); } //学号 publicstring_xuehao{get;set;} //姓名 p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 实习 作业