《第01章 计算机、因特网、万维网和C .ppt》由会员分享,可在线阅读,更多相关《第01章 计算机、因特网、万维网和C .ppt(32页珍藏版)》请在课桌文档上搜索。
1、目 录,第1章 计算机、因特网、万维网和C#第2章 Visual Studio.NET集成开发环境第3章 C#编程介绍第4章 控制结构(一)第5章 控制结构(二)第6章 方法第7章 数组第8章 基于对象的编程第9章 面向对象编程:继承第10章 面向对象编程:多态性第11章 异常处理第12章 图形用户界面概念(一)第13章 图形用户界面概念(二)第14章 多线程第15章 字符、字符串和正则表达式第16章 图形和多媒体第17章 文件和流第18章 数据库、SQL和ADO.NET第19章 可扩展标记语言(XML)第20章 ASP.NET、Web窗体和Web控件第21章 ASP.NET和Web服务第22
2、章 网络:基于流的套接字和数据包第23章 数据结构和集合第24章 可访问性,第一部分.NET综述,第二部分 结构化编程,第三部分 面向对象编程,第四部分 C#相关应用,第五部分 C#应用扩展,第1章 计算机、因特网、万维网和C#,1.1 概述,通过使用结构化编程、基于对象编程、面向对象编程(OOP)和事件驱动编程这些成熟的技术,来强调清晰化编程的实现。,计算机是一种能执行计算和做出逻辑判断的设备,它的计算速度比人快上百万倍甚至几十亿倍。计算机在称为计算机程序的一套指令的控制下处理数据。这些程序通过一系列有序的行为来指导计算机,而这些行为由作为计算机程序员的个人指定。一台计算机由各种硬件设备组成
3、(例如键盘、屏幕、鼠标、磁盘、内存、CD-ROM和处理单元)。运行在计算机上的程序称为软件。面向对象编程是一个重大的突破,能极大的提高程序员效率。,1.2 什么是计算机,每台计算机都可以认为由6个逻辑单元或部分组成:1、输入单元2、输出单元3、存储单元4、算术和逻辑单元(ALU)5、中央处理器(CPU)6、二级存储单元,1.3 计算机结构,早期的计算机一次只能执行一项工作或任务。(单用户批处理、穿孔卡)为了使计算机的使用更加方便,人们开发出称为“操作系统”的软件系统。(吞吐量)目前广泛应用在高级计算中的UNIX操作系统,就是源于一个实验性的分时操作系统。(Linux系统),1.4 操作系统的演
4、化,1977年,苹果计算机掀起了个人计算机的高潮。最初由苹果IBM倡导的计算机使“单独”的单元。计算机网络导致了分布式计算的出现。局域网(Local Area Network,LAN)在网络中,那些存储程序和数据的计算机称为“服务器”,而分布在网络中的使用程序和数据的计算机称为“客户机”。这种配置引出了“客户机/服务器计算”(client/server computing)。,1.5 单机计算、分布式计算和客户机/服务器计算,程序员可以用各种语言编写指令,有的指令计算机可以直接理解,而另一些需要中间的“翻译”步骤。不同的语言可以分成3类:(1)机器语言(2)汇编语言(3)高级语言,1.6 机器
5、语言、汇编语言和高级语言,机器语言,指挥计算机完成一个基本操作的指令也是由二进制代码构成的,称之为机器指令。每一条机器指令的格式和定义都是由设计者规定的,并按照这个规定设计制造硬件。一个计算机系统全部机器指令的总和,称之为指令系统,它就是机器语言。0000010000010010000001001100101000010010111100001000101001100001,所谓移植,是指在一种计算机系统下编写的程序,经过改动可以在另一种计算机系统中运行,并且运行结果一样。用机器语言编写的程序紧密依赖硬件,程序的可移植性差。机器语言是第一代计算机语言。,汇编语言,汇编语言是一种符号语言,它将难
6、以记忆和辨认的二进制指令代码用有意义的英文单词缩写来替代,英文单词缩写被称为助记符,每一个助记符代表一条机器指令。MOV AL 12DSUB AL 18DHLT,汇编语言改善了程序的可读性和可记忆性。将汇编语言程序翻译成机器语言程序的过程叫做汇编。,汇编语言源程序,机器语言程序,运行汇编程序(进行翻译),高级语言,如上所述,机器语言和汇编语言都是面向机器的语言,受机能限制,通用性差,学习也不容易,一般只适合专业人员。为了从根本上解决这个问题,人们创造了高级程序设计语言,简称高级语言。高级语言用比较类似于人类自然语言和数字语言的方式描述问题、编写程序。int a,b,c;cin a b;c=a+
7、b;cout c;,用高级语言编写程序时,不要了解计算机的内部结构,只要告诉计算机“做什么”即可。但是,计算机无法直接执行高级语言程序,必须将高级语言程序翻译成机器语言程序才能执行,翻译过程分成两步即编译和连接。,高级语言源程序,可执行程序,目标程序,库程序,编译,连接,高级程序不仅易学易用,通用性强,而且具有良好的可移植性。因为不同的计算机系统有不同的编译程序(“编译程序”也称为“编译器”),将高级语言程序重新编译(在编译之前有时需对源程序稍加改动,称为移植)后,便可在不同的计算机系统中运行。,BCPL-B-C-C+SmalltalkBASIC-Visual Basic-Visual Bas
8、ic.NETOak-Java,1.7 C,C+,Visual Basic.NET和Java,开发人员意识到一种软件需求:即任何人通过任何设备都可访问软件。基于这些要求,微软发布了它的.NET(读作“dot-net”)和C#(读作“C Sharp”)编程语言。C#是一种由事件驱动、完全面向对象和可视化的编程语言。也使语言的协同工作的能力达到新的高度:不同语言的软件组件能前所未有地进行交互。IDE(Integrated Development Environment)RAD(Rapid Application Development)SOAP(Simple Object Access Protoc
9、ol)XML(The Extensible Markup Language),1.8 C#,FORTRAN(FORmula TRANslator)COBOL(Common Business Orented Language)Pascal,1.9 其他高级语言,1971年出现了Pascal语言,以17世纪地数学家和哲学家布勒斯帕斯卡(Blaise Pascal)命名,用于学术环境中结构化编程的教学。Ada编程语言是20世纪70年代和80年代早期在美国国防部(The United States Department of Defense,DOD)的资助下发展起来的。Ada的一个重要性能是多任务,它
10、允许程序员指定许多活动同时进行。,1.10 结构化编程,对象技术是一种组合技术,更容易生成有意义的软件单元。这些软件单元大量集中在特定的应用领域。实际上,几乎所有的名词都可以合理地用一种软件对象来代表。过程化编程地一个关键问题是,生成的程序单元并不能有效的反应真实世界的实体,因此也没有很好的重用性。面向对象编程易于开发出容易理解的软件,因为可以很好地对软件进行组织而且几乎没有维护需求。80%的软件成本不是花在开发软件的初期阶段,而是花在了软件生命周期的维护和升级阶段。良好编程习惯、常见编程错误、性能提示、可移植性提示、测试和调试技巧、界面常识。,1.11 重要的软件趋势:对象技术,每经过一两年
11、,计算机的处理能力近似地翻一番(通常称为摩尔定律)。在内存总量、长期存储程序和数据的二级存储(例如磁盘)的总理、处理器执行程序的速度、通信领域,摩尔定律尤其准确。,1.12 硬件趋势,ARPA(Advanced Research Projects Agency)ARPAnet是今天因特网的前身。ARPAnet通讯协议TCP/IP。万维网允许用户查找和观看几乎任何形式的多媒体文档(包括文本、图形、动画、音频和视频的文档)。HTML(HyperText Markup Language,超文本标记语言),1.13 因特网和万维网的历史,1994年10月,Tim Berners-Lee创立了一个称为万
12、维网联盟(World Wide Web Consortium,W3C)的组织,致力于研究万维网中非盈利性的、公共的技术。3个主要的组织组成:MIT、INRIA、Keio。W3C规范包括扩展超文本标记语言(XHTML)、层叠样式表(CSS)和可扩展标记语言(XML)。,1.14 万维网联盟(W3C),XML把它的前身通用标记语言(SGML)的功能和扩张性和Web通信所要求的简单性结合在一起。可扩展样式表语言(Extensible Stylesheet Language,XSL)包含了层叠样式表(CSS)以及文档样式和语言规范语言(DSSSL)的要素。扩展链接语言(Xlink)也综合了HyTime
13、(超媒体/基于时间的结构语言)和TEI(文本编码主动性)的思想,提供了资源的可扩展链接。数据独立,即内容和形式的分离,是XML的本质特点。SOAP是一种针对因特网上分布式对象的技术,它基本是由微软公司的开发人员开发的。,1.15 可扩展标记语言(XML),2000年6月,微软发布了.NET。.NET策略的一个主要方面是它独立于特定的语言或者平台。.NET体系结构能在多个平台上运行。另外,.NET策略涉及了新的程序开发过程。.NET体系结构的一个关键组件是Web服务。.NET策略包含了软件重用的思想。“统一数据访问”是.NET策略的另一个本质概念。,1.16.NET介绍,Microsoft.NE
14、T框架是.NET策略的核心。公共语言运行库(Common Language Specification,CLS)程序被编译成微软中间语言(MSIL),它为CLR定义了指令。其他语言和源代码转换为MSIL代码后由CLR进行组合,然后CLR中的另一个编译器将MSIL编译为机器代码(为某一个特定平台),生成单独的应用程序。平台独立性.NET框架也提供了一个高端的语言互操作性。.NET框架的另一个好处是CLR的执行管理特性。.NET框架还向程序员提供了丰富的类库。框架类库(Framework Class Library,FCL),1.17.NET框架和公共语言运行库,.NET Framework 补充
15、介绍,用户界面:.NET 支持三种类型的用户界面(Web 窗体、Window 窗体和控制台)Web 服务:.NET Framework提供了类库和工具支持ASP.NET:建立在 CLR 上的新型 Web 编程模型,Web 窗体提供了强大的动态用户界面编程支持ADO.NET:下一代 ADO 数据访问组件,提供了丰富的 XML 支持.NET Framework类库:扩展了运行时的功能,提供高层的服务支持,一致的编程接口简化了应用程序的开发公共语言运行库:提供安全和强壮的执行环境,提供多线程支持,简化应用程序的部署和管理应用程序服务:如 COM+服务、MSMQ、WMI、IIS 等,Windows20
16、00 以上操作系统中.NET Framework类库提供了相应的支持操作系统底层:.NET Framework必须运行在操作系统上,如Win32、WinCE、PocketPC 等操作系统,公共语言运行库,.NET Framework类库支持,类加载器,.NET 类库支持:通过和运行时集成代码来支持.NET Framework类库COM封送拆收器:提供和 COM 组件之间的封送线程:提供多线程编程支持异常管理器:提供和 Windows 结构化异常处理集成的异常处理机制类型检查器:不允许不安全的类型转换和未初始化变量 MSIL 可被校验以保证类型安全调试器:使开发者能够调试应用程序和根据代码执行安
17、全引擎:提供基于证据的安全,基于用户身份和代码来源垃圾回收器:为.NET Framework下的所有对象提供自动生命期管理,支持多处理器,可扩展代码管理器:管理和执行代码Microsoft中间语言到本地代码编译器:通过即时编译把 Microsoft 中间语言转换成本地代码类加载器:管理元数据,加载和在内存中布局类,“Jupiter”,SQL Server“Yukon”,Architectural progressOne OS code baseOne programming modelOne development environment,choice of development langu
18、agesOne storage systemOne business integration infrastructureOne management infrastructureThere are always new challenges,System Center,Architecture Matters,使用.Net Framework实现应用程序集成,Connected Systems,Connected Business,Connected Experiences,Connected Development,Web Services Everywhere,SOURCES:DOCULABS,MIDDLEWARE COMPANY,http:/,http:/,