C#程序设计实用教程课件作者李正夫第02章节

上传人:E**** 文档编号:89085964 上传时间:2019-05-17 格式:PPT 页数:41 大小:3.95MB
返回 下载 相关 举报
C#程序设计实用教程课件作者李正夫第02章节_第1页
第1页 / 共41页
C#程序设计实用教程课件作者李正夫第02章节_第2页
第2页 / 共41页
C#程序设计实用教程课件作者李正夫第02章节_第3页
第3页 / 共41页
C#程序设计实用教程课件作者李正夫第02章节_第4页
第4页 / 共41页
C#程序设计实用教程课件作者李正夫第02章节_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《C#程序设计实用教程课件作者李正夫第02章节》由会员分享,可在线阅读,更多相关《C#程序设计实用教程课件作者李正夫第02章节(41页珍藏版)》请在金锄头文库上搜索。

1、,2.1 C#基本语法,2-1.1 语句,每条语句以“;”结束,每行可以书写多条语句,但是语句之间需要用“;”分隔,规则(2)中的做法虽然符合C#的语法要求,但是不利于程序的阅读和理解,一般情况下,一行内只书写一条语句,要养成良好的代码书写习惯;此外,如果一条语句过长,也可以断开成为两行。,编程习惯,2-1.2 空白,2.1 C#基本语法,C#语言中的空白包括空格、换行符、制表位(Tab)。除字符串中的空格外,所有连续的空白,C#的编译器都将识别为一个空格。,int a = 7; int a = 7; int a =7;,需要注意的是有的空白可以省略,但有的空白不可以。如:inta=7;,2-

2、1.3 注释,2.1 C#基本语法,所谓注释是指对代码的解释,注释的内容通常写在代码中,在查看代码的时候编程人员可以查阅到相应的注释,但当程序运行和编译的时候,编译器会忽略注释中的内容。 单行注释符为“/”,从“/”开始直到本行末尾的所有内容都会被认为是注释内容。 分隔符注释的起始分符号为“/*”,注释的终止符号为“*/”;它们之间的内容为注释内容。 在程序代码中可以看见以“/”开头,以“/”结束的注释,这种注释是C#中的标准注释使用这种方式为编写的方法等其他的程序元素注释时,访问该元素的编程人员也能够看到对该元素的注释,从而对该元素的含义和使用方法有所了解。,变量和常量,2.2 变量和常量,

3、如果一个数据,在程序运行的过程当中,会被访问很多次,而该数据的值非常的长,比如一个float类型的数据3.1415926535897932,那么在代码编写的过程中,反复地书写该数据的值,将是非常麻烦的一件事情。一个解决反复是使用变量或者常量来指代该数据。如果这个数据在程序执行的过程当中,它的值是可以修改的,我们称之为变量;否则,它就是一个常量。,变量和常量 变量和常量的本质 关于命名的习惯PascalCase和CamelCase,2.2 变量和常量,养成一个良好的语言习惯是本门课程从始至终都要贯彻的一个思想。对于变量和常量的名称的编写也需要一个良好的习惯,通常我们遵循两个原则: 一是要遵循某种

4、常用的命名规则。在这里我们提到两种常见的命名方式:PascalCase和CamelCase。 Pascal 命名法中首字母和后面连接的每个单词的首字母都大写。例如:PascalCase Camel 命名法标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如:camcelCase 在这里,变量的命名通常采用camelCase方法,而常量的命名则使用PascalCase。 二是要使得变量和常量的名称有一定的实际意义。 比如,a就不是一个良好的变量名称,它没有意义。很多同学喜欢将变量按照类型和编号命名,这样的习惯都是不好的。我们使用表示变量和常量含义的英文单词,按照CamelCase和Pas

