数据类型、常量与变量.ppt

上传人:小飞机 文档编号:5985986 上传时间:2023-09-11 格式:PPT 页数:53 大小:203.50KB
返回 下载 相关 举报
数据类型、常量与变量.ppt_第1页
第1页 / 共53页
数据类型、常量与变量.ppt_第2页
第2页 / 共53页
数据类型、常量与变量.ppt_第3页
第3页 / 共53页
数据类型、常量与变量.ppt_第4页
第4页 / 共53页
数据类型、常量与变量.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《数据类型、常量与变量.ppt》由会员分享,可在线阅读,更多相关《数据类型、常量与变量.ppt(53页珍藏版)》请在三一办公上搜索。

1、主讲:冯 元,Visual Basic 程序设计,2,第三章 数据类型、常量与变量,3.1 基本数据类型3.2 直接常量3.3 变量3.4 符号常量,3,3.1 基本数据类型,本节知识点:数据类型。数值型、String型、Boolean型、Date型。,4,控制部件,存储部件,输入部件,输出部件,问题:如何使这台机器 自动完成计算任务?,5,3.1 基本数据类型,什么是数据类型?在计算机内部,所有的信息都以二进制数据的形式表示,如果所有数据都用同一种方式来表示会出现什么问题?存储和运算。数据A:10101010数据B:11110000 00000111 10101010,6,3.1 基本数据类

2、型,内存由半导体材料制成,速度快,体积小。用来存储程序和程序运行的结果。内存由许多存储单元构成,每个存储单元可存储位二进制数据。每个存储单元都有一个唯一的地址。,7,3.1 基本数据类型,为了快速地对数据进行运算,有效地利用存储空间,VB将不同的数据分为多种数据类型。每种数据类型的长度一定。(占用的内存存储单元数量一定)。每种数据类型表示的值有一定的范围。为了区别这些不同的数据类型,每种数据类型都有一个特定的类型名。在程序设计中,要随时注意所用数据的类型。,8,3.1 基本数据类型,1、数值型,9,3.1 基本数据类型,这6种数据类型都是用来表示数值的。在实际编程时,应根据具体用途决定选用那种

3、类型来表示数值。表示范围越大、精度越高的数据类型占用的存储空间也越大,运算速度越慢。,10,3.1 基本数据类型,2、String型(字符串型)字符串是指连续的字符序列。String类型专门用来存放文字信息,字符串类型所占内存空间大小与字符串长度有关。String类型又分为:变长字符串型和定长字符串型。变长字符串:指字符长度不固定,随赋值而变。如未经说明,缺省为变长字符串。定长字符串:始终保持其长度不变。要人为规定,如长度超过规定值将被截去。,11,3.1 基本数据类型,3、Boolean型(逻辑型、布尔型)逻辑型数据只有两个可能的值:逻辑真True和逻辑假False,用2个字节存储。4、Da

4、te型(日期时间型)日期型数据可存放日期信息、时间信息或同时存放日期和时间信息。日期型数据用8个字节来存储。日期范围从100年1月1日到9999年12月31日,12,3.2 直接常量,本节知识点:常量。基本数据类型的常量。,13,3.2 直接常量,常量:是指在程序运行过程中始终保持不变的常数、字符串等。在VB中,有两种形式的常量:直接常量和符号常量。直接常量:在程序代码中,以显式给出的数据。如在程序中多次出现很大的数字或很长的字符串,为了方便阅读和维护,应该使用符号常量。,14,3.2 直接常量,1、整型常量整型常量包括:字节型、整型、长整型。十进制:1、20、500、-101、230594&

