C语言程序设计.ppt
《C语言程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计.ppt(337页珍藏版)》请在三一办公上搜索。
1、,第1章 C#语言简介及运行环境,本章对C#语言的起源、性能、特点以及C#开发环境进行简单介绍,并通过一个简单的示例介绍控制台应用程序的编写方法。,1.1 C#语言简介,C#(读为C sharp)是一种专门为.NET应用而开发的程序设计语言,它由微软公司在2000年7月发布,具有简单、安全、面向对象等特点。C#吸收了C+、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术。,C#语言简介(续),1.1.1 C#语言的起源 C#是微软整合了自己最佳的资源,开发出了C#语言,这是一种最新的、面向对象的程序设计语言。C#使程序员可以快速地编写各种基于.NET平
2、台的应用程序。最重要的是,C#像C+一样能开发出高效的程序。C#与C/C+具有极大的相似性,熟悉这些语言的开发者可以很快地掌握C#。,C#语言简介(续),1.1.2 C#语言的应用(1)Windows应用程序。开发人员可以利用Windows 窗体模块创建Windows 应用程序,如传统的Win32应用程序。Windows 窗体模块是一个控制库,其中的控件(如按钮、工具栏、菜单等)可以用于建立标准的Windows用户界面(UI)。(2)Web应用程序。Web应用程序是指可以通过任何Web浏览器查看及使用的Web页面。.NET框架包括一个动态生成Web内容的强大系统ASP.NET,开发人员可以通过
3、ASP.NET创建Web应用程序。Web窗体为Web应用程序定义了用户接口,包含静态文本和服务控件,而应用程序逻辑则驻留在后台代码文件中。,C#语言简介(续),1.1.3 C#语言的特点(1)语法简单:C#中不再使用指针,只需使用“.”符号即可实现对类的成员的引用和访问。(2)现代性:C#为程序设计提供了许多内建的支持,程序设计人员可以更容易地使用其创建具有良好性能的功能强大的应用程序。C#语言在数据类型、垃圾回收、内存压缩、异常处理等诸多方面都显示出了它的现代性。(3)面向对象:C#支持数据封装、继承、多态等所有面向对象的概念。,C#语言简介(续),(4)类型安全:在C#中不允许进行不安全的
4、类型转换,如将int类型转换成boolean类型;数组下标从零开始,并进行越界检查;对溢出进行检查及异常处理。(5)兼容性:可以在C#中直接应用使用其他中间代码语言编写的组件。C#还允许用户有限制地使用指针。(6)可伸缩性:扩展使用C#编写的程序时,只需将新文件覆盖旧文件,而不需要注册动态链接库。(7)版本控制:C#可以支持版本控制。,1.2 C#运行环境,C#程序基于.NET Framework运行。.NET Framework 是微软开发的用于生成、部署和运行应用程序和XML Web服务的多语言环境,主要由公共语言运行库和统一编程类组成。,C#运行环境(续),1.2.1.NET概述.NET
5、是Microsoft提供的一种全新的开发平台,这个平台将推动以新体系为基础的协同Web应用程序开发。.NET是Microsoft贴在现有产品和未来产品上的一个新式行销标签。.NET最令人感兴趣的特色在于它的开发平台、语言和协议。可以说,无论是在技术上还是在战略上,Microsoft都对.NET寄予了厚望。.NET程序可以运行在任何Windows 98以上版本的Windows系列操作系统上。VS.NET是一个功能强大的.NET程序集成开发环境(IDE)。,C#运行环境(续),1.2.2.NET架构,C#运行环境(续),.NET架构的最高层(即顶层)用于显示用户界面。Windows窗体是实现标准W
6、in32应用程序窗口的一种更高级的新方式,它具有直观的界面,基本上可以实现开发人员所希望的任何功能。.NET架构的中间层包括下一代标准系统服务,如管理数据和XML的类。这些服务在架构的控制之下,可以在各处通用。,C#运行环境(续),.NET架构的底层是公共语言运行库,通常简写为CLR(Common Language Runtime),它是.NET框架的核心,是驱动关键功能的引擎。CLR的主要功能是内存管理、安全性检查、生命周期监控和代码管理等。设计公共语言运行库的主要目的是提供极佳的工具支持,实现更快速的开发以及更简单、安全的部署,并使系统具有可伸缩性。,C#运行环境(续),1.2.3 Vis
7、ual Studio 2005项目 Visual Studio 2005具有GUI设计器、数据库操作工具、对象和项目浏览工具以及帮助系统,它集成了Visual Basic 2005、Visual C#2005、Visual C+2005、Visual Web Developer 2005等各种语言的开发平台。其中,Visual C#2005支持的主要项目类型如表1-1所示。,C#运行环境(续),表1-1 Visual C#2005支持的项目类型,C#运行环境(续),1.2.4 Visual C#2005集成开发环境(以下配合演示)1Visual Studio 2005起始页 2新建Visual
8、 C#项目 3解决方案资源管理器,C#运行环境(续),1.2.5 第一个C#程序 C#主要用于开发3类程序,即控制台程序、Windows程序和ASP.NET程序。C#程序的扩展名为.cs,使用编译器csc.exe可将其编译成可执行文件。,C#运行环境(续),1命名空间 就像在文件系统中用一个目录容纳多个文件一样,可以将命名空间看作某些类的容器。通过命名空间可以把相关的类组织起来,并避免命名冲突。命名空间既可以用于程序的“内部”组织系统(一种不向其他程序公开自己拥有的程序元素的方法),也可以用于“外部”组织系统(一种向其他程序公开自己拥有的程序元素的方法)。,C#运行环境(续),namespac
9、e关键字用于声明一个命名空间,其语法格式如下:namespace name 类型声明,C#运行环境(续),可以在命名空间中声明一个或多个数据类型,如类、接口、结构、枚举、委托。即使未显式声明命名空间,VS.NET集成开发环境也会自动创建默认命名空间,也称为全局命名空间。全局命名空间中的任何标识符都可以在其他命名空间中使用。隐式声明的命名空间具有公共访问权限。,C#运行环境(续),系统定义的命名空间 命名空间分为用户定义的命名空间和系统定义的命名空间两类。命名空间的使用 使用using指令能够引用命名空间或创建命名空间的别名,其语法格式如下:using 别名=类或命名空间名;,C#运行环境(续)
10、,2控制台程序 控制台是一个操作系统窗口,用户可以使用控制台实现与操作系统或基于文本的控制台应用程序的交互。例如,Windows操作系统中的控制台是一个命令提示窗口,可以接受MS-DOS命令。C#中的Console类对从控制台读取字符并向控制台写入字符的应用程序提供基本支持。控制台应用程序启动时,操作系统会自动将标准输入流、输出流和错误流以in、out 和error属性值的形式提供至控制台。,小 结,C#是专门为.NET平台打造的通用开发工具,具有高效、安全、灵活等特点,从而使其成为现代最流行的程序开发语言之一。从最普通的控制台应用到大规模的商业开发,C#与.NET平台的结合提供了完整的解决方
11、案。本章先介绍了C#起源、性能、特点,以及.NET框架和公共语言运行库CLR,然后介绍了C#的运行环境,最后通过一个程序编写示例介绍了C#程序的基本结构。,谢谢!,第2章 C#程序设计基础,本章先介绍了标识符和关键字、常量和变量、数据类型、类型转换及装箱和拆箱,然后介绍了表达式和运算符,最后介绍了基本程序控制结构,包括顺序结构、选择结构和循环结构3种形式。,2.1 标识符和关键字,在C#程序设计语言中,标识符是用于对变量、常量、方法、数组、类、属性等命名的符号。命名标识符必须符合以下规则:必须以字母、下划线“_”或“”开头,可以包含数字和各种符号。不能使用C#中的关键字。,标识符和关键字(续)
12、,下面是一些有效的变量名:aB123_45 _567 for 下面是一些无效的变量名:#12ABC xyz$wv,标识符和关键字(续),系统定义的具有特定含义的标识符称为关键字,也称为保留字,如continue、for、new、switch、default等。C#语言中的关键字均用小写字母表示。如果一定要将C#中的关键字用作标识符,应使用“”字符作为前缀,如continue、for、new、switch。,2.2 常量和变量,常量和变量是程序设计的基础。变量代表内存中的一个区域,变量的值就是存储于这个区域的数值。常量是在程序中用于代替不变的数字或字符串的有意义的名称,它是一种特殊的变量。,常量
13、和变量(续),2.2.1 常量 程序中经常包含一些反复出现的常数值,它可能依赖于某些难于记忆或没有明显意义的数值(如PI的值、e的值等)。在这些情况下,使用常量不但可以极大地提高代码的可读性,还会使代码更易维护。在C#中,声明常量的格式为:const 数据类型 变量名=值;例如:const int DaysInYear=365;const int WorkDays=250;,常量和变量(续),2.2.2 变量 变量是程序运行过程中用于存放数据的存储单元,其命名应遵循标识符的命名规则。1.声明变量 变量就像一个盒子(相当于内存),不同的变量中存放着各种不同的数据。在程序中使用变量时必须先指定其数
14、据类型。例如,要在程序中计算整数a、b的和,必须先声明它们的数据类型,代码如下:int a;int b;,常量和变量(续),C#中规定,使用变量前必须对其进行声明,同时规定了其类型和名称。若在程序中使用未声明的变量,编译时会报错。声明变量的格式为:类型 变量名;例如,下面的语句声明了一个整型变量a:int a;C#中并不要求在声明变量的同时对其赋值,但在声明变量时就对其赋值是程序员应具有的良好习惯。例如,下面这句代码在声明了double型变量的同时将其赋值为2.14:double d=2.14;,常量和变量(续),可以在同一行中声明多个变量,例如,下面这句代码在声明了两个布尔型变量的同时将其分
15、别赋值为true和false:bool b1=true,b2=false;2.变量的类型 在C#语言中变量主要有7种类型,即静态变量、实例变量、数组元素、值参数、引用参数、输出参数和局部变量。,常量和变量(续),1)静态变量 在程序设计中,静态变量用static修饰符来声明。一旦静态变量所属的类被装载,它将一直存在,直到包含该类的程序运行结束。静态变量的初始值就是此变量的类型的默认值。一般在定义静态变量时对其赋值。例如:public static int s=5;在使用静态变量时,不需要对其所在的类进行实例化。,常量和变量(续),2)实例变量 未使用static修饰符声明的变量称为实例变量(非
16、静态变量),例如:int s=2;一旦一个类的实例被创建,其实例变量将一直存在,直到所有对此实例的引用都终止,并执行了此实例的析构函数(若有)时为止。类实例变量的初始值是此变量的类型的默认值。,常量和变量(续),3)数组元素 数组元素随数组实例的存在而存在。每个数组元素的初始值都是其数组元素类型的默认值。一般应在初始化数组元素时对其赋值。有关数组的内容将会在后面的章节中详细介绍。4)值参数 未用 ref 或 out 修饰符声明的参数为值参数。值参数在调用其所属的函数成员(方法、实例构造函数、访问器或运算符)时开始存在,并通过调用中给定的自变量的值初始化,直至返回此函数成员为止。,常量和变量(续
17、),5)引用参数 用 ref 修饰符声明的参数为引用参数。引用参数不创建新的存储位置。在调用函数成员时,传递作为引用参数的变量之前必须已对其赋值。6)输出参数 用 out 修饰符声明的参数是输出参数。输出参数不创建新的存储位置。在调用函数成员时,作为输出参数的变量在传递之前可以不对其赋值。而函数成员的每个输出参数在此函数成员正常返回前都必须已明确赋值。,常量和变量(续),7)局部变量 局部变量声明可以出现在块、for 语句、switch 语句或 using 语句中,其生存期为从进入与它关联的块、for 语句、switch 语句或 using 语句开始,直到相应语句的执行结束为止。局部变量不会自
18、动被初始化,因此也没有默认值。如果在局部变量声明符之前的文本位置引用此局部变量,则会出现编译时错误。,2.3 数据类型,任何一个完整的程序都可以看成是一些数据和作用于这些数据上的操作,每一种编程语言都为开发人员提供一些数据类型,不同的语言所提供的数据类型不尽相同。C#语言是一种强类型语言,在程序中用到的变量、表达式等都必须明确数据类型,编译器需要检查数据类型操作的合法性。在C#语言中,数据类型可以分为值类型和引用类型两种。值类型的变量存放的是数据本身,引用类型的变量存储的是数据的引用。,数据类型(续),2.3.1 值类型 在C#中,值类型可以分为以下几种:1简单类型 C#语言中的简单类型主要有
19、整数类型、布尔类型、字符类型和实数类型。,数据类型(续),1)整数类型 C#语言中的整数类型分为8类,即短字节型(sbyte)、字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)、无符号长整型(ulong),其中,ushort、uint和ulong中的“u”是“unsigned”的简写,表示不能在这些类型的变量中存储负数。不同的整数类型用于存储不同范围的数值,占用的内存空间大小也不同。,数据类型(续),2)布尔类型 布尔类型只有两种取值,即true(真)和false(假)。在编写具有判断条件语句的应用程序时,布尔类
20、型的变量有着非常重要的作用。3)字符类型 C#的字符类型的值集对应Unicode字符集。将变量定义为字符类型的的语法格式如下:char myChar=C;/把C这个字符 赋值给变量myChar 也可以把转义字符赋值给字符类型的变量。,数据类型(续),4)实数类型 在C#中,实数类型分为单精度(float)、双精度(double)和十进制(decimal)类型,它们的差别在于取值范围和精度不同。实数类型的运算速度大大低于对整数类型,因此,采用双精度计算的结果将更为精确,而在对精度要求不高时可以采用单精度型。十进制类型主要是为了方便在金融方面的计算。当定义一个decimal类型的变量并对其赋值时,
21、一般使用m后缀表示此变量为十进制类型,例如:Decimal de=1.38m;,数据类型(续),2结构类型 结构类型可以声明构造函数、常数、字段、方法、属性、索引、操作符等。结构的功能看起来像一个类,其区别在于结构是值类型,而类是引用类型。声明结构类型的语法格式如下:Struct myColor public int Red;public int Green;public int Blue;,数据类型(续),3枚举类型 枚举类型也称为枚举,是一种具有命名常数的类型。例如,定义一个变量,其值表示一周中的一天,即此变量只能存储7个有意义的值,此时可以将这个变量定义为枚举类型。enum关键字用于声明
22、枚举类型,其语法格式如下:enum 枚举类型名:基础类型 由逗号分隔的枚举元素;,数据类型(续),2.3.2 引用类型 C#中的引用类型与C+中的类似,可以将它们视为类型安全的指针。引用类型的值是对此类型的对象的引用,其值可以是Null,表示它当前不引用或不指向任何对象。C#中的引用类型有4种,即类、数组、代理和接口,相关知识将在以后的章节中详细介绍。,2.4 类型转换,在程序设计中,常会遇到数据类型转换的问题。例如,使用int类型的数据与double类型的数据进行四则运算,就需要进行数据类型的转换。C#中的数据类型转换方法主要有隐式转换、显示转换(强制转换)、使用ToString()方法和使
23、用Convert类。,类型转换(续),2.4.1 隐式转换 隐式转换又称自动类型转换,若两种数据类型是兼容的或者目标类型的取值范围大于源类型时,就可以使用隐式转换。2.4.2 显示转换 显示类型转换是通过指令使编译器将一种数据类型转换为另一种数据类型。显示转换的缺点是产生的结果可能不够精确。显示类型转换的语法格式如下:(目标类型)变量或表达式;,类型转换(续),2.4.3 ToString方法 ToString方法主要用于将一种数据类型转化为字符串类型。字符串是用双引号括起来的字符序列,如Visual C#就是一个字符串。下面是一个把int类型的变量转换为string类型的例子:int I=2
24、00;string s=I.ToString();2.4.4 Convert类 在C#中可以通过使用Convert类提供的方法进行显式转换。,2.5 装箱与拆箱,装箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型。利用装箱和拆箱功能,就可以使值类型的值与引用类型的值相互转换。装箱操作可以隐式进行,但拆箱操作必须是显式的。拆箱过程分成两步:首先检查这个类的实例是否为给定的值类型的装箱值,然后将这个数值复制给值类型的变量。,2.6 表达式与运算符,程序中对数据的操作实际上就是数据的运算。表达式和运算符构成了程序中完成各种运算任务的语句,这些语句是程序设计的基础。,表达式与运算符(续),2.
25、6.1 表达式 表达式由操作数和运算符构成,其中操作数可以是常量、变量和属性等,运算符用于指示对操作数进行什么样的运算。最简单的表达式是变量和常量。在C#中可以通过使用运算符、方法调用以及类型转换等建立复杂的表达式。例如,以下是不同形式的表达式:X 3.1415926 System.out.println(“字符串长度:+m)x*y x=1.5,表达式与运算符(续),2.6.2 运算符 运算符是用来完成一个动作的特定语言的语法记号。最常用的运算符是加、减、乘和除。每一种语言都有运算符,并且严格定义了它们使用时的语法或规则,C#也不例外。C#运算符主要有赋值运算符、递增/递减运算符、算术运算符、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计

链接地址:https://www.31ppt.com/p-2901826.html