第3部分变量数据类型和表达式_第1页
第3部分变量数据类型和表达式_第2页
第3部分变量数据类型和表达式_第3页
第3部分变量数据类型和表达式_第4页
第3部分变量数据类型和表达式_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第 3 章:章:变量、数据类型和表达式变量、数据类型和表达式visual c# 2005程序设计语言程序设计语言第第1章:章: 概述概述第第 2 章:章:c#与与visual studio 2005第第 3 章:章:变量、数据类变量、数据类型和表达式型和表达式第第 4 章:分支和循环章:分支和循环第第 5 章:面向对象章:面向对象第第 6 章:面向对象的高章:面向对象的高级应用级应用第第 7 章:程序的生成、章:程序的生成、调试和异常处理调试和异常处理第第 8 章:数组与字符串章:数组与字符串 第第 9 章:基于章:基于 windows 的应用程序的应用程序第第 10 章:创建章:创建 we

2、b 应应用程序用程序第第 11 章:章:.net framework 2.0 简介简介本章学习目标:本章学习目标:声明并使用变量声明并使用变量 了解了解c#c#的主要数据类型的主要数据类型理解值类型理解值类型 使用表达式进行数学运算使用表达式进行数学运算 掌握不同数据类型的转换方法掌握不同数据类型的转换方法 目标目标变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达式变量变量命名变量命名变量声明变量声明变量3.1变量变量 随堂练习随堂练习为变量命名时要遵循为变量命名时要遵

3、循c#语言的命名规范语言的命名规范 :变量名只能由字母、数字和下划线组成,变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其而不能包含空格、标点符号、运算符等其他符号他符号变量名不能与变量名不能与c#c#中的关键字名称相同中的关键字名称相同命名变量命名变量 3.1.1 命名变量命名变量 命名变量(续)命名变量(续)3.1.1 命名变量命名变量关于变量命名的一般建议关于变量命名的一般建议 :变量名应具有描述性质变量名应具有描述性质在包含多个单词的变量名中,从第二个单词在包含多个单词的变量名中,从第二个单词开始,每个单词都采取首字母大写的形式开始,每个单词都采取首字母大写的形

4、式 变量名最好以小写字母开头变量名最好以小写字母开头 随堂练习随堂练习3.1.2 随堂练习随堂练习以下以下4个变量名中,合法的变量名个变量名中,合法的变量名是是_。(1) &adw (2) good bye (3) _list (4) 声明变量声明变量 3.1.3 声明变量声明变量 变量使用原则:先声明,后使用变量使用原则:先声明,后使用变量声明方法:变量声明方法:数据类型数据类型 变量名;变量名;变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达式常量常量 3.2 常量

5、常量 定义:常量就是其值固定不变的量定义:常量就是其值固定不变的量声明方法:声明方法:const 数据类型数据类型 常量表达式常量表达式;变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达式c# 数据类型数据类型 3.3 c# 数据类型数据类型c#数据类型数据类型引用类型引用类型 类(类(class) 接口(接口(interface) 3.3.1引用类型引用类型在内存中不直接存储引用类型的数据,而是在内存中不直接存储引用类型的数据,而是存储该数据的地址存储该数据的地址 。

