数据类型..ppt
《数据类型..ppt》由会员分享,可在线阅读,更多相关《数据类型..ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 C#数据类型数据类型p 值类型值类型p 引用类型引用类型p 类型转换类型转换简单数据类型和操作符构成了整个C#程序设计的基础,简单数据类型主要包括整数、浮点数、小数和字符等。复合数据类型主要包括枚举、数组、字符串和结构体等几大类型。值类型简单类型:整数(字简单类型:整数(字符)、实数、布尔符)、实数、布尔复合类型:结构、枚复合类型:结构、枚举举在计算机中,所有的数据都是以字节的形式表在计算机中,所有的数据都是以字节的形式表示的,数据类型可以帮助编译程序生成高效率示的,数据类型可以帮助编译程序生成高效率的目标代码。为了让编译程序了解数据所属的的目标代码。为了让编译程序了解数据所属的类
2、型,通常程序设计语言都遵循类型,通常程序设计语言都遵循“先声明,后先声明,后使用使用”的原则。的原则。数据类型对程序员也具有重要的数据类型对程序员也具有重要的意义。由于程序中的每一个数据都明确的属于意义。由于程序中的每一个数据都明确的属于某一个数据类型,所以这些数据的取值范围,某一个数据类型,所以这些数据的取值范围,可以操作的运算符等信息就可以通过数据所属可以操作的运算符等信息就可以通过数据所属的数据类型显示的反映出来,提高了程序的可的数据类型显示的反映出来,提高了程序的可读性和可理解性,在程序中使用数据时,会根读性和可理解性,在程序中使用数据时,会根据数据的特点以及可能的取值范围来决定数据据
3、数据的特点以及可能的取值范围来决定数据的类型。的类型。C#语言提供了一套比较完整的数据类型及运算符,通过它语言提供了一套比较完整的数据类型及运算符,通过它们和简单语句的组合可以方便的表达整个客观世界。们和简单语句的组合可以方便的表达整个客观世界。C#中的数据类型可以分为两大类:中的数据类型可以分为两大类:简单数据类型和复简单数据类型和复合数据类型。合数据类型。简单数据类型又可分为整数、浮点数、字符简单数据类型又可分为整数、浮点数、字符和字符串等;复合数据类型又可分为枚举、数组、结构体、和字符串等;复合数据类型又可分为枚举、数组、结构体、类等。类等。根据数据类型的变量和其对应数据之间的关系,根据
4、数据类型的变量和其对应数据之间的关系,还可把还可把C#中的数据类型分为如下两大类:中的数据类型分为如下两大类:值数据类型值数据类型 每个变量对应着自己的一份数据,它对数据每个变量对应着自己的一份数据,它对数据的修改不影响其它变量。的修改不影响其它变量。引用数据类型引用数据类型 多个变量可以对应着同一份数据,这时任多个变量可以对应着同一份数据,这时任一变量对数据进行修改都会影响到其它变量一变量对数据进行修改都会影响到其它变量值类型整数类型整数类型字节型(8位):sbyte/byte短整型(16位):short/ushort整型(32位):int/uint长整型(64位):long/ulong超出
5、位数范围:溢出!超出位数范围:溢出!超出位数范围:溢出!超出位数范围:溢出!int i1=-10;uint i2=10;long l1=-1000;ulong l2=1000;short s1=-300;ushort s2=300;sbyte b1=-5;sbyte b2=0;1、整数类型、整数类型 C#定义了定义了9个整数类型:个整数类型:char、byte、sbyte、short、ushort、int、uint、long、和、和ulong。然而,。然而,char类型主要用来描述字符。剩余的类型主要用来描述字符。剩余的8个整数类型是个整数类型是用来进行数值计算的。用来进行数值计算的。C#定义
6、了不同的整数类型的有符号和无符号版定义了不同的整数类型的有符号和无符号版本。有符号和无符号整数的不同在于,编译时对其最本。有符号和无符号整数的不同在于,编译时对其最高位的解释是不同的。如果指定一个有符号整数,高位的解释是不同的。如果指定一个有符号整数,C#编译器将会产生代码,这个整数代码的最高位作编译器将会产生代码,这个整数代码的最高位作为符号标志。如果符号标志是为符号标志。如果符号标志是0,这个数就是正数,这个数就是正数,如果符号标志是如果符号标志是1,这个数就是负数。负数总是用补,这个数就是负数。负数总是用补码来表示,处理过程如下:这个数的所有位(除了符码来表示,处理过程如下:这个数的所有
7、位(除了符号标志)取反,然后加号标志)取反,然后加1,最后,符号标志设定为,最后,符号标志设定为1。虽然有符号整数对很多运算是重要的,但是有符号虽然有符号整数对很多运算是重要的,但是有符号整数只是全部无符号整数的一半。例如,整数只是全部无符号整数的一半。例如,32,767作为一个作为一个short型数值为型数值为:0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 对于一个有符号数值,如果最高位被设对于一个有符号数值,如果最高位被设置为置为1,这个数将被解释成,这个数将被解释成-1(用补码处理)。然(用补码处理)。然而,如果声明它是而,如果声明它是ushort类型,那么当最高位被类
8、型,那么当最高位被设置为设置为1的时候,这个数就变成了的时候,这个数就变成了65535。应用最普遍的整数类型是应用最普遍的整数类型是int类型。类型。int类类型的变量经常用来控制循环、索引数组,但更多型的变量经常用来控制循环、索引数组,但更多的是用在整数运算上。当你需要一个比的是用在整数运算上。当你需要一个比int作用域作用域更大的整数时,你可以有很多选择。如果你想存更大的整数时,你可以有很多选择。如果你想存储的这个数值是无符号的,你可以使用储的这个数值是无符号的,你可以使用uint;对;对于大的有符号的数值,可以使用于大的有符号的数值,可以使用long;对于大的;对于大的无符号的数值,可以
9、使用无符号的数值,可以使用ulong。例题:这里例题:这里有一个计算每一边的边长为有一个计算每一边的边长为1英里的立方体英里的立方体所包含的立方英寸数的程序。因为这个数值太大了,所包含的立方英寸数的程序。因为这个数值太大了,因此程序使用一个因此程序使用一个long变量来保持它。变量来保持它。using System;class Inches static void Main()long ci;long im;im=5280*12;ci=im*im*im;Console.WriteLine(There are+ci+cubic inches in cubic mile.);Console.Rea
10、dLine();程序输出如下:There are 254358061056000 cubic inches in cubic mile.值类型字符类型字符类型取值范围对应ushort转义符 C#使用使用Unicode标准,采用双字节对字符进行编码。标准,采用双字节对字符进行编码。Unicode定义了一个字符集,此字符集能够精确的表达定义了一个字符集,此字符集能够精确的表达所有人类语言中能够找到的字符。在所有人类语言中能够找到的字符。在C#中,中,char是是16位位无符号类型,作用域从无符号类型,作用域从0到到65535。标准的。标准的8位位ASC字字符集是符集是Unicode的一个子集作用域
11、从的一个子集作用域从0到到127。因此。因此ASC字符也是字符也是C#中合法的字符。中合法的字符。一个字符变量可以赋值为单引号中的字符。例一个字符变量可以赋值为单引号中的字符。例如:如:char ch;ch=X;可以使用可以使用WriteLine()语句来输出一个字符值。例语句来输出一个字符值。例如:如:Console.WriteLine(“This is ch:”+ch);尽管尽管C#把把char定义为一个整数类型,但是它定义为一个整数类型,但是它不能在所有情况下都把不能在所有情况下都把char和整数相混淆。这是因为不和整数相混淆。这是因为不存在从整数到存在从整数到char的自动地类型转换。
12、例如,下面的语的自动地类型转换。例如,下面的语句是无效的:句是无效的:char ch;ch=10;/错误,不能工作错误,不能工作值类型实数类型实数类型单精度(32位):float双精度(64位):double十进制(128位):decimaldouble x=1.2;float y=0.5F;decimal z=3.2M;浮点类型浮点类型 浮点类型可以用来表示带有小浮点类型可以用来表示带有小数部分的数值。这里有两种浮点类型:数部分的数值。这里有两种浮点类型:float和和double,它们分别表示单精度数和它们分别表示单精度数和双精度数。双精度数。float类型是类型是32位宽,取值作用域是位
13、宽,取值作用域是1.5E-45到到3.4E+38,double类型是类型是64位宽,取值作用域是位宽,取值作用域是5E-324到到1.7E+308。例题:这里例题:这里给定三角形的两条直角边的长度用给定三角形的两条直角边的长度用Sqrt()来来计算其斜边的长度:计算其斜边的长度:/用勾股定理计算已知两条直角边的三角形斜边的长度用勾股定理计算已知两条直角边的三角形斜边的长度using System;class Hypot static void Main()double x,y,z;x=3;y=4;z=Math.Sqrt(x*x+y*y);Console.WriteLine(“Hypotenus
14、e is”+z);输出结果如下:Hypotenuse is 5C#中的中的decimal类型的数据一般都应类型的数据一般都应用在货币计算中。用在货币计算中。decimal类型利用类型利用128位来表达从位来表达从1E-28到到7.9E+28的数的数值。值。decimal类型消除了浮点运算中类型消除了浮点运算中小数计算时产生的舍入错误。可以正小数计算时产生的舍入错误。可以正确的表达确的表达28个小数位(有时可能会达个小数位(有时可能会达到到29位)。这种无误差的正确表达小位)。这种无误差的正确表达小数值的能力使数值的能力使decimal类型的数据特类型的数据特别适合于货币的计算。别适合于货币的计
15、算。例题:这里例题:这里是一个在金融计算中使用是一个在金融计算中使用decimal类型的程序。类型的程序。这个程序计算付息后的结余。这个程序计算付息后的结余。/在金融计算中使用在金融计算中使用decimal类型类型using System;class UseDecimal public static void Main()decimal balance;decimal rate;/计算余额计算余额 balance=1000.10m;/decimal值后必须跟着一个值后必须跟着一个m或或M rate=0.1m;balance=balance*rate+balance;Console.WriteL
16、ine(New balance:$+balance);Console.ReadLine();程序输出结果如下:New balance:$1100.110值类型实数类型实数类型正无穷大:Positive Infinity负无穷大:Negative Infinity非数字(not a number):NaN值类型布尔类型布尔类型true:真值false:假值bool b1=true;bool b2=false;bool类型表达真类型表达真/假值。假值。C#使用使用保留字保留字true和和false来定义真假值。来定义真假值。因此,一个因此,一个bool类型的变量或表类型的变量或表达式是这两个值中的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型
限制150内