《变量数据类型和表达式.ppt》由会员分享,可在线阅读,更多相关《变量数据类型和表达式.ppt(62页珍藏版)》请在三一办公上搜索。
1、第 3 章:变量、数据类型和表达式,Visual C#2005程序设计语言,第1章:概述第 2 章:C#与Visual Studio 2005第 3 章:变量、数据类型和表达式第 4 章:分支和循环第 5 章:面向对象第 6 章:面向对象的高级应用,第 7 章:程序的生成、调试和异常处理第 8 章:数组与字符串 第 9 章:基于 Windows 的应用程序第 10 章:创建 Web 应用程序第 11 章:.NET Framework 2.0 简介,本章学习目标:声明并使用变量 了解C#的主要数据类型理解值类型 使用表达式进行数学运算 掌握不同数据类型的转换方法,目标,变量 常量 C#数据类型
2、类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,变量,命名变量,声明变量,3.1变量,随堂练习,为变量命名时要遵循C#语言的命名规范:变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其他符号变量名不能与C#中的关键字名称相同,命名变量,3.1.1 命名变量,命名变量(续),3.1.1 命名变量,关于变量命名的一般建议:,变量名应具有描述性质,在包含多个单词的变量名中,从第二个单词开始,每个单词都采取首字母大写的形式,变量名最好以小写字母开头,随堂练习,随堂练习,以下4个变量名中,合法的变量名是_。(1)&adw(2)Good bye(3)_lis
3、t,声明变量,3.1.3 声明变量,变量使用原则:先声明,后使用,变量声明方法:数据类型 变量名;,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,常量,3.2 常量,定义:常量就是其值固定不变的量,声明方法:const 数据类型 常量表达式;,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,C#数据类型,3.3 C#数据类型,C#数据类型,引用类型,类(class),接口(interface),3.3.1引用类型,在内存中不直接存储引用类型的数据,而是存储该数据的地址。引用类型包括:,数组
4、(array),字符串(string),值类型,3.3.2值类型,值类型主要由简单类型、枚举类型和结构类型这三类组成:,整数类型 浮点类型 十进制类型 布尔类型 字符类型,简单类型,整数类型,整数类型在计算机中的取值范围,浮点类型,浮点类型在计算机中的取值范围,十进制类型,十进制类型在计算机中的取值范围,布尔类型,布尔类型表示现实中的“真”或“假”这两个概念,主要用来进行逻辑判断。在C#中,分别采用true和false这两个值来表示“真”和“假”。,字符类型,字符类型采用国际上公认的Unicode标准字符集,枚举类型,比如,声明一个代表季节的枚举类型的变量:enum Season Spring
5、,Summer,Autumn,Winter;Season currentSeason;,枚举类型为一组在逻辑上密不可分的整数提供便于记忆的符号,结构类型,把一系列相关的变量组织成单一实体的过程,在C#中称为生成结构的过程。这个单一实体的类型就叫做结构类型,每一个变量称为结构的成员。,结构类型的变量采用struct来声明,比如可以如下定义通讯录的记录结构:struct PhoneBookpublic string name;public string phone;public string address;PhoneBook p1;,泛型,关于泛型,会在后续课程中详细讲解,泛型 一种定义一个可以
6、在使用时才确定类型的数据类型的机制,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,隐式类型转换 显式类型转换随堂练习,类型转换,3.4 类型转换,示例代码,隐式数值转换 隐式枚举转换,隐式类型转换,3.4.1隐式类型转换,隐式数值转换,隐式数值转换包括以下几种:,多媒体演示:隐式数值转换,多媒体演示,示例代码,隐式枚举转换,隐式枚举转换:允许把十进制整数0转换成任何枚举类型,而其他的整数则不存在这种隐式转换。,多媒体演示:隐式枚举转换,多媒体演示,示例代码,显式数值转换 显式枚举转换,显式类型转换,3.4.2显式类型转换,显式数值转换,显式
7、数值转换是指当不存在相应的隐式数值转换时,从一种数值类型到另一种数值类型的转换。,示例代码,从sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或decimal转换为任何枚举类型从任何枚举类型转换为sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double或decimal 从任何枚举类型转换为任何其他枚举类型,显式枚举转换,显式枚举转换包括以下内容:,多媒体演示:显式枚举转换,多媒体演示,示例代码,随堂练习,3.4.3随堂练习,1.下面声明了一些数值类型的变量
8、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=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
9、 Program static void Main(string args)Color color_arr=new Color 3;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.Wr
10、iteLine(The value of color_arr2 is:0,color_arr2);,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,运算符类型运算符的优先级 简单的赋值运算符与赋值表达式算术运算符与算术表达式关系运算符与关系表达式逻辑运算符与逻辑表达式位操作符与位操作表达式扩充后的赋值运算符与赋值表达式条件运算符与条件表达式,运算符和表达式,3.5 运算符和表达式,运算符类型,运算符分为三类:,一元运算符:只使用一个操作数,二元运算符:使用两个操作数,三元运算符:使用三个操作数,3.5.1 运算符类型,运算符的优先级,3.5.
11、2 运算符的优先级,运算符从高到低的优先级顺序:,简单的赋值运算符与赋值表达式,3.5.3 简单的赋值运算符与赋值表达式,赋值就是给一个变量赋一个新值。“=”运算符用于将等号右边的操作数(第二个操作数)的值赋给左边的操作数(第一个操作数)。表达式的结果是右边操作数的值,所以赋值操作可以串联在一起。,算术运算符与算术表达式,3.5.4 算术运算符与算术表达式,算术运算符用于创建执行数学操作的表达式。,关系运算符与关系表达式,3.5.5 关系运算符与关系表达式,关系运算符用于创建一个表达式,该表达式用来比较两个对象并返回布尔值。,逻辑运算符与逻辑表达式,3.5.6 逻辑运算符与逻辑表达式,逻辑运算
12、符和布尔型操作数一起组成了逻辑表达式。,位操作符与位操作表达式,3.5.7 位操作符与位操作表达式,位操作符用位模式来操作整型数。,扩充后的赋值运算符与赋值表达式,3.5.8扩充后的赋值运算符与赋值表达式,扩充后的赋值运算符与赋值表达式。,条件运算符与条件表达式,3.5.9 条件运算符与条件表达式,条件运算符是唯一有3个操作数的运算符,所以有时又称为三元运算符。对条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表
13、达式,3.6 小结,本章我们学习了程序设计的基础元素:变量和数据类型,介绍了运算符和表达式以及数据类型转换,还介绍运算符的使用方法和基本的数据类型转换概念,这些都是重要的基本知识需要熟练掌握。,小结,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,实验,3.7 实验,参照实验手册,并在教师指导下完成实验报告。,变量 常量 C#数据类型 类型转换 运算符和表达式小结 实验 习题,第3章 变量、数据类型和表达式,习题,3.8 习题,1.判断正误,如果错误,请说明原因(1)在使用变量之前必须先声明其数据类型。(2)C#认为number和NuMbEr
14、 是同一个变量。(3)算术运算符*、/、%、+和-处于同一优先级,习题(续),3.8 习题,2.填空题(1)如果int X的初始值为5,则执行表达式X-=3之后,X的值为_。(2)_运算符将左右操作数相加的结果赋值给左操作数。(3)存储整型数的变量应当用关键字_来声明。(4)常量通过关键字_进行声明。(5)布尔型变量可以赋值为关键字_或_。,习题(续),3.8 习题,3.选择题(1)算术表达式_进行计算。A.自右至左 B.自左至右C.按照运算符优先级规则D.按照优先级从低往高的顺序(2)当_时,条件“expression1 XOR expression2”的值为真A.expression1为真
15、而expression2为假B.expression1为假而expression2为真C.expression1和expression2均为真D.a和b都对,习题(续),3.8 习题,(3)在C#中无需编写任何代码就能将int型数值转换为double,称为 _。A.显式转换 B.隐式转换 C.数据类型变换 D.变换(4)“&”运算符_。A.执行短路计算 B.不是关键字C.是一个比较运算符 D.的值为真,如果两个操作数都为真(5)在C#中,_表示为。A.空字符 B.空串 C.空值 D.以上都不是,习题(续),3.8 习题,(6)“*=”运算符_。A.计算右操作数的平方值,然后将结果存储在左操作数
16、中B.把左操作数的值与右操作数的值相加,然后将结果存储在左操作数中C.创建一个新的变量,然后将右运算数的值赋值给该变量D.把左操作数的值与右操作数的值相乘,然后将结果存储在左操作数中(7)如果左操作数大于右操作数,_运算符返回false.A.=B.C.=D.以上都是,习题(续),3.8 习题,4.简答题(1)计算下列表达式的值(不要用计算器),并在Visual Studio 2005中进行验证A.3+4*5B.(3+4)*5 C.7%3,习题(续),3.8 习题,4.简答题(2)写一个表达式,使变量var的值增加5%(尽可能多写几种)。,习题(续),3.8 习题,4.简答题(3)假定一个小球在2 m高的地方以15 m/s的初速度垂直上抛,问:3s后小球的高度?(提示:t秒后小球高度近似值计算公式:V0*t+h0-5t 其中V0指初速度,h0是球的初始高度),习题(续),3.8 习题,4.简答题(4)下面代码运行后,myInteger的值是多少?int myInteger;double myDouble=5555.55;myInteger=(int)myDouble;,