5、calCase是形式加以组织,得到它们的名称。例如,PI,显示是表示圆周率的一个常量,而bookName是描述图书名称的一个变量。,变量和常量本质上是计算机内存中已命名的位置,当访问它们的时候,也就是在访问计算机中相应的内存。,整数类型 小数类型 字符类型 布尔类型 枚举类型 时间结构,2.3 值类型,.NET Framework的类型系统中定义了很多的常用数据类型,在描述这些类型的数据时,我们可以直接使用这些数据类型,称为“预定义类型”。 本节将介绍值类型中的预定义类型,包括大家比较熟悉的数值类型,如整数类型(byte、short、int、unit、long、ulong等),小数类型(flo

6、at、double、decimal),字符类型,布尔类型以及枚举类型和预定义的结构类型,时间结构。其中的部分数据类型,尤其是整数类型和小数类型同学们在C语言中有过接触,在本节的学习总,应采用类比的方式,注意比较这些数据类型与C语言的区别。 如第一章已经提到过的,值类型的数据是存储在对堆栈当中的,这是该数据类型的基本特征。 下面对这些类型一一介绍。,整数类型,2.3 值类型,表中列出了C#中的整数类型、其对应的.NET Framework类名、占用的内存大小,以及允许值的范围。 整数类型中包含的数据类型占用内存从8bit到64bit,程序员可以根据要存储的数值的大小,选择不同的数据类型。如果数值

7、较大,而选择了占用内存很小的数据类型,会导致溢出,反之,则会造成内存空间的浪费。观察表2-1中的数据,可以看到一些数据类型前面有前缀“u”,“u”是“unsigned”的缩写,代表“无符号”的含义,也就是对应的数据类型中不能存放带有符号的变量。 表中的每种数据类型都给出了对应的.NET Framework中的类,如第1章所述,C#是托管语言,其语言规范满足CLS的约束,为了实现与其他语言的互操作,其数据类型采用.NET Framework中定义的标准类型。,小数类型,2.3 值类型,上面表格中float和double两种数据类型分别表示单精度和双精度浮点类型的数据,普通的小数数据,如果要求的精

8、度更高或者数值的绝对值特别大,就可以选择double类型表示;否则,选择float类型表示。当数据是用于存储或描述货币值时,double类型的精度也无法满足需求,需要采用decimal作为数据类型。 需要注意的是,从允许值的范围上看,decimal类型数据允许的最小值要大于double类型数据,但实际上由于两种数据类型在数据结构和存储方式上完全不同,decimal类型的数据以128位存储数据,而数据允许的范围要小于double很多,因此其精度要远远高于double类型的数据。,字符类型,字符类型值的表示方法有如下几种 将字符字面量使用单引号()括起来表示 如:char name1=a;(另外的

9、文本框) 将4位16进制的Unicode值用单引号()括起来表示 如:char name2=u0061;(另外的文本框) 将转义序列用单引号()括起来表示 如:char name3= ;(另外的文本框),2.3 值类型,2.3 值类型,C#中使用char表示字符类型。与传统程序设计语言(如C语言等)的char类型不同的是,不论是ASCII字符集中的字符,还是中文或者其他国家的文字字符,C#中的char类型变量在计算机中的内存空间均为16bit。每个字符对应一个Unicode码,ASCII字符集是Unicode字符集的一个子集。表中数据是对字符类型的描述。 该表示方法与C语言中非常类似,就不再赘

10、述。 这种方法中表示的字符name2的值与name1是相同的,在这里61是16进制的数据,对应的十进制数值为97,是a的ASCII码,也是Unicode码。因此,该字符就是小写字母a。 由于字符的Unicode码数量很大,而难于记忆,因此,第一种表示方法还是比较常见的。但是,某些情况下,会产生歧义,比如,如表用第一种方法表示单引号这个字符?编译器无法正确地识别三个连续的单引号,是表示一个空字符,而多写了一个单引号,还是表示单引号字符?在这种情况下我们使用转义字符序列来解决。在这个例子中给出的name3的值就是单引号字符。我们看到,转义字符序列是以反斜杠开头的两个字符的一个组合,下表中给出的是C

11、#中的常用转义字符序列。,布尔类型,2.3 值类型,与C/C+的区别,该数据类型与C/C+中的对应类型相似,但不同在于,C#中布尔类型的变量可以且只可以取2个值,true或者false,而不能用0表示false,用非零值表示true,也就是说代码 bool sex=1;是不允许的 。,当要描述的某个数据之有据两个值“真”或者“假”的时候,我们使用布尔类型来描述它。,注释效果,举例,枚举类型,2.3 值类型,在程序中,有时需要描述取值范围为一种离散、个数有限值。比如我们要描述季节数据,该数据只有4个离散的可取值春、夏、秋、冬。在现有的情况下,我们可以使用离散的整数来表示四季,如1、2、3、4,但

