1、第 1 章 C#程序设计基础,王德俊 上海交通大学继续教育学院,第 1 章 C#程序设计基础,1.1 程序设计语言1.2 程序设计方法1.3 C#程序设计语言概述1.4 C#集成开发环境,1.1 程序设计语言1.1.1 程序设计语言的定义1.1.2 程序设计语言的分类1.3 C#程序设计语言概述1.3.1 C#语言的起源与发展1.3.2 C#语言的特点1.4 C#集成开发环境1.4.1 Visual Studio 的发展历史,1.1.1 程序设计语言的定义,程序设计语言(Programming Language)是一套遵循既定规则的记号系统;一个计算机程序实际上就是由一些记号按若干规则构成的记
2、号串。程序设计语言包含三方面的内容:语法:记号串构成的规则,它表示程序的结构或形式;语义:表示语法单位和程序的意义,离开语义,语言只不过是一堆符号的集合;语用:表示程序与其使用的关系,这种关系将语言的基本概念和语言的外界联系起来。,1.1 程序设计语言,1.1.2 程序设计语言的分类,1.1 程序设计语言,在计算机诞生后的发展过程中,程序设计语言经历了从低级到高级的发展阶段低级:分为机器语言和汇编语言高级:出现于20世纪50年代中期,至今已有上千种,常用的有上百种,如:C/C+、Pascal、FORTRAN、COBOL、Java、BASIC以及C#等,20世纪40年代是计算机能执行的机器指令代
3、码,由若干0和1的序列组成是最低级的计算机语言优点: 计算机硬件可以直接识别,因此执行速度快缺点: 难记,难写,难读,易出错,难以维护,不同计算机间互不兼容,可移植性很差,1. 机器语言,2. 汇编语言,20世纪50年代使用一种比较直观、便于记忆的指令符号(指令助记符)来代替二进制数字的机器指令代码优点:比机器语言直观,易于记忆、理解和阅读,指令助记符与机器指令代码一一对应,程序执行效率高,与机器语言程序运行速度相仿缺点:面向机器,在不同计算机间互不兼容,可移植性差,汇编程序计算机不能直接识别用汇编语言编写的程序汇编程序负责把汇编语言程序(源程序)转换为机器指令代码(目标程序)机器语言与汇编语
4、言都是面向机器的,统称为低级语言,3. 高级语言,20世纪50年代中期接近人们熟悉的自然语言(主要指英语)和数学语言与具体的计算机指令系统没有直接关系,设计的程序可以在各种类型的计算机上运行优点:独立于具体的计算机硬件,可移植性好缺点:程序的执行速度和空间效率略差,“翻译”程序,计算机不能识别与执行用高级语言设计的程序,必须将高级语言程序转换为机器语言程序,才能在计算机上得以执行,这种转换的过程叫“翻译”,“翻译”程序,“翻译”分为解释和编译2种方式解释:“翻译”一句执行一句,解释程序边扫描、边翻译、边执行,解释过程不产生机器语言程序编译:将整个程序“翻译”完毕再予以执行,编译过程产生机器语言
5、程序不论是解释还是编译,在“翻译”过程中都会自动检查源程序中的语法错误用解释程序“翻译”执行程序比编译程序“翻译”执行程序慢,SUN公司于1995年推出一种跨平台的面向对象程序设计语言Java。为与Java争夺市场,微软推出了基于Java技术的Visual J+,由此引发微软与SUN公司的官司。2002 年,微软推出了一种面向Internet的Visual Studio .NET,该平台以.NET Framework作为“虚拟机”C#(C Sharp)是Visual Studio .NET平台中的一种完全的面向对象的高级程序设计语言。,1.3.1 C#语言的起源与发展,1.3 C#程序设计语言
6、概述,C#在C+和Java的基础上作了大量的改进,其特点主要体现在以下几个方面:语法简洁支持跨平台完全的面向对象程序设计功能强大的Web应用支持灵活性和兼容性对XML的高度支持与Java有着本质的区别,1.3.2 C#语言的特点,1.3 C#程序设计语言概述,微软于90年代中提出了Visual Studio的概念,推出了Visual Studio IDE的第一个版本。后来又提出Visual Studio .NET的概念2002 年,微软推出的Visual Studio .NET版本,引入了建立在.NET Framework 1.0的托管代码机制以及一门新的语言C#。微软之后推出了Visual
7、Studio .NET 2003,2005,2008,2010,2012,目前最新的版本是Visual Studio .NET 2013。,1.4.1 Visual Studio的发展历史,1.4 C#集成开发环境,Visual Studio.NET简介,Visual Studio.NET 是一套完整的开发工具,用于生成 ASP Web 应用程序、XML Web services、桌面应用程序和移动应用程序。Visual Basic.NET、Visual C+.NET、Visual C#.NET、Visual J#.NET是集成在Visual Studio.NET中的编程语言,使用相同的集成开
8、发环境(IDE)该环境提供了一个平台,允许多种编程语言共享工具,甚至可以创建由不同编程语言混合在一起的应用程序要运行.NET程序,必须安装.NET Framework,目前其最新版本是.NET Framework 4.5,不同的版本对系统要求不同。(VS.Net 2010 使用的是.NET Framework 4.0),.NET Framework体系结构,C# 程序在 .NET Framework 上运行,是Windows上的一个不可或缺的组件,包括一个称为公共语言运行时 (CLR,Common Language Runtime) 的虚拟执行系统和一组统一的类库。CLR 是 Microsof
9、t 对CLI (公共语言基础结构 ,Common Language Infrastructure ) 的商业实现。CLI 是一种国际标准,是用于创建语言和库在其中无缝协同工作的执行和开发环境的基础。,用 C# 编写的源代码被编译为一种符合 CLI规范的中间语言 (IL)。IL 代码与资源(例如位图和字符串)一起作为一种称为程序集的可执行文件存储在磁盘上,扩展名为 .exe 或 .dll。程序集包含清单,它提供有关程序集的类型、版本、区域性和安全要求等信息。,.NET Framework体系结构(续),.NET Framework体系结构(续),执行 C# 程序时,程序集将加载到 CLR 中,如
10、果符合安全要求,CLR 会执行实时 (JIT) 编译以将 IL 代码转换为本机机器指令。CLR 还提供与自动垃圾回收、异常处理和资源管理有关的其他服务。由 CLR 执行的代码有时称为“托管代码”,它与编译为面向特定系统的本机机器语言的“非托管代码”相对应。,摘自:http:/ Framework体系结构(续),.NET 框架的一些技术特点,语言互操作性:因为由 C# 编译器生成的 IL 代码符合公共类型系统 (CTS,Common Type System ),因此从 C# 生成的 IL 代码可以与从 Visual Basic、Visual C+、Visual J# 的 .NET 版本或者其他
11、20 多种符合 CTS 的语言中的任何一种生成的代码进行交互。详尽的类库:.NET Framework 还包含一个由 4000 多个类组成的内容详尽的库,这些类被组织为命名空间,为从文件输入和输出、字符串操作、XML 分析到 Windows 窗体控件的所有内容提供了各种有用的功能。,.NET 框架的一些技术特点(续),多平台支持:目前.NET 的跨平台性限于各种 Windows 操作系统,如Windows 95/98、Windows NT、Windows 2000 、 Windows XP 、Windows Vista和Windows 7等。性能:对于 .NET 来说,要具备很好的性能要靠CLR来执行中间代码。为了确保最佳性能,在某种意义上CLR将所有引用程序代码都编译成本机代码。,深入了解.NET Framework ,可参看http:/ Framework体系结构,