6、引用类型。引用类型包括包括 :数组(数组(array) 字符串(字符串(string )值类型值类型 3.3.2值类型值类型值类型主要由简单类型、枚举类型和结构类型这值类型主要由简单类型、枚举类型和结构类型这三类组成:三类组成: 种类描述值类型简单类型(simple types)有符号整数:sbyte, short, int, long无符号整数:byte, ushort, uint, ulongunicode 字符:charieee 浮点数:float, double十进制数:decimal布尔值:bool枚举类型(enum type)enum e .结构类型(struct type)str

7、uct s .整数类型整数类型 浮点类型浮点类型 十进制类型十进制类型 布尔类型布尔类型 字符类型字符类型 简单类型简单类型 整数类型整数类型 整数类型在计算机中的取值范围整数类型在计算机中的取值范围 描述位数数据类型取值范围有符号整数8sbyte12812716short32 76832 76732int2 147 483 6482 147 483 64764long9 223 372 036 854 775 8089 223 372 036 854 775 807无符号整数8byte025516ushort065 53532uint04 294 967 29564ulong018 446

8、744 073 709 551 615浮点类型浮点类型 浮点类型在计算机中的取值范围浮点类型在计算机中的取值范围 描述位数数据类型取值范围单精度浮点型32float1.5 1045 到3.4 1038, 7位精度双精度浮点型64double5.0 10324 1.7 10308,15位精度十进制类型十进制类型 十进制类型在计算机中的取值范围十进制类型在计算机中的取值范围 描述位数数据类型取值范围十进制类型128decimal1.0 10287.9 1028, 29位精度布尔类型布尔类型 布尔类型表示现实中的布尔类型表示现实中的“真真”或或“假假”这两个概这两个概念,主要用来进行逻辑判断。在念,

9、主要用来进行逻辑判断。在c#中,分别采用中,分别采用true和和false这两个值来表示这两个值来表示“真真”和和“假假”。描述位数数据类型取值范围布尔类型8bool true或false字符类型字符类型字符类型采用国际上公认的字符类型采用国际上公认的unicode标准字符集标准字符集描述位数数据类型取值范围字符类型16char在065 535范围内以双字节编码的任意符号枚举类型枚举类型 比如,声明一个代表季节的枚举类型的变量:比如,声明一个代表季节的枚举类型的变量:enum season spring, summer, autumn, winter;season currentseason;

10、 枚举类型为一组在逻辑上密不可分的整数提供便于枚举类型为一组在逻辑上密不可分的整数提供便于记忆的符号记忆的符号结构类型结构类型 把一系列相关的变量组织成单一实体的过程,在把一系列相关的变量组织成单一实体的过程,在c#中称为生成结构的过程。这个单一实体的类型中称为生成结构的过程。这个单一实体的类型就叫做结构类型,每一个变量称为结构的成员。就叫做结构类型,每一个变量称为结构的成员。结构类型的变量采用结构类型的变量采用struct来声明,比如可以如下定来声明,比如可以如下定义通讯录的记录结构:义通讯录的记录结构:struct phonebookpublic string name;public st

11、ring phone;public string address; phonebook p1;泛型泛型 关于泛型,会在后续课程中详细讲解关于泛型,会在后续课程中详细讲解泛型泛型 一种定义一个可以在使用时才确定类型的数一种定义一个可以在使用时才确定类型的数据类型的机制据类型的机制变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达式隐式类型转换隐式类型转换 显式类型转换显式类型转换随堂练习随堂练习 类型转换类型转换 3.4 类型转换类型转换示例代码示例代码隐式数值转换隐式数值

12、转换 隐式枚举转换隐式枚举转换隐式类型转换隐式类型转换 3.4.1隐式类型转换隐式类型转换隐式数值转换隐式数值转换 隐式数值转换包括以下几种:隐式数值转换包括以下几种:从到sbyteshort、int、long、float、double 或 decimalbyteshort、ushort、int、uint、long、ulong、float、double 或 decimalshortint、long、float、double 或 decimalushortint、uint、long、ulong、float、double 或 decimalintlong、float、double 或 decima

13、luintlong、ulong、float、double 或 decimallongfloat、double 或 decimalulongfloat、double 或 decimalcharushort、int、uint、long、ulong、float、double 或 decimalfloatdouble多媒体演示:隐式数值转换多媒体演示:隐式数值转换多媒体演示多媒体演示示例代码示例代码隐式枚举转换隐式枚举转换 隐式枚举转换隐式枚举转换: :允许把十进制整数允许把十进制整数0 0转换成任何枚举类型,而其他转换成任何枚举类型,而其他的整数则不存在这种隐式转换。的整数则不存在这种隐式转换。 多

14、媒体演示:隐式枚举转换多媒体演示:隐式枚举转换多媒体演示多媒体演示示例代码示例代码显式数值转换显式数值转换 显式枚举转换显式枚举转换 显式类型转换显式类型转换 3.4.2显式类型转换显式类型转换显式数值转换显式数值转换 显式数值转换是指当不存在相应的隐式数值转换时,显式数值转换是指当不存在相应的隐式数值转换时,从一种数值类型到另一种数值类型的转换。从一种数值类型到另一种数值类型的转换。从到sbytebyte、ushort、uint、ulong或charbytesbyte或charshortsbyte、byte、ushort、uint、ulong或charushortsbyte、byte、sho

15、rt或charintsbyte、byte、short、ushort、uint、ulong或charuintsbyte、byte、short、ushort、int或charlongsbyte、byte、short、ushort、int、uint、ulong或charulongsbyte、byte、short、ushort、int、uint、long或charcharsbyte、byte或shortfloatsbyte、byte、short、ushort、int、uint、long、ulong、char或decimaldoublesbyte、byte、short、ushort、int、uint、l

16、ong、ulong、char、float或decimaldecimalsbyte、byte、short、ushort、int、uint、long、ulong、char、float或double示例代码示例代码从从sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或或decimal转换为任何转换为任何枚举类型枚举类型从任何枚举类型转换为从任何枚举类型转换为sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或或decimal 从任何枚举类型转换为任何其他枚

17、举类型从任何枚举类型转换为任何其他枚举类型 显式枚举转换显式枚举转换 显式枚举转换包括以下内容:显式枚举转换包括以下内容:多媒体演示:显式枚举转换多媒体演示:显式枚举转换多媒体演示多媒体演示示例代码示例代码随堂练习随堂练习 3.4.3随堂练习随堂练习1. 下面声明了一些数值类型的变下面声明了一些数值类型的变量量short s=10; int i=5; uint ui=50; long l=1000; double d=45.3;decimal m = 154;2. 试着分析下列哪些类型转换是试着分析下列哪些类型转换是正确的:正确的:s = ui; i = ui; s = l; l = s; m

18、 = d; d = m; l = d; m = i;随堂练习随堂练习 (续)(续)3.4.3 随堂练习随堂练习 3. 试着写出以下这段程序的运行结果:试着写出以下这段程序的运行结果:using system;using system.collections.generic;using system.text;namespace convert enum color red,yellow,blue,green,purple,black,white ; class program static void main(string args) color color_arr=new color 3;

19、int int_arr = new int1,2,3; color_arr0 = (color)int_arr0; color_arr1 = (color)int_arr1; color_arr2 = (color)int_arr2; console.writeline(the value of color_arr0 is :0, color_arr0); console.writeline(the value of color_arr1 is :0, color_arr1); console.writeline(the value of color_arr2 is :0, color_arr

20、2); 变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达式运算符类型运算符类型运算符的优先级运算符的优先级 简单的赋值运算符与赋值表达式简单的赋值运算符与赋值表达式算术运算符与算术表达式算术运算符与算术表达式关系运算符与关系表达式关系运算符与关系表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式位操作符与位操作表达式位操作符与位操作表达式扩充后的赋值运算符与赋值表达式扩充后的赋值运算符与赋值表达式条件运算符与条件表达式条件运算符与条件表达式 运算符和表达式运算符和表达式

21、 3.5 运算符和表达式运算符和表达式运算符类型运算符类型 运算符分为三类运算符分为三类 :一元运算符:一元运算符: 只使用一个操作数只使用一个操作数 二元运算符:二元运算符: 使用两个操作数使用两个操作数 三元运算符:三元运算符: 使用三个操作数使用三个操作数 3.5.1 运算符类型运算符类型 运算符的优先级运算符的优先级 3.5.2 运算符的优先级运算符的优先级 运算符从高到低的优先级顺序:运算符从高到低的优先级顺序: 运算符类型运 算 符初级运算符x.y, f(x), ax, x+, x-, new, typeof, checked, unchecked一元运算符!, , +, -, (

22、t)x乘法、除法、取模运算符*, /, %增量运算符+ , -移位运算符关系运算符 , = , is, as等式运算符= , !=逻辑“与”运算符& 逻辑“异或”运算符逻辑“或”运算符|条件“与”运算符&条件“或”运算符|条件运算符?:赋值运算符= , *= , /= , %= , += , -= , = , &= , = , |=简单的赋值运算符与赋值表达式简单的赋值运算符与赋值表达式3.5.3 简单的赋值运算符简单的赋值运算符与赋值表达式与赋值表达式赋值就是给一个变量赋一个新值。赋值就是给一个变量赋一个新值。“=”运算运算符用于将等号右边的操作数(第二个操作符用于将等号右边的操作数(第二个

23、操作数)的值赋给左边的操作数(第一个操作数)的值赋给左边的操作数(第一个操作数)。表达式的结果是右边操作数的值,数)。表达式的结果是右边操作数的值,所以赋值操作可以串联在一起。所以赋值操作可以串联在一起。 算术运算符与算术表达式算术运算符与算术表达式 3.5.4 算术运算符与算术运算符与算术表达式算术表达式算术运算符用于创建执行数学操作的表达式算术运算符用于创建执行数学操作的表达式 。运 算 符描 述运 算 符描 述+加/ 除-减+自增1*乘-自减1% 取模关系运算符与关系表达式关系运算符与关系表达式 3.5.5 关系运算符与关系运算符与关系表达式关系表达式关系运算符用于创建一个表达式,该表达

24、式关系运算符用于创建一个表达式,该表达式用来比较两个对象并返回布尔值。用来比较两个对象并返回布尔值。 运 算 符描 述运 算 符描 述=等于大于!=等于=小于或等于=大于或等于逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式 3.5.6 逻辑运算符与逻辑运算符与逻辑表达式逻辑表达式逻辑运算符和布尔型操作数一起组成了逻辑逻辑运算符和布尔型操作数一起组成了逻辑表达式。表达式。 运算符描述! not (非)& and (短路)& and (非短路)| or (短路)|or (非短路) xor (异或)true 测试 true 值(重载时使用)false 测试 false 值(重载时使用)位操作符与位操作

25、表达式位操作符与位操作表达式 3.5.7 位操作符与位操作符与位操作表达式位操作表达式位操作符用位模式来操作整型数位操作符用位模式来操作整型数。运 算 符描 述运 算 符描 述右移位| or左移位 xor (异或)& and 取反扩充后的赋值扩充后的赋值运算符与赋值表达式运算符与赋值表达式3.5.8扩充后的赋值扩充后的赋值运算符与赋值表达式运算符与赋值表达式扩充后的赋值运算符与赋值表达式。扩充后的赋值运算符与赋值表达式。运 算 符描 述运 算 符描 述= 赋值= 右移赋值-= 减法赋值&= and 位操作赋值*= 乘法赋值|= or 位操作赋值/= 除法赋值= xor 位操作赋值%= 取模赋值

26、条件运算符与条件表达式条件运算符与条件表达式 3.5.9 条件运算符与条件运算符与条件表达式条件表达式条件运算符是唯一有条件运算符是唯一有3个操作数的运算符,所以个操作数的运算符,所以有时又称为三元运算符。有时又称为三元运算符。对条件表达式对条件表达式b?x:y,先计算条件,先计算条件b,然后进行判,然后进行判断。如果断。如果b的值为的值为true,计算,计算x的值,运算结果为的值,运算结果为x的值;否则,计算的值;否则,计算y的值,运算结果为的值,运算结果为y的值。的值。变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第

27、第3章章 变量、数据类型变量、数据类型和表达式和表达式3.6 小结小结本章我们学习了程序设计的基础元素:变量和数本章我们学习了程序设计的基础元素:变量和数据类型,介绍了运算符和表达式以及数据类型转据类型,介绍了运算符和表达式以及数据类型转换,还介绍运算符的使用方法和基本的数据类型换,还介绍运算符的使用方法和基本的数据类型转换概念,这些都是重要的基本知识需要熟练掌转换概念,这些都是重要的基本知识需要熟练掌握。握。 小结小结 变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达

28、式实验实验3.7 实验实验参照实验手册,并在教师指导参照实验手册,并在教师指导下完成实验报告。下完成实验报告。 变量变量 常量常量 c# 数据类型数据类型 类型转换类型转换 运算符和表达式运算符和表达式小结小结 实验实验 习题习题 第第3章章 变量、数据类型变量、数据类型和表达式和表达式习题习题 3.8 习题习题1.判断正误,如果错误,请说明原因判断正误,如果错误,请说明原因(1)在使用变量之前必须先声明其数)在使用变量之前必须先声明其数据类型。据类型。(2)c# 认为认为number和和number 是同一个是同一个变量。变量。(3)算术运算符)算术运算符* *、/、%、+ +和和- -处于

29、同处于同一优先级一优先级习题(续)习题(续) 3.8 习题习题2.填空题填空题(1)如果)如果int x的初始值为的初始值为5,则执行表达式,则执行表达式x-=3之后,之后,x的值为的值为_。(2)_运算符将左右操作数相加的结运算符将左右操作数相加的结果赋值给左操作数。果赋值给左操作数。(3)存储整型数的变量应当用关键字)存储整型数的变量应当用关键字_来声明。来声明。(4)常量通过关键字)常量通过关键字_进行声明。进行声明。(5)布尔型变量可以赋值为关键字)布尔型变量可以赋值为关键字_或或_。习题(续)习题(续) 3.8 习题习题3.选择题选择题(1)算术表达式)算术表达式_进行计算。进行计算

30、。a.自右至左自右至左 b.自左至右自左至右c.按照运算符优先级规则按照运算符优先级规则d.按照优先级从低往高的顺序按照优先级从低往高的顺序(2)当)当_时,条件时,条件“expression1 xor expression2”的值为真的值为真a.expression1为真而为真而expression2为假为假b.expression1为假而为假而expression2为真为真c.expression1和和expression2均为真均为真d.a和和b都对都对习题(续)习题(续) 3.8 习题习题(3)在)在c#中无需编写任何代码就能将中无需编写任何代码就能将int型型数值转换为数值转换为double,称为,称为 _。a.显式转换显式转换 b.隐式转换隐式转换 c.数据类型变换数据类型变换 d.变换变换(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论