资源描述
第一章概述1.1程序设计语言1.1.1程序设计语言的定义程序设计语言(ProgrammingLanguage)是一套遵循既定规则的记号系统;一个计算机程序实际上就是由一些记号按若干规则构成的记号串。程序设计语言包含三方面的内容:语法:记号串构成的规则,它表示程序的结构或形式;语义:表示语法单位和程序的意义,离开语义,语言只不过是一堆符号的集合;语用:表示程序与其使用的关系,这种关系将语言的基本概念和语言的外界联系起来。1.1.2程序设计语言的分类机器语言:机器语言是指直接用二进制代码指令表达的计算机语言。它实际上是由0和1构成的字符串。机器能直接识别和执行的只有机器语言,其他语言要经过编译器翻译为相应的机器语言后才能被执行。例:利用机器语言计算c=a+b,设a=1,b=2。1100011101000101111111000000000100000000000000000000000011000111010001011111100000000010000000000000000000000000100010110100010111111100000000110100010111111000器中100010010100010111110100令a=1令b=2将b放入eax累加器中将a的值与累加器中的值相加,结果放在累加将累加器中的值放入c中1.1.2程序设计语言的分类(续)机器语言优点:具有较高的执行效率,不需要编译,机器可直接执行(也只有机器语言才能被机器直接执行)缺点:依赖于具体的机型,其移植性非常差;程序编写非常困难,编写过程十分繁琐、费时,易出差错,调试也十分困难1.1.2程序设计语言的分类(续)汇编语言:汇编语言是对机器语言中二进制指令进行符号化表示而形成的一种程序设计语言。表示二进制指令的符号通常称为助记符,用助记符编写的程序称为汇编语言程序。需要将汇编语言程序“翻译”成机器语言,然后机器才能执行它。这种翻译过程称为汇编,这种汇编任务是由称为汇编程序的软件来完成。汇编后形成的机器语言程序称为目标程序,这时被汇编的汇编语言程序又称为源程序。汇编过程MOVAX,BXADDAX,5汇编程序89D8H050500H汇编源程序机器指令序列例:利用汇编语言计算c=a+b,设a=1,b=2。movdwordptrebp-4,1令a=1movdwordptrebp-8,2令b=2moveax,dwordptrebp-4将b放入eax累加器中addeax,dwordptrebp-8将a的值与累加器中的值相加,结果放在累加器中movdwordptrebp-0Ch将累加器中的值放入c中1.1.2程序设计语言的分类(续)汇编语言优点:比晦涩难懂的机器语言有所改进,执行效率也比较高缺点:编写汇编语言程序需要对机器的组成有清晰的了解,汇编语言程序仍然依赖于具体的机型,移植性差,编写过程繁琐,调试也困难1.1.2程序设计语言的分类(续)高级语言(高级程序设计语言)高级语言(高级程序设计语言)是由接近自然语言(英语)的词汇(记号)和语法(规则)构成的符号系统。如C/C+、PASCAL、FORTRAN、COBOL、JAVA、BASIC以及C#等都是常用的高级程序设计语言。1.1.2程序设计语言的分类(续)高级语言(高级程序设计语言)显然,高级语言也需要相应的软件将其“翻译”成机器语言,然后才能被执行。有两种翻译方式:解释:翻译一句执行一句,如BASIC语言等编译:将整个程序翻译完了以后再执行,如C/C+、C#等大多高级语言都采用编译执行方式,解释执行要比编译执行慢得多1.1.2程序设计语言的分类(续)高级语言(高级程序设计语言)缺点:高级语言的运行效率没有汇编语言和机器语言高,对机器的硬件操作也没有比汇编语言方便1.2C#程序设计语言概述1.2.1C#语言的起源与发展SUN公司于1995年推出的一种跨平台的面向对象程序设计语言Java。为与Java争夺市场,微软推出了基于Java技术的VisualJ+。VisualJ+6.0对Java语言进行了扩充,导致扩充后的Java与SUN公司的Java虚拟机不兼容,由此引发微软与SUN公司的官司,最终导致两大软件集团的“分道扬镳”。1.2.1C#语言的起源与发展(续)2002年,微软推出了一种面向Internet的VisualStudio.NET,该平台以.NETFramework作为“虚拟机”,完全脱离了Java技术,但与Java有类似的跨平台功能。C#(CSharp)是VisualStudio.NET平台中的一种完全的面向对象的高级程序设计语言。C#完全摆脱了JVM,转而代之的是.NETFramework,这使得C#与Java出现了本质上的区别。1.2.2C#语言的特点作为一种面向对象的程序设计语言,C#与C+和Java有着千丝万缕的联系,又在C+和Java的基础上作了大量的改进。其特点主要体现在以下几个方面:语法简洁支持跨平台完全的面向对象程序设计功能强大的Web应用支持灵活性和兼容性对XML的高度支持与Java有着本质的区别1.2.3C#与JavaNETFramework,目前最其新版本是.机”,完全脱离了Java技术,但与Java有类似的跨平操作系统层:WindowsAPI和COM+服务NET语言生成的都是托管代码,这种代码在运行库JAVA、BASIC以及C#等都是常用的高级程序设计语需要将汇编语言程序“翻译”成机器语言,然后机具箱、资源管理器、编辑器、窗体设计器等部分组成,如下图:NETFramework作为“虚拟Java有着千丝万缕的联系,又在C+和Java的基础上务是由称为汇编程序的软件来完成。费时,易出差错,调试也十分困难在WindowsVista上运行的配置要求:C#中用户不能控制对象的生存期,无用信2程序设计语言的分类(续)XMLWebServices1.2.3C#与C+C#是建立在.NET类库基础上的高级语言,没有C+中的指针、多重继承、模板类等概念,不支持C+中的一些低级操作。C#中用户不能控制对象的生存期,无用信息收集器会在合适的时候回收对象的内存,但是回收时间不确定。1.2.4C#与VB.NETC#对比VB的优势:支持无符号整数,指针,运算重载。有时运行稍快(C#的编译器稍快)VB对比C#的优势:支持过程的可选参数;可以不强制执行类型检查;可以使用传统错误处理语句(onerror);事件声明及数组处理方面更灵活。1.3C#集成开发环境1.3.1VisualStudio的发展历史20世纪80年代初,MS-DOS系统的出现标志着软件编程时代的到来1990年,VisualBasic的产生带来了第一个真正意义的IDE,VisualBasic也由此风靡全球微软于90年代中提出了VisualStudio的概念,推出了VisualStudioIDE的第一个版本。后来又提出VisualStudio.NET的概念1.3.1VisualStudio的发展历史(续)2002年,微软推出的VisualStudio.NET版本,引入了建立在.NETFramework1.0的托管代码机制以及一门新的语言C#。此后,微软又推出了VisualStudio2003、VisualStudio2005、VisualStudio2008、VisualStudio2010,目前最新的版本是VisualStudio2012,其包含的三大语言仍然是C#、VB.NET和VC+.NET。1.3.1VisualStudio的发展历史(续)解释:.NETFramework是什么呢?.NETFramework包含两个部分:公共语言运行时(CLR,CommonLanguageRuntime)和框架类库集(FCL,FrameworkClassLibrary)。框架类库集包含了几千个类,这些类封装了数据库操作、线程、XML解析等一系列高级应用;基于这些类库,我们可以轻松地开发自己的应用程序。1.3.1VisualStudio的发展历史(续)解释:公共语言运行时(CLR)又是什么呢?作为跨平台的编程语言,C#与Java的工作原理很相似,C#程序编译后先形成中间码,然后以CLR为“虚拟机”才能执行,即CLR负责管理和执行由.NET编译器编译产生的中间语言代码;要运行.NET程序,必须安装.NETFramework,目前最其新版本是.NETFramework4.5。1.3.2.NET开发平台.NET开发平台1.3.2.1.NET开发平台-各层次功能VB/C+/C#/j#:开发语言及公共语言规范层ASP.NET与UI层:WEB窗体和Windows窗体ADO.NET与XML层:数据访问服务。所有的.net配置文件都以XML为基础。基类库(BCL,BaseClassLibrary):定义所有的基本数据类型,还包含用于管理.NET核心特性(如文件,线程处理,串行化和安全性)的类。公用语言运行库(CLR):负责.net基础服务,如内存管理、垃圾回收、结构化异常处理,以及多线程等。操作系统层:WindowsAPI和COM+服务1.3.2.2.NET开发平台-FrameworkFramework(框架),.NET的运行平台的简称1,主要组成部分公共语言运行时环境(CLR);基类库(BCL)ASP.NET2,版本1.1,已用于Visualstudio20032.0,已用于Visualstudio20053.5,已用于Visualstudio20084.0已用于visualstudio20104.5已用于visualstudio20121.3.2.3.NET开发平台-说明所有.NET开发语言的能力和执行速度基本相同;只要遵守CLS规范和对BCS、CLR公共运行库支持,可以采用其他语言;.NET语言生成的都是托管代码,这种代码在运行库的控制之下运行;.NET编译生成的可执行文件是一种托管代码,称为微软中间语言(MSIL,MicroSoftIntermediateLanguage),可以“一次编写,随处运行”,前提是有框架的支持.1.3.2.4.NET开发平台-核心作用传统开发模式基于.NET发模式应用程序应用程序.NET框架操作系统操作系统硬件设备硬件设备1.3.2.5.NET开发平台-开发工具MicrosoftVisualStudio.NET(VS.NET)是一套完整的开发工具,是一个集成开发环境(IDE)。用于生成各类应用程序。包含VisualBasic.NET、VisualC+.NET、VisualC#.NET等,全都使用相同的集成开发环境,该环境允许它们共享工具并有助于创建混合语言解决方案。VS.NET2010主要版本类型:Ultimate版、Premium版、Professional版。核心开发语言:VisualBasic、VisualC+、VisualC#、VisualJ#。1.3.2.6.NET开发平台-功能.NET框架可以开发的应用程序和服务:控制台应用程序脚本应用程序或寄宿的应用程序WindowsGUI应用程序(Windows窗体)ASP.NET应用程序XMLWebServicesWindows服务1.3.2.7.NET开发平台-VS2010配置要求VS2010系统要求支持的操作系统:WindowsServer2003;Vista;XP;Windows7最低配置:1.6GHzCPU,1GBRAM,1024x768显示分辨率,5400RPM硬盘建议配置:2.2GHz或更快的CPU,2GB以上内存,1280 x1024显示分辨率,7200RPM或更快的硬盘在WindowsVista上运行的配置要求:2.4GHzCPU,768MB内存1.3.3VisualStudio2010集成开发环境VisualStudio2010集成开发环境由菜单栏、快捷菜单栏、工具箱、资源管理器、编辑器、窗体设计器等部分组成,如下图:1.3.3VisualStudio2010集成开发环境(续)配置默认保存路径的方法:选择“Tool”|“Options”命令,然后打开“选项”对话框:1.4应用程序开发1.4.1C#.NET创建应用程序基本步骤C#.NET创建应用程序一般包括7个基本步骤:(1)应用程序分析(2)创建应用程序用户界面(3)设置用户界面对象的属性(4)编写代码实现程序的功能(5)测试和调试应用程序(6)生成可执行文件(7)创建应用程序的安装程序1.4.2应用程序开发的起点和终点Application(应用程序)起点Program.cs文件(包含Main函数)结束Application.Exit();1.4.3应用程序的文件类型常用文件类型说明扩展名名称.slnVisualstudio解决方案.suo解决方案用户选项.csprojC#项目文件.csC#程序文件.designer.cs窗体设计器生产的代码文件.resx资源文件.aspx,.asmx,.asaxWeb项目元素
展开阅读全文