C简单程序设计.ppt
《C简单程序设计.ppt》由会员分享,可在线阅读,更多相关《C简单程序设计.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#应用程序设计教程,本课程的前序课程: 大学本专科计算机导论 本课程主要讲述内容: Windows客户端应用程序设计,本书详细内容,第1章简单程序设计 第2章数据类型 第3章C#面向对象编程基础 第4章程序调试与异常处理 第5章C#可视化编程基础 第6章常用控件和类的使用 第7章文本编辑器的实现 第8章图形图像编程 第9章文件和流 第10章多线程和Socket编程初步 第11章数据库与ADO.NET,C#及Visual Studio开发工具介绍,C# 2000年 C#诞生 2001年 C#被ECMA(欧洲计算机制造者协会)规定为高级 语言开发标准(ECMA-334 ) 2003年 C#被IS
2、O(国际标准化组织)规定为高级语言开发 标准(ISO/IEC 23270 ) VS开发工具 2003年 发布Visual Studio.NET 2003(VS.NET2003) 2005年11月 发布Visual Studio 2005(VS2005)英文版 2006年1月 发布VS2005 Professional简体中文版,VS2005的各种版本(功能从最强到最弱) VS2005 Team 版本 用于大型团队开发 VS2005 Professional版本 用于大中型软件公司 VS2005 Standard版本 用于小型软件公司 VS2005 Express版本 用于业余开发者(初学者)
3、本课的上机实验环境 VS2005 Express版本 安装建议 (1)操作系统使用 WindowsXP SP2 (2)至少256MB内存,最好512MB,第1章 简单程序设计,Microsoft.Net FrameWork(微软.Net架框,以下简称.Net FrameWork)是微软提出的新一代软件开发模型,是一种面向网络、支持各种用户终端的开发平台环境,是生成、部署和运行所有.NET应用程序的基础。它包括以下2个主要部分。,1.1 .NET平台简介,1.1.1 公共语言运行环境,公共语言运行环境(Common Language Runtime,简称CLR)是.NET框架的基础。.NET源程
4、序首先被编译为微软中间语言(Microsoft Intermediate Language,简称MSIL)代码,形成扩展名为.exe或.dll文件,MSIL定义了一系列与CPU类型无关的可移植指令集,可在CLR中运行。扩展名为exe或dll的可执行文件运行时,CLR同时运行。MSIL语言代码不是CPU可执行的机器码,CLR中的JIT编译器(Just In Time)负责将MSIL代码翻译成机器代码在CPU中运行,由CLR来管理.NET应用程序的运行,CLR提供内存管理、线程管理、远程管理等服务,并对程序代码的安全和可靠性把关。可编写在任意指定操作系统中运行的CLR,凡是使用符合公共语言规范(C
5、ommon Language Specification, CLS)的语言开发的程序均可在其上运行。因此,.NET源程序具有平台无关性。,1.1.2 框架类库,为了提高开发效率,各种开发平台都为用户提供工具类库,如C+的MFC、JAVA的WFC、VB的VBRUN等。.NET框架提供了一个统一的、面向对象的、层次化的可扩展编程接口:框架类库(Framework Class Libraries,FLC),使得开发人员可以在.NET环境下使用各种不同的语言来进行应用开发。 按照应用领域的不同,.NET将类库划分为四个部分:,基本类库:提供输入/输出、字符串操作、安全性管理、网络通信、文本管理等标准功
6、能。 ADO.NET:数据库访问及XML类。 ASP.NET:Web服务和Web窗体,用来建立强大的Web应用程序。 Windows窗体类:Windows窗体支持的一组类,用于开发基于Windows的图形用户界面应用程序。 总之,.NET开发框架在公共语言运行时的基础上,为开发者提供了完善的类库,开发者可使用多种语言及Visual Studio开发工具来快速构建下一代的网络应用。,1.2 C#语言特点,Microsoft.Net FrameWork是微软提出的新一代软件开发模型 C#语言是.Net FrameWork中新一代的开发工具 C#语言编写的源程序,被C#语言编译器编译为中间语言代码(
7、MSIL),由通用语言运行环境(CLR)中的既时编译器(JIT)将中间语言代码翻译为CPU可执行的机器码,由CPU执行,CLR为C#语言中间语言代码运行提供了一种运行时环境,C#语言的CLR和JAVA语言的虚拟机类似。这种执行方法使运行速度变慢,但带来其他一些好处,主要有: 通用语言规范 自动内存管理 交叉语言处理 更加安全 版本支持 完全面向对象,1.3 编写控制台应用程序,【例1.1】程序的代码如下: /在屏幕输出一行欢迎信息,从第一个/开始到本行结束是解释 using System; /引用命名空间System namespace MyApplication /声明命名空间MyAppli
8、cation class Test /class是关键字,表示定义一个类,Test是类名 /主函数(方法)Main,必须是静态的 static void Main(string args) /语句,调用方法WriteLine输出字符 Console.WriteLine(欢迎使用C#!); /大括号必须成对出现,用微软Visual C#2005 Express Edition(以后简称VS2005)生成控制台程序,具体步骤如下: (1)运行VS2005程序,单击菜单“文件(F)|新建项目(P)”菜单项,打开“新建项目”对话框如下图。在模板(T) 列表框中选择控制台应用程序,单击确定按钮,创建项目
9、。,(2)出现如下图界面,按图中那样修改Program.cs文件。编写一个应用程序可能包含多个文件,才能生成可执行文件,所有这些文件的集合叫做一个项目,项目名称可以是任何标识符,本项目名称为ConsoleApplication1。,(3)按CTRL+F5键,运行程序,运行结果如图1.3。需要注意的是,和以往使用过的绝大多数编译器不同,C#编译器只执行编译过程,不经过链接直接生成扩展名为.exe的可执行文件或扩展名为.dll的动态链接库,C#编译器中不包含链接器。,(4)单击菜单文件(F)|全部保存(L)菜单项,打开保存项目对话框,在名称(N) 编辑框中键入保存的项目文件名称:控制台程序,在解决
10、方案名称(M) 编辑框中键入保存的解决方案名称:例1_1。单击位置(L) 编辑框后的浏览(B)按钮,选择保存的文件的路径,在该路径下将创建文件夹例1_1,项目的所有文件都保存到这个文件夹下。这里请注意,必须保存项目的所有文件,将来才能重新打开项目。如仅保存Program.cs,将不能重新打开项目。,1.4 程序结构,C#程序结构是指构成应用程序的必要元素,包括程序组成要素、语法规则及书写格式等。 1.4.1 C#程序的组成要素 例1.1是一个简单的控制台应用程序,其功能是在屏幕上输出一行字:欢迎使用C#!。分析这个程序,可以看出C#程序有命名空间、类和方法、语句和大括号等组成要素。,1.标识符
11、 标识符是程序中为一些要素所定义的名称,如例1.1中的命名空间名MyApplication、类名Test、方法名Main等。程序中所有定义的标识符都有实际意义是很好的编程习惯。标识符命名时必须遵循如下命名规则: 由字母、数字、下划线_组成,C#语言中标志符允许包含中文字符。 第一个字符必须是字母、中文字符或下划线,不能是数字或除下划线外的特殊字符。 C#对字母大、小写敏感,两个标识符即使只是对应字母大、小写不同,也是不同的标识符,这点和VB 语言不同。 标识符不能与关键字同名。,如例1.1程序中的MyApplication、Test、Main等都是合法的标识符。而下面的标识符都是非法标识符。
12、2example /非法起始字符,起始字符不能是数字 #200 /非法起始字符,起始字符不能是特殊字符 Hello* /含有非法字符“*”,标识符中不能有“*” if /if是关键字,关键字不能作为标识符 Hello World /含有非法字符空格标识符中不能有空格,2. 关键字 在C#代码中的关键字是由C#语言定义并使用的具有特定意义的字符串,它们不能在程序中用作标识符。在VS2005环境的代码视图中关键字默认以蓝色显示。如例1.1代码中的using、namespace、class、static、void等,均为C#的关键字。 3. 类和方法 C#语言用类来组织程序的变量和方法,所有变量和方
13、法必须定义在一个类中。例1.1程序Class Test语句定义了一个名为Test的类,其中关键字Class表示定义一个类,Test是类名。在类Test中声明了一个名为Main的方法,用来指示应用程序从该处开始执行。C#要求每个程序必须且只能有一个Main方法,该方法必须是静态的(用static修饰),所谓静态方法表示程序运行后,该方法就已存在,可以使用,Main方法必须放在某一个类中。类中还可以定义其他方法。有关类和方法的详细内容将在后面章节详细介绍。,4. 命名空间 命名空间是C#语言提供的对类库程序和程序员编写的程序分层组织方式,不同程序代码可以分类放到不同的命名空间中,为使用和维护这些程
14、序提供了方便,使用命名空间的另一个原因是减少程序中标志符同名的可能性,不同命名空间中的标志符可以同名,同一命名空间中的标志符不能同名。命名空间有两种,一种是系统预定义的命名空间,它提供系统预定义的基本数据类型和程序代码,供设计程序时使用,由using关键字导入。如例1.1程序中“using System;”语句,就导入了System命名空间,它提供了构建应用程序时所需要的所有系统功能,代码中的“Console.WriteLine”就是该命名空间提供的Console类(控制台类)中定义的在屏幕输出一行字符的方法WriteLine。在创建项目时,VS2005会自动生成导入该命名空间的代码,并且放在
15、程序的第一行。,另一种是用namespace关键字声明的用户自定义命名空间,例1.1中的“MyApplication”就是用户自定义命名空间。全局命名空间应是源文件using语句后的第一条语句。在一个命名空间声明中还可以声明该命名空间的子命名空间。在同一命名空间中,不允许出现同名命名空间成员或同名的类。例子如下: using System; namespace N1 namespace N2 /命名空间N1的子命名空间成员N2 class A /在N2命名空间定义的类不应重名 static void f1(); class B static void f2(); ,也可以采用非嵌套的语法来实现
16、以上命名空间: namespace N1.N2 /类A、B在命名空间N1.N2中 class A static void f1(); class B static void f2(); 不同文件中的程序,如果使用相同命名空间名称声明,表示这些程序在同一个命名空间中。如在一个程序中,需引用其他命名空间的类或函数,可以使用语句using,例如需使用上边定义的方法f1()和f2(),可以采用如下代码:,using N1.N2; class WelcomeApp A.f1(); using N1.N2是告诉应用程序到哪里找到类A。如果不使用using语句,应使用如下形式: class WelcomeA
17、pp /表示类A在命名空间N1.N2中 N1.N2.A.f1(); 命名空间声明不是必须的,例如在上述程序中,可以不声明“MyApplication”这一用户自定义命名空间,程序照样可以正常运行,系统将所定义的程序放到默认的命名空间中。但在实际的程序开发过程中,一个程序往往由许多模块组成,使用命名空间有利于程序的组织和管理。,5.语句 语句就是C#程序中执行操作的指令。在C#语言语句必须用分号;结束,这也是与VB不同的地方。可以一行上书写多条语句,也可以将一条语句书写在多行上。当语句中包含不同层次的内容时,C#用点“.”操作符表示从属关系。比如例1.1代码第6行通常应该写成如下形式: Syst
18、em.Console.WriteLine(欢迎使用C#!); 其中,“System”表示一个命名空间,“Console”表示该命名空间中的一个类,“WriteLine”表示该类中的一个方法。不过,因为在第2行中使用了using指令,已经导入了“System”命名空间,所以使用该空间中的类时,不必显示给出命名空间的名称。,6. 大括号 在C#中,大括号和是一种范围标志,是组织代码的一种方式,用于标识应用程序中逻辑上有紧密联系的一段代码的开始与结束,和必须成对出现。大括号可以嵌套,以表示应用程序中的不同层次,例如,在例1.1程序中命名空间MyApplication下的大括号标识该命名空间的代码范围
19、,类Test下的大括号标识该类的代码范围,方法Main下的大括号,标识该方法的范围。并且类Test包含在命名空间MyApplication中,方法Main又包含在类Test中。,1.4.2 C#程序的格式,C#程序中的代码应按照一定的格式书写,代码格式有两类:一类属于C#的语法规则,这类格式必须遵守;还有一类属于结构格式,这在程序设计中不是必须的,但统一结构格式的书写方法有助于使代码层次清晰,从而提高程序的可读性,提高编程效率。 1. 缩进与空格 缩进用于表示代码的结构层次,这在程序设计时不是必须的,但是缩进可以清晰地表示程序的结构层次。例如在例1.1程序中,命名空间及标识其范围的一对大括号顶
20、格书写,命名空间中的类及标识其范围的一对大括号向内缩进一个制表位,类中的方法及标识其范围的一对大括号向内缩进两个制表位,方法中的语句向内缩进三个制表位。,2. 注释 例1.1程序的第1行是注释,它指出了该程序的文件名及该程序的主要功能。在程序代码中加上必要的注释可以提高程序的可读性,便于维护。一般情况下,每定义一个类、方法和结构等,都要在头部用注释说明其用途、使用方法、参数意义等。C#中注释有两种:单行注释:以“/”开始,本行其后的所有字符都是注释信息,注释到行尾结束。多行注释:以“/*”开头、“*/”结束,可以换行,其间的字符均被视作注释字符。例如,一个文件的头部都应使用注释增加如下信息:
21、/* *版权信息 *文件名称 *程序功能简介 *作者,完成日期 */,1.5 基本数据类型和表达式,本节先介绍C#语言内置数值类型、字符类型和布尔类型数据,然后介绍表达式和运算符。,1.5.1 基本数据类型,本节介绍C#语言内置的基本数据类型。根据数据的性质可分为四类,即数值型、字符型、布尔型和对象型。本节不介绍内置对象类型,有关内容在后续章节介绍。 1. 数值类型 数值类型有整数与实数类型两种,每种类型所占内存位数、其取值范围见下表所示。,整数 整数可以用十进制表示,如123、45678等;也可以用十六进制表示,如0 x12、0X3A等,即在数字前面加“0 x”或“0X”。C#的整数没有八进
22、制表示形式。 一般说来,整型常量值的默认数据类型是int型,但当其值超出了int型的取值范围时,它将根据其数值大小相应被视为一个unit型、long型或ulong型。也可在整型常量后加后缀将它显示说明为指定类型,例如后缀U(或u)指定整数为uint或ulong型(视其值大小而定)。如果在整型常量后同时加上这两种后缀UL,它就是一个ulong型常量。 123456L /long类型 25u /uint类型 25ul /ulong类型,浮点数 浮点型常量只能用十进制表示,共有两种表示形式:一般形式和指数表示形式。一般形式又称小数表示形式,浮点数由整数和小数两部分组成,其中整数部分为0时在实际使用时
23、可省略。例如:2.6,.9,8.0,小数部分不能省略,此与C+语言不同。如8.0不能写成8.。指数表示形式时,浮点数由尾数、字母E(或e)、指数部分组成。例如:2.3E12,.25E6,-0.35E-5。 浮点型常量默认类型为double型,如果要将其说明为float型,需在其值后加后缀F(或f)。如果要将其说明为decimal型,需在其值后加M(或m)。也可在数值后加上后缀D(或d)将其显示说明为double型。例如:2.8f,6.9D,4.6E7M。,2. 字符类型(char) 字符型数据在内存中占2字节,包括数字字符、英文字母、表达符号、中文等,数据范围是065535之间的Unicode
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 程序设计
限制150内