C#程序设计教程(第2版)-第3章-数据类型、运算符与表达式ppt课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C#程序设计教程(第2版)-第3章-数据类型、运算符与表达式ppt课件.ppt》由会员分享,可在线阅读,更多相关《C#程序设计教程(第2版)-第3章-数据类型、运算符与表达式ppt课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 数据类型、运算符与表达式数据类型、运算符与表达式内容提要:内容提要: C#的主要数据类型以及类型标识符的主要数据类型以及类型标识符 数据类型的转换数据类型的转换 常量和变量、变量的赋值常量和变量、变量的赋值 C#常用的运算符常用的运算符目的要求:目的要求: 掌握掌握C#的主要数据类型、常量和变量、变量的赋值的主要数据类型、常量和变量、变量的赋值 掌握掌握C#常用的各类运算符常用的各类运算符重点难点:重点难点: 类型转换、常量和变量、算术运算符类型转换、常量和变量、算术运算符(+、-) 、复合赋值运算、复合赋值运算符、逻辑运算符、条件运算符符、逻辑运算符、条件运算符 C#中数据类型主
2、要分为两大类:值类型和引用类中数据类型主要分为两大类:值类型和引用类型。这里我们先讲解这两种类型,然后再讨论数据类型。这里我们先讲解这两种类型,然后再讨论数据类型之间的转换。型之间的转换。3.1.1 值类型值类型 C#中值类型包括三种:简单类型、结构类型和枚中值类型包括三种:简单类型、结构类型和枚举类型。不同的类型是不同数据的集合,不同的类型举类型。不同的类型是不同数据的集合,不同的类型在在C#中用不同的类型标识符来表示。这里我们只介绍中用不同的类型标识符来表示。这里我们只介绍简单类型,结构类型和枚举类型将在后面介绍。简单类型,结构类型和枚举类型将在后面介绍。 简单类型包括整数类型、浮点类型、
3、小数类型、简单类型包括整数类型、浮点类型、小数类型、字符类型和布尔类型等。字符类型和布尔类型等。 1整数类型整数类型 整数类型的数据值只能是整数,计算机语言所提供的整数类型的数据值只能是整数,计算机语言所提供的数据类型有一定的范围。数据类型有一定的范围。 2. 浮点类型浮点类型 浮点类型的数据包含两种:浮点类型的数据包含两种:单精度浮点型(单精度浮点型(float)和)和双精度浮点型(双精度浮点型(double),),其区别在于取值范围和精度的其区别在于取值范围和精度的不同。不同。 float类型是类型是32位宽,位宽,double类型是类型是64位宽。位宽。 单精度:取值范围在单精度:取值范
4、围在+ 1.510-45 3.41038之间,精度为之间,精度为7 位数。位数。双精度:取值范围为双精度:取值范围为+5.0-324 1.710308之间,精度为之间,精度为 1516位数。位数。 3 小数类型小数类型 小数类型小数类型(decimal)占用占用16个字节个字节(128位)位),主要为了,主要为了满足需要高精度的财务和金融计算机领域。满足需要高精度的财务和金融计算机领域。 小数类型数据的取值范围和精度如下:小数类型数据的取值范围和精度如下: 取值范围在取值范围在+ 1.010-28 7.91028之间,精度为之间,精度为29位数。位数。 注意注意:小数类型数据的后面必须跟小数类
5、型数据的后面必须跟m或者或者M后缀来表示它是后缀来表示它是decimal类型的,如类型的,如3.14m、0.28m等,否则就会被解释成标准等,否则就会被解释成标准的浮点类型数据,导致数据类型不匹配。的浮点类型数据,导致数据类型不匹配。 例:例: 138f 代表代表float类型的数值类型的数值138.0 518u 代表代表uint类型的数值类型的数值518 36897123ul 代表代表ulong类型的数值类型的数值36897123 22.1m 代表代表decimal类型的数值类型的数值22.1 12.68 代表代表double类型的数值类型的数值12.68 36 代表代表int类型的数值类型
6、的数值36 刚开始学习,不可能一下子掌握这么多数值类型,先牢刚开始学习,不可能一下子掌握这么多数值类型,先牢记以下几种:记以下几种: int型型 :凡是要表示带符号的整数时,先考虑使用:凡是要表示带符号的整数时,先考虑使用int型;型; uint型型 :凡是需要不带符号的整数时,先考虑使用:凡是需要不带符号的整数时,先考虑使用uint型;型; double型:凡是需要做科学计算,并且精度要求不是很高型:凡是需要做科学计算,并且精度要求不是很高 时,考虑使用时,考虑使用double型。型。 4. 字符类型字符类型 字符类型的类型标识符是字符类型的类型标识符是char,采用采用Unicode字符集
7、。字符集。 凡是在单引号中的一个字符,就是一个字符常数,凡是在单引号中的一个字符,就是一个字符常数, 如:如: 你你、 A、 ?、 6、2 注意注意: 在表示一个字符常数时,单引号内的有效字符在表示一个字符常数时,单引号内的有效字符数量必须且只能是一个,并且不能是单引号或者反斜杠数量必须且只能是一个,并且不能是单引号或者反斜杠()。)。 为了表示单引号和反斜杠等特殊的字符常数,为了表示单引号和反斜杠等特殊的字符常数,C#提提供了转义符。供了转义符。转义符转义符字符名称字符名称单引号单引号双引号双引号反斜杠反斜杠0空字符(空字符(Null)a发出一个警告发出一个警告 b倒退一个字符倒退一个字符f
8、换页换页n新的一行新的一行r换行并移到同一行的最前面换行并移到同一行的最前面t水平方向的水平方向的Tabv垂直方向的垂直方向的Tab C#常用的转义符常用的转义符如如 Console.WriteLine(“Hello,”+”+”打印出单引号打印出单引号“+”“);例例: using System; class StrDemo static void Main( ) Console.WriteLine(“FirstLinenSecondLine”); Console.WriteLine(“AtBtC”); Console.WriteLine(“DtEtF”); 5布尔类型布尔类型 布尔类型的类型
9、标识符是布尔类型的类型标识符是bool。 布尔类型常数只有两种值:布尔类型常数只有两种值:true(代表(代表“真真”)和)和false(代表(代表“假假”)。)。 布尔类型数据主要应用在流程控制中。布尔类型数据主要应用在流程控制中。 例:例: bool b=53; /b的值为的值为true; b=false; 3.1.2 引用类型引用类型 1. object类类 object类是系统提供的基类型,是所有类型的基类,类是系统提供的基类型,是所有类型的基类,C#中中所有的类型都直接或间接派生于对象类型。所有的类型都直接或间接派生于对象类型。 对于任一个对于任一个object变量,均可以赋以任何类
10、型的值。变量,均可以赋以任何类型的值。 double d=3.14; object obj1; obj1=d; obj1=k; 对于对于object类型的变量,声明必须使用类型的变量,声明必须使用object关键字。关键字。 2. string类类 一个字符串是被双引号包含的一系列字符。一个字符串是被双引号包含的一系列字符。 string类是专门用于对字符串进行操作的。类是专门用于对字符串进行操作的。 如:如: string str1=中国,;中国,; string str2=你好!;你好!; string str3=str1+str2; /这相当于这相当于str3=中国,你好!中国,你好!
11、char c=str30; /取出取出str3的第一个字符,即的第一个字符,即“中中”字。字。 C#支持两种形式的字符串常数。支持两种形式的字符串常数。(1)常规字符串常数)常规字符串常数 如:如: “this is a test” “C#程序设计教程程序设计教程” 例:例: using System; class StrDemo static void Main( ) Console.WriteLine( First0linenSecond0line ); Console.WriteLine( 你好你好a ); Console.WriteLine(“1“1t2t3 ); Console.Wr
12、iteLine(“*t*t*”); 例:例:using System;class StringDemo public static void Main( ) string str1=“A string”; string str2=Another string.; Console.WriteLine(“0n1”,str1,str2); 运行结果如下:运行结果如下:(2)逐字字符串常数)逐字字符串常数 逐字字符串常数以逐字字符串常数以开头,后跟一对双引号,在双引开头,后跟一对双引号,在双引号中放入字符。如:号中放入字符。如: “电子高专电子高专” “This is a book.” 逐字字符串常数
13、同常规字符串常数的区别逐字字符串常数同常规字符串常数的区别: 在逐字字符串常数的双引号中,每个字符都代表其最在逐字字符串常数的双引号中,每个字符都代表其最原始的意义,在逐字字符串常数中没有转义字符。原始的意义,在逐字字符串常数中没有转义字符。 注意注意:如果要包含双引号(),就必须在一行中使用如果要包含双引号(),就必须在一行中使用两个双引号()。两个双引号()。string str1; /定义字符串类型定义字符串类型string str2= hello, world ; /规则字符串常数:规则字符串常数:hello, worldstring str3= hello, world ; /逐字字
14、符串常数:逐字字符串常数:hello, world string str4= hello t world ; /hello worldstring str5= hello t world ; /hello t worldstring str6=“He said Hello to you ; /Tom said Hello to youstring str7=“He said Hello to you ; /Tom said Hello to you例:例: using System; class Test static void Main( ) Console.WriteLine( This
15、is a verbatim string literal that spans several lines. ); Console.WriteLine( Here is some tabbed output: 1 2 3 4 5 6 7 8 ); Console.WriteLine( Programmers say, I like C#); 运行结果如下:运行结果如下:3.1.3 类型转换类型转换 数据类型在一定条件下是可以相互转换的。数据类型在一定条件下是可以相互转换的。 C#允许使用两种转换的方式:隐式转换和显式转换。允许使用两种转换的方式:隐式转换和显式转换。 1. 隐式转换隐式转换 隐
16、式转换是系统默认的、不需要加以声明就可以进行的隐式转换是系统默认的、不需要加以声明就可以进行的转换。转换。 隐式数据转换的使用方法如下:隐式数据转换的使用方法如下: int i=518; /a为整型数据为整型数据 long b=i; /b为长整型数据为长整型数据 float f=i; /f为单精度浮点型数据为单精度浮点型数据 2显式转换显式转换 显式转换又叫显式转换又叫强制类型转换强制类型转换,显式转换要明确指定转换类型。,显式转换要明确指定转换类型。 显式转换格式:显式转换格式: (类型标识符类型标识符)表达式表达式意义为:意义为:将表达式的值的类型转换为类型标识符的类型。将表达式的值的类型
17、转换为类型标识符的类型。 比如:比如: (char)65 /把把int类型的类型的65转换成转换成char类型类型注意:注意:(1)显式转换可能会导致错误。)显式转换可能会导致错误。 (2)对于将)对于将float,double, decimal转换为整数,将通过舍转换为整数,将通过舍 入得到最接近的整型值,如果这个整型值超出目标入得到最接近的整型值,如果这个整型值超出目标 域,则出现转换异常。域,则出现转换异常。 比如:比如: (int)6.28m / 转换的结果为转换的结果为6 (int) 3e25f /将产生溢出错误将产生溢出错误3.1.4 装箱和拆箱装箱和拆箱 1装箱转换装箱转换 装箱
18、转换装箱转换是指将一个值类型的数据是指将一个值类型的数据隐式地隐式地转换成一个对象类型转换成一个对象类型(object)的数据。)的数据。 例如:下面的两条语句就执行了装箱转换:例如:下面的两条语句就执行了装箱转换: int i=518; object obj=i; 例:在程序中执行装箱转换。例:在程序中执行装箱转换。 using System; class BoxingDemo static void Main( ) Console.WriteLine(执行装箱转换:执行装箱转换:); int k=200; object obj=k; k=300; Console.WriteLine(obj
19、=0,obj); Console.WriteLine(k=0, k); 2拆箱转换拆箱转换 和装箱相反,和装箱相反,拆箱转换拆箱转换是指将一个对象类型的数是指将一个对象类型的数据据显式地显式地转换成一个值类型数据。转换成一个值类型数据。 例如:例如: object obj=228; int k=(int)obj; 例:在程序中使用拆箱转换。例:在程序中使用拆箱转换。 using System class UnboxingDemo static void Main( ) int k=228; object obj=k; /装箱转换装箱转换 int j=(int ) obj; /拆箱转换拆箱转换
20、Console.WriteLine(k=0tobj=1tj=2, k, obj, j); 该程序执行后,输出结果如下该程序执行后,输出结果如下: k=228 obj=228 j=228练习练习:1( )是)是decimal类型数据类型数据 A123L B1234 C1234F D1234M2已知大写字母已知大写字母A的的ASCII码是码是65,小写字母,小写字母a的的ASCII码码 是是97,则十六进制字符常量,则十六进制字符常量u0042表示(表示( ) A字符字符a B字符字符A C字符字符b D字符字符B 3.2.1 常量常量 在在C#中,常量在程序的运行过程中其值是中,常量在程序的运行
21、过程中其值是不能改变不能改变的,例如,数字的,例如,数字100就是一个常量,这样的常量一般被称就是一个常量,这样的常量一般被称作常数。作常数。 声明常量的格式:声明常量的格式: const 类型标识符类型标识符 常量名常量名 = 表达式;表达式; 例:例: const double PI=3.14159265; double r=5.2; double s=PI*r*r; Console.Write(“面积面积=0”,s); 3.2 常量与变量常量与变量常量特点:常量特点:l l 在程序中,常量只能被赋予初始值。在程序中,常量只能被赋予初始值。l l 定义常量时,表达式中的运算符对象只允许出现
22、常量和定义常量时,表达式中的运算符对象只允许出现常量和常数,不能有变量存在。常数,不能有变量存在。 例如:例如: int b=18; const int a=26; const int k=b+10; /错误,表达式中不允许出现变量错误,表达式中不允许出现变量 const int d=a+23; /正确,因为正确,因为a是常量是常量 a=56; /错误,不能修改常量的值错误,不能修改常量的值 3.2.2 变量变量 变量是程序运行过程中用于存放数据的变量是程序运行过程中用于存放数据的存储单元存储单元。 变量的值在程序的运行过程中可以改变。变量的值在程序的运行过程中可以改变。 1变量的定义变量的定
23、义 在定义变量时,首先必须给每一个变量起名,称为变量名,在定义变量时,首先必须给每一个变量起名,称为变量名,变量名代表变量名代表存储地址存储地址。 变量的类型决定了存储在变量中的数值的类型。变量的类型决定了存储在变量中的数值的类型。 变量定义格式:变量定义格式: 类型标识符类型标识符 变量名变量名1,变量名,变量名2,例:例:double fsum;string strName;char b;int x;注意:注意:C#规定,任何变量在使用前,必须先定义,规定,任何变量在使用前,必须先定义, 后使用。后使用。2变量的赋值变量的赋值 变量的赋值,就是将数据保存到变量所代表的存储单元变量的赋值,就
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 程序设计 教程 数据类型 运算 表达式 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内