应用开发技术教学课件第2章c语言基础

上传人:aa****6 文档编号:57127935 上传时间:2018-10-19 格式:PPT 页数:80 大小:467KB
返回 下载 相关 举报
应用开发技术教学课件第2章c语言基础_第1页
第1页 / 共80页
应用开发技术教学课件第2章c语言基础_第2页
第2页 / 共80页
应用开发技术教学课件第2章c语言基础_第3页
第3页 / 共80页
应用开发技术教学课件第2章c语言基础_第4页
第4页 / 共80页
应用开发技术教学课件第2章c语言基础_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《应用开发技术教学课件第2章c语言基础》由会员分享,可在线阅读,更多相关《应用开发技术教学课件第2章c语言基础(80页珍藏版)》请在金锄头文库上搜索。

1、第 2 章 C#语言基础,2.1 C#语言及其特点,C#语言产生的背景,Microsoft. NET Framework 的体系结构,操作系统,公共语言运行时 (CLR),VC+.Net,C#,VB.Net,VJ#,.Net Framework 类库 (FCL),2.1 C#语言及其特点,.NET Framework 的组件,基本框架类,WinForms,ADO.Net 和 XML 类,.Net Framework,.Net Framework 类库,ASP.NET,CLS,CLR,CTS,2.1 C#语言及其特点,C#读作“C sharp”,它是Microsoft开发的一种用于网络开发的新语

2、言,结 合了C/C+的强大功能、Visual Basic的易用性。,2.1 C#语言及其特点,C#是一种源自于C和C+的、简单的、完全面向对象的程序设计语言。C#语言虽然是从C和C+演变而来,但在一些诸如命名空间、类、方法和异常处理等特定领域进行了很大的改进与优化。C#它不仅适合于网络开发,也可以开发古典风格的Windows应用程序。跨平台性。为了实现跨平台,C#采用了即时编译器(Just In Time,JIT),但它不是简单地移植和套用原有的JIT技术,而是JIT的发展与提升。C#的面向对象的程度要比C+还要高。C#中的基本类型都是基于对象的,C#为每一个基本类型都内建了相应的类,如Int

3、32 是系统提供的一个类,基本类型int就映射为类Int32。而C+中找不到这样的内建关系,C+只是提供了操作这些基本类型的工具类,int 在C+中并不是基于对象的。C#较C+在面向对象的开发上更简单,使用户使用起来更方便,而且提供了非常强大的兼容性。,C#语言的主要特征,2.1 C#语言及其特点,C#源于微软的C+,又借鉴了Java的一些设计方法。下面,比较C#与C+和Java 的差异。,2.2 中间语言代码与.NET的跨平台,所谓“中间代码”(Microsoft Intermediate Language,MIL)是一种结构简单、含义明确的记号系统。中间代码是源程序的一种内部表示,或称中间

4、语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现。,什么是中间语言代码,在以往的程序开发中,对程序源代码进行编译后得到的.exe文件都是为硬件所识别的机器代码,可直接运行。但是这种机器码限制了程序的可移植性,因为对于不同的计算机或者不同操作系统,其指令系统是不同的,这种硬件上的差异导致在不同类型的计算机上使用的计算机语言不同,需要针对不同类型的CPU开发不同版本的编译器。例如,在Windows平台上编译的程序不能在Linux系统上运行,除非用Linux系统上的编译器重新编译。,.NET框架上提供了一个可移植的交叉语言平台,使不同语言开发的程序可

5、以在不同的环境、不同的CPU上运行。.NET框架的这种跨平台程序移植能力是通过中间语言(Microsoft Intermediate Language,MIL)来实现的。用.NET框架支持的语言编写的源程序编译后生成的.exe文件不能被计算机直接识别运行,这样的.exe文件被称为Microsoft中间语言文件。本质上说,MIL是内存中的源程序。,2.2 中间语言代码与.NET的跨平台,MIL文件是通过.NET Framework的虚拟机被称之为通用语言运行时.NET CLR执行。在执行的时候,MIL文件会自动调用CLR中的JIT再次编译,生成机器码,由计算机的CPU处理执行。其运行过程如下图所