12、这种表示方法不直观也不容易记忆(比如,程序员写了一段代码,1个月之后再回头来阅读自己的代码,究竟1表示的春天还是夏天,仍然需要对代码进行仔细的眼对才能明确。 为了解决这个问题,C#中引入了枚举的数据类型,我们可以在C#中可以定义表示季节的枚举类型描述这种数据。下面我们就来看一下,季节的描述在C#中是如何使用枚举类型来解决的。,这段代码是对Season这个数据类型的使用。aSeason就是Season类型的,这里,它的取值是春天。在访问Season和Spring时,我们可以可看到的提示,就是XML注释的效果。,枚举类型 定义枚举类型 访问枚举类型 枚举类型名.枚举成员,访问修饰限制符 enum

13、枚举名称:基本类型 成员1=整数值1, 成员2=整数值2, 成员n=整数值n ,2.3 值类型,“”中是可以省略不写的内容。enum是表示枚举的关键字,访问限制符默认值为intenal,基本类型表示成员数据类型,可以是byte、sbyte、short、ushort、int、uint、long和ulong中的任何一种,省略时默认为int。枚举类型的成员之间以逗号分隔,成员的取值规则如下: 可以只给部分枚举成员显示地定义对应的值。 在没有显示定义的情况下,枚举成员默认值为前一个成员的值+1,第一个成员的默认值为0; 可以定义两个枚举成员为同一个值;13898426690 可以定义一个枚举成员的值为

14、另一个枚举成员,这样做等同于; 因此,前面定义的枚举类型Season,其成员Spring、Summer、Autumn和Winter对应的值依次为0、1、2和3。,时间结构DateTime 引入时间结构,2.3 值类型,如本章开头所提到的,结构这种类型是一种值类型,但是.NET Framework在4.5以后的版本中将逐步地不再支持自定义的结构类型,也许未来,.NET Framework中预定义的结构类型也会逐步退出,或使用其他的类型替换掉。但现在我们在应用程序中仍然依赖着这些结构类型,比如说时间。在.NET Framework中,使用System名称空间下的DateTime结构来描述时间的概念

15、,也可以使用该结构来获取和当前时间相关的一些数据,比如这个小时钟程序,就需要用到DateTime结构,制作这个小时钟程序,需要同时用到DateTime结构和GDI+中关于绘图一些知识,暂时我们还无法实现,但如果实现一个数字的电子表,还是可以的。在本节,我们将通过介绍一个如图所示的数字电子表,带领大家学习DateTime结构的使用。,时间结构DateTime 电子时钟程序的制作 步骤一:创建Windows应用程序,将应用程序命名为ExElectronicClock,并修改应用程序的位置。 步骤二:拖拽两个标签控件和一个计时器(Timer)组件。 步骤三:在Timer的Tick时间处理方法中,添加

16、代码,实现原定的功能。 步骤四:运行程序查看结果。,3-1 值类型,时间结构DateTime 示例 创建一个时间 时间的 属性,3-1 值类型,要使用时间首先需要创建,下面是几种创建时间变量的常用方法。 根据指定的年月日,创建时间: 该时间表示的是对应日期零点的时刻。 例如,创建表示2009年7月7日凌晨0点这一时刻的时间,可以使用如下代码: DateTime dt=new DateTime(2009,7,7); 根据指定的年月日,时分秒,创建时间变量: 例如,创建表示2009年7月7日14点30分0秒这一时刻,可以使用如下代码: DateTime dt=new DateTime(2009,7,7,14,30,0); 根据指定的年月日,时分秒和毫秒,创建时间 例如,创建表示2009年7月7日14点30分0秒20毫秒这一时刻的时间,可以使用如下代码: DateTime dt=new DateTime(2009,7,7,14,30,0,20);

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

当前位置:首页 > 高等教育 > 大学课件

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