5、八进制:&O11、&O127 错误:&O81十六进制:&H11、&HFF 错误:&HFR例子:分别求&O176340、&O176340&的十进制值,1111110011100000,15,3.2 直接常量,2、浮点型常量浮点型常量包括:单精度和双精度(!、#)。3.14159、0.23、24.、-.45、-0.05浮点型常量的指数表示法:mEn 表示 m10n,其中的m为整数常量或实数常量,n必须是整数常量,m和n均不能省略。1.2E10、-1.23E-3错误:、E4浮点常量中的E也可以是e、D、d。,16,3.2 直接常量,3、字符串型常量字符串型常量必须使用英文的双引号将字符文本括起来,“

6、”称为字符串的定界符。“你好!”、“dhsj 123”、“”字符串常量可以是任何可输入的字符。空字符串的作用:如何将双引号作为字符串的内容?,17,3.2 直接常量,4、逻辑型常量逻辑型常量只有两个:true、false注意:“true”、“false”是字符串常量。5、日期时间型常量使用#号作为定界符。#3/1/2009#、#April 1,2009#、#1:00:00PM#,18,3.3 变量,本节知识点:变量的概念。变量命名规则与变量定义。变量的使用与变量的类型转换。对象型变量和变体数据类型。,19,3.3 变量,程序运行过程中有许多数据需要暂存,如:控件的属性,计算的中间结果等。放在哪

7、里呢?放在计算机内存中,什么是内存?怎么放?放在内存单元中,一个内存单元包含多少bit?,地址1 地址2,20,3.3 变量,内存单元的地址为二进制,不方便使用和记忆,可使用不同的符号表示这些地址。如:aa表示地址1,bb表示地址2这些符号就是变量!谁来完成这些符号和内存地址间的相互转换?由计算机自动完成。,21,3.3 变量,变量的生存期:,为变量开辟内存空间,为变量赋值,读取变量的值,清除内存变量,22,3.3 变量,如何使用变量:变量的定义:变量的使用。变量类型的转换。变量的释放。,变量的命名变量的类型变量的作用范围变量的初始值,23,3.3 变量,1、变量命名规则变量命名注意:见名知意

8、,最好不用中文。VB对变量命名有如下要求:以字母开始,可以包括字母、数字和下划线。不能包括标点符号。不能多于255个字符。不能与关键字重复。(如:End、Private)在同一作用域中,变量不能重名。,24,3.3 变量,变量命名举例:合法变量名:Abc、Name、intAge、x12、My_var1、PI非法变量名:12ab、_x、ab.cd、$MyVar、Call、x1、a+b当在代码窗口中编程时,如果使用不合规则的变量名,系统会显示错误提示。,25,3.3 变量,2、定义变量定义变量(声明变量)就是为变量分配内存空间。使用变量声明语句来定义变量,语法格式:声明变量的语句作用是:告知程序该

9、变量的变量名,变量的数据类型,变量的作用范围,最后为变量赋予相应的初值。,Public|Private|Dim|Static 变量名 As 数据类型名,26,3.3 变量,例子:dim inta as integerdim stra as stringdim blna as booleandim datb as date变量名、变量的数据类型、变量的初始值。变量的作用范围比较复杂,后面专门讨论。,27,3.3 变量,变量的作用范围(变量的作用域):指变量的有效范围,即声明某个变量后,能够对该变量赋值或读取其值的代码范围。在VB中,变量有三种作用域:过程级、模块级和全局级。什么是过程、模块和全局

10、?,28,3.3 变量,过程级变量:也称局部变量,作用域为定义它的过程,在哪个过程中定义,就只能在该过程中使用。可在过程的任意位置定义过程级变量,语句:Dim|Static 变量名 As 数据类型名,29,3.3 变量,使用Dim关键字定义的过程级变量与所在的过程共存亡。使用Static关键字定义过程级变量也称“静态变量”,只要所在过程被执行一次,变量的值将一直存在,变量所在过程被再次执行时,变量值不被初始化。(前提:程序没有退出),30,3.3 变量,模块级变量:指定义的变量可以被所在模块的所有过程使用。定义模块级变量的语句必须放在所在模块的通用声明段中(所有过程的前面)。语句:Dim|Pr

11、ivate 变量名 As 数据类型名两个关键字的作用相同。模块级变量在模块启动时创建,模块退出时清除。,31,3.3 变量,程序级变量:指定义的变量可以被程序中所有模块使用,也称“全局变量”。声明程序级变量的语句必须放在模块开始的通用声明段中。语句:Public 变量名 As 数据类型名程序级变量在模块启动时创建,程序退出时清除。,32,3.3 变量,变量的作用域取决于:定义变量时使用的关键词和定义变量语句的位置。程序中某个过程中的语句:可以存取本过程中定义的过程级变量、所在模块定义的模块级变量、任意模块定义的全局变量。不能存取其他过程中定义的过程级变量、其他模块中定义的模块级变量。,33,3

12、.3 变量,一条语句定义多个变量:强制变量定义:与其他语言不同,VB允许不定义就使用变量,对没有定义而直接使用的变量,VB把它作为变体数据类型(Variant)。使用强制变量定义功能:Option Explicit,Dim a as integer,b as string,c as boolean,d as date,34,3.3 变量,3、变量的赋值与取值给变量赋值使用赋值语句:Let 变量名=表达式“=”为赋值号,不是等号。赋值语句的执行结果是将表达式的值写入变量名代表的内存中,原来的值被覆盖。如果表达式值的数据类型与变量的数据类型不一致,在赋值时会进行类型转换。,35,3.3 变量,变量

13、的值除非被赋新值,否则不会自动变化。对于数值类型变量,如果被赋的新值超出其可表示的范围,会出现“溢出”错误。例子:a=10000:b=20000:c=30000a=a+b+c赋值语句的错误写法:a=b=10000,dim a as integer,b as integer,c as integer,36,上机作业二,习题1:作业二增加一个按钮,界面如图所示。使用变量保存窗体位置和大小信息。,37,上机作业二,习题2:窗体上有两个命令按钮,其中一个按钮上有图标,另一个按钮有“移动”字样,要求:每单击一下“移动”按钮,有图标按钮就会向右移动一点。,38,上机作业二,习题3:程序运行后,显示空白窗体

14、,单击窗体则显示一幅背景图片,再单击图片消失,如此循环。(提示:要用到LoadPicture()函数),39,3.3 变量,4、变量的同名问题不允许同名的情况在同一作用域内不能定义重名的变量。同一过程中不能定义同名过程级变量。同一模块中不能定义同名的模块级变量。同一模块中不能定义同名的全局变量。同一模块中的模块级变量和全局变量不能同名。,40,3.3 变量,允许同名的情况不同过程中可以定义同名的过程级变量。不同的模块中可以定义同名的模块级变量。过程中可以定义与模块级变量同名的过程级变量。过程中可定义与全局变量同名的过程级变量。模块中可以定义与其他模块定义的全局变量同名的模块级变量。不同的模块中

15、可以定义同名的全局变量。,41,3.3 变量,变量同名时的情况不同作用域的变量同名时,作用域小的变量会屏蔽作用域大的变量。如果不同模块中全局变量同名,访问其他模块中定义的全局变量时应添加模块名进行限定(形式为“模块名.变量名”)当全局变量与过程级变量或模块级变量同名时,可在全局变量名前加模块名加以区别。,42,3.3 变量,5、变量的类型转换类型转换:把数据从一种类型转换为另一种类型。可能出现类型转换的场合:为变量或对象属性赋值时,赋值号两边的类型不一致。计算表达式时,表达式中运算数类型与运算符要求不符。在调用对象的方法或通用过程时,提供的参数与要求的类型不符。,43,3.3 变量,隐式转换:

16、当出现需要进行类型转换的情况,VB会根据规则自动进行转换。对无法完成的转换会报告错误。数值型间的转换:整数到浮点:大小一般不变。浮点到整数:小数部分四舍五入,如果小数部分正好是0.5,则向最近的偶数靠拢。如:intN1=4.5:intN2=3.5 注意变量表示范围,防止出现“溢出”错误。,44,3.3 变量,字符串与数值型之间的转换:如果字符串表示的内容全部是数值信息,则可以将其赋值给数值型变量。如:strA=“1234”:intA=strA对无法转换的会出现“类型不匹配”错误。注意空格,45,3.3 变量,逻辑型的转换:逻辑型数值型:False转换为0;True转换为-1数值型逻辑型:0转换

17、为False;其他为True字符串型逻辑型:只有“False”和“True”可转日期时间型的转换:日期时间型转换为数值型:日期部分转换为数值的整数部分,时间部分转换为小数部分。所有的类型值均可以转换为字符串值。,46,3.3 变量,显式转换:使用VB提供的内部函数进行类型转换,实际编程时最好使用显示转换,这样不易出错。常用转换函数见教材67页表3.2例子:i3=CInt(123.5)fl=CDbl(“x1.2”),47,3.3 变量,不能进行转换的情况:包含非数值字符的字符串向数值型转换。非“False”或“True”的字符串向逻辑型转换。非日期内容的字符串向日期型转换。转换超出目标类型的表示

18、范围。,48,3.3 变量,6、变体数据类型(Variant)变体类型变量可以存贮几乎所有系统定义类型的数据(除用户自定义类型)。把其它类型的数据赋给变体变量,变体变量的类型会随之变化,适应新值。,Public|Private|Dim|Static 变量名 As Variant,49,3.3 变量,变体类型变量的默认值为:Empty,把Empty值赋给一个数值型变量时被理解为0,赋给一个字符串时被理解为空字符“”。,50,3.3 变量,7、对象型数据类型(Object)对象型变量占用4个字节共32位的内存空间,保存的是某一个对象的引用(即内存中的地址),程序对对象型变量的操作等于对它所引用对象

19、的操作。对象型变量的默认值为:Nothing,Public|Private|Dim|Static 变量名 As Object|Control|对象类型名,51,3.4 符号常量,本节知识点:符号常量。符号常量与变量的区别。,52,3.4 符号常量,如果在程序中多次出现很大的数字或很长的字符串,为了方便阅读和维护,应该使用符号常量。符号常量是用符号表示的常量。使用前必须先定义符号与常量值之间的对应关系。过程级符号常量:在过程中定义Const 常量名 As 数据类型名=表达式模块级符号常量:在模块的声明段中,Private Const 常量名 As 数据类型名=表达式,53,3.4 符号常量,全局符号常量:在标准模块的声明段中Public Const 常量名 As 数据类型名=表达式符号常量的命名规则与变量相同。在程序运行过程中,不能再为符号常量赋值。例子:Public Const PI As Double=3.1415926 s=PI*r*r,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号