6、示。图 C#程序的编译执行过程,C#生成的中间语言文件MIL与其他的.NET语言(Visual Basic、J#、C+等)生成的MIL语言完全相同。由于CLR也是共用的,因此,不同语言开发的程序都可以在.NET框架的平台上运行。 在程序执行时,JIT会分析中间代码并动态产出高效率的机器执行码,因此,其运行速度快;另外,Java虚拟机仅局限于Java语言程序,而.NET框架中的JIT是语言交叉的,支持多种语言。,中间语言代码的执行,一个简单的C#程序,一般高级语言编程需要经过三个过程,即:(1)源程序编辑 (2)目标程序编译生成 (3)可执行程序运行C#编程也不例外,也包括源程序的编辑、编译生成

7、中间语言和解释运行中间码几个步骤。,C#的编辑与运行,如果计算机上没有安装.Net Framework,那么这些程序将不能够被执行。在程序执行时,.Net Framework将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区(Buffer)中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.Net程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。,具体来讲,C#程序的开发方式如下:使用任何文本编辑器(如:记事本、Editplus等)编写程序代码,并以.cs保存源文件,使用命令行编译器(csc.exe)进行编译;运行编译

8、后的可执行程序文件。,2.3 一个简单的C#程序,下面以一个最简单的C#程序为例来分别介绍这三个过程。程序2.1是一个最简单的C#程序的例子 其功能是在屏幕上输出: “Hello,欢迎来到 C# World !”。Hello.cs using System; namespace mynamespaceclass myclass static void Main() Console.WriteLine(“Hello, 欢迎来到 C# World !“);Console.ReadLine(); ,首先引用了系统命名空间System,因为所有的程序都要用到该命名空间下的类。 接着创建了一个命名空间m

9、ynamespace,在该命名空间声明并定义了一个类mycalss,该类包含了一个静态的成员方法Main(),作为执行程序的入口。该方法调用控制台(Console)的WriteLine方法输出“Hello,欢迎来到 C# Word !”。,2.3 一个简单的C#程序(续),建立了该C#程序文件后,下一步就是用.NET框架中包含的编译器 csc.exe 来编 译该程序文件。编译方式如下:csc Hello.cs 需要注意的是:编译器文件csc.exe 是在DOS下运行的,编译时必须进入DOS环 境,并且设置该执行文件所在的路径 path = C:WINDOWSMicrosoft.NETFrame

10、workv1.1.4322,或 v2.0.50727 其中v1.1.4322和v2.0.50727是版本号,其中v1.1.4322是版本号。,C#的编辑与运行,2.3 一个简单的C#程序(续),编译完成后,就可以运行该程序了。由于是控制台方式,必须在DOS环境下 运行,在DOS方式下键入Hello,2.3 一个简单的C#程序(续),如果安装了Visual Studio.NET,那么可以在Visual Studio .NET 2003 或Visual Studio .NET 2005命令提示下来执行 csc.exe 编译器,此时,不需要再指定 csc.exe 的路径。Visual Studio

11、Tools-Visual Studio 2005命令提示C#编译器不仅可以生成.exe文件,也可以通过选项/t:library生成.dll文件,其中的t的含义是target。程序2.1中如果要生成.dll文件,编译方式如下:csc /t:library Hello.cs,2.3 一个简单的C#程序(续),如果觉得DOS环境下的编译太繁琐,那么EditPlus是一个很不错的选择EditPlus是一个功能强大的文本编辑器,EditPlus对于 HTML、CSS、PHP、ASP、Perl、C/C+、C#及 VBScript 的语法突显使得它特别适合编辑文本格式的各种程序代码文件,尤其是它的HTML

