资源描述:
《C#语言程序设计教学课件李继武 彭德林第2章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章C#语言基础本章主要介绍了C#语言的基本元素、基本数据类型及基础语法规范,这是深入学习C#语言高级特性的先决条件。由于C#语言的语法规则与其他高级语言相比并没有很大差别,所以,读者(特别是熟悉C/C++/Java的读者)可以快速通过,并注意体会C#语言的独有之处。2.1基本数据类型程序处理的对象是各种各样的数据,因此,我们必须让计算机了解需要处理什么样的数据,以及采用哪种方式进行处理,按什么格式进行保存等等。比如,在编码程序中需要处理单个字符,在定购票系统需要打印货币金额,在科学运算中我们需要不同精度的小数,这些都是不同的
2、数据类型。每一种编程语言都有它所支持的数据类型,不同的编程语言提供的数据类型不尽相同。C#语言的数据类型可以分为两大部分:值类型和引用类型。数据类型分类如图2-1所示。字符类型值类型数据类型引用类型sbytebyteshortushortintuintlong类委托数组接口简单类型结构类型枚举类型整数类型布尔类型实数类型Floatdoubledecimalz2.1.1值类型在具体讲解各种数据类型之前,我们先提一下变量的概念,在下一节我们将对变量做进一步的讨论。从用户角度来看,变量就是存储信息的基本单元;从系统角度来看,变量就是计
3、算机内存中的一个存储空间。值类型的变量其内含为变量的值本身,C#语言的值类型可以分为以下几种:简单类型(Simpletypes)结构类型(Structtypes)枚举类型(Enumerationtypes)简单类型,有时人们也称为内置数据类型,是C#语言中提供的、无法再分解的一种具体类型。从计算机的表示角度来看,这些简单类型可以分为整数类型、实数类型、字符类型和布尔类型。2.1.1.1整数类型顾名思义,整数类型的变量的值为整数。数学上的整数可以从负无穷大到正无穷大,但是由于计算机的存储单元是有限的,所以计算机语言提供的整数类型的
4、值总是在一定的范围之内。根据变量在内存中所占的二进制位数不同和是否有符号位,C#语言中整数类型分八种:字节型(sbyte)、无符号字节型(byte)、短整型(short)、无符号短整型(ushort)、整型(int)、无符号整型(uint)、长整型(long)、无符号长整型(ulong)。所占的二进制位数不同,表示的数值的取值范围也不同,所占的二进制位数越多,表示的数值的取值范围越大。比如说8位整数,它可以表示2的8次幂个数值,即256个不同的数值,如果用来表示有符号8位整数(sbyte),其取值范围就是在-128到127之间,
5、而如果用来表示无符号8位整数(byte),其取值范围就是在0到255之间。具体各整数类型及其取值范围如表2-1所示。表2-1整数类型及其取值范围数据类型特征取值范围示例sbyte有符号8位整数在-128到127之间sbyteval=16;byte无符号8位整数在0到255之间byteval=16;short有符号16位整数在-32,768到32,767之间shortval=16;ushort无符号16位整数在0到65,535之间ushortval=16;int有符号32位整数在-2,147,483,648到2,147,483,6
6、47之间intval=16;uint无符号32位整数在0到4,294,967,295之间uintval1=16;uintval2=16U;long有符号64位整数在-9,223,372,036,854,775,808到9,223,372,036,854,775,807之间longval1=16;longval2=16L;ulong无符号64位整数在0到18,446,744,073,709,551,615之间ulongval1=16;ulongval2=16U;ulongval3=16L;ulongval4=16UL;2.1.1.
7、2实数类型数学中的实数不仅包括整数,而且包括小数。在C#语言中实数类型包括单精度浮点类型(float)、双精度浮点类型(double)和十进制类型(decimal)。它们的差别主要在于取值范围和精度不同。计算机对浮点数的运算速度大大低于对整数的运算,在对精度要求不是很高的情况下,我们最好采用float型,如果对精度要求很高时,我们应该采用double型,但这样将会占用更多的内存单元,处理速度也会相对较慢。Decimal型的取值范围比double型的范围要小的多,但它更精确,非常适合金融和货币方面的计算。具体各实数类型及其取值范围
8、与精度如表2-2所示。表2-2实数类型及其取值范围与精度数据类型特征取值范围示例float单精度浮点类型在正负1.5×10-45到3.4×1038之间,精度为7位数floatval=6.18F;double双精度浮点类型在正负5.0×10-324到1.7×103