12、页面预览功能使得它适合编辑HTML文件,并且还具有FTP 命令可以实现本地文件上传到 FTP 服务器的功能,同时它提供了支持多种语言的集成编译、运行环境。,EditPlus编辑、编译与运行环境,EditPlus编译环境的设置,下面以C#语言为例详细说明编译环境的设置在“工具参数选择用户工具”选项页进行设置 设置步骤如下: 设置组名称,这里也可以不设置,取缺省的设置Group 1 单击“添加工具应用程序”按钮,进入设置界面 在菜单文本编辑框输入菜单项的名次 在命令编辑框输入编译器(csc.exe)所在的路径和文件名称 各种参数可以在文本框右侧的下拉菜单中获取。以C#为例,其编译环境设置参数如下:

13、 菜单文本:编译 C# 命令:C:WINDOWSMicrosoft.NETFrameworkv1.0.3705csc.exe 参数:$(FileName) 初始目录:$(FileDir) 捕获输出:开启,EditPlus编译环境的设置(续),打开EditPlus文本编辑器环境后,选择“工具”“参数选择”选项,打开“参数选择”对话框,选择“用户工具”选项进行设置,设置的界面如下图 所示。,EditPlus编译环境的设置(序),设置完毕后,你就可以在“工具”菜单运行对应的工具了。编译结果会显示在底部的输出窗口,可以通过“用户工具栏”的快捷按钮编译当前编辑的文件。,在EditPlus下运行C#程序,

14、编译完成后,可以在EditPlus环境下直接运行,要在EditPlus环境下运行已编译后的.exe 文件,你可以进行如下设置(此时可执行文件需要和编译文件同名):菜单文本:C#运行命令:$(FileNameNoExt)参数:无初始目录:$(FileDir) 以C#为例,其编译环境设置参数如下: 菜单文本:C#运行(.exe) 命令:$(FileNameNoExt) 参数:无。 初始目录:$(FileDir)。 捕获输出:(True)。,2.4 C#的命名空间,命名空间是一种松散的类的集合。C#中的命名空间把各种类组织在一起,使得程序功能清楚、结构分明。使用命名空间有利于实现不同程序间类的重用,

15、也有利于类的组织、管理与使用。一般不要求处于同一个命名空间中的类有明确的相互关系,如包含、继承等。但是由于同一命名空间中的类在默认情况下可以互相访问,所以为了方便编程和管理,通常把需要在一起工作的类放在一个命名空间中。命名空间可以看做一个由类的集合构成的组件(Component)。类库中的类和接口都必须在相应的命名空间中定义,因此程序中多个命名空间都可以含有相同的成员,却不会发生冲突。,什么是命名空间,2.4 C#的命名空间,将类组织在不同的命名空间的目的是为了更好地利用命名空间中的类。可以使用如下两种方式来引用命名空间中的类。1. 使用命名空间名作为类名前缀 可以通过类的完整命名空间(可以看

16、做树的节点的路径)来唯一地定位命名空间中的任何类。比如,要引用表示文件系统的类,可以使用以下代码: System.IO.FileSystem.IO是命名空间,而File是特定的类。不同的命名空间中,可以定义同名的类。例如: namespace First/ class A的定义 namespace Second/class A的定义 两个命名空间中都定义了类A,但是可以独立使用First.A和Second.A,相互不会干扰。,命名空间的引用,2.4 C#的命名空间,2加载需要使用的命名空间 使用上面的方法,引用一个类时必须附加一个包含命名空间名的前缀,编程中使用起来非常麻烦。另一个解决的方法是在程序文件的开始部分利用using 语句将需要使用的整个命名空间加载到当前程序中,这样在程序中需要引用这个类的地方就不需要再使用命名空间名作为前缀。例如: using System;加载一个命名空间后,凡是这个命名空间中的类,都不需要再使用命名空间名作为前缀。 例如: using System; namespace mynamespaceclass myclass static void Main() Console.WriteLine (“Hello, Wellcome to C# World!“);Console.ReadLine(); ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号