第三章数据类型变量与常量教案.docx
《第三章数据类型变量与常量教案.docx》由会员分享,可在线阅读,更多相关《第三章数据类型变量与常量教案.docx(16页珍藏版)》请在冰豆网上搜索。
第三章数据类型变量与常量教案
周次
3
课次
5-6
教学时数
4
班级
15计算机应用(高级办公自动化)大专班
课题
第3讲数据类型、变量与常量
教学目的
与要求
1、掌握VB的基本数据类型和变量定义方法
2、了解变体数据类型的含义及赋值
教学重点
变量定义方法及赋值
教学难点
1、典型数据类型的应用
2、符号常量及常量的表示
3、变量的概念与作用域
课程类型
理论课(√)实验课()
教学方法设计
教学方法
演示法、讲授法、练习法
教学手段
Windows2000软件、VisualBasic6.0软件、PPT课件、黑板、机房
参考资料
《VisualBasic程序设计教程》,罗朝盛主编,人民邮电出版社,2005年7月第2版。
《VisualBasic程序设计》,沈祥玖、郑有增等编著,2005年3月第1版
《全国计算机等级考试二级教程——VisualBasic语言程序设计(修订版)》,教育部考试中心,高等教育出版社,2002年4月第2版
教学过程设计
主要内容、步骤及时间分配
备注
●上讲回顾与新课引入(5分钟)
●本节内容简介(5分钟)
●本讲新授课内容(70分钟)
一、基本数据类型
1、数值型(Numeric)
2、字符型(String)
3、逻辑型(Boolean)
4、日期型(Date)
5、对象型(Object)
6、变体型(Variant)
二、常量、变量
1、常量
2、变量
●课堂小结(5分钟)
●下一讲概要(3分钟)
●作业(2分钟)
注意:
数据类型的介绍
重点
本课安排
以课堂讲授为主,用一个产生溢出错误的数学运算式说明数据类型的取值范围;用一个实例说明数值型、布尔型、字符型数据转换规则;用一个未溢出的数学运算式说明类型说明符的使用方法;用一个实例说明OptionExplicit语句的作用与意义
内容简介
数据类型
常量
变量重点
教学过程
复习与提问
1、VB应用程序设计的步骤?
2、应用程序界面如何响应用户的操作?
3、属性、事件、方法的如何使用?
引入
软件的定义:
程序+数据+文档
数据是程序处理的对象,强调数据的广义性,并不仅仅指数值。
比如:
姓名、出生日期、身高、成绩、贷款否、照片等数据,它们都需要不同的数据形式存储与运算,所以在计算机内存中存放的形式、占用的存储空间都由数据类型决定的。
第3讲数据类型、变量与常量
一、基本数据类型
数据类型:
常用的数据类型—数值、字符、日期、逻辑、变体
1、数值型数据类型(Numeric)
分为整型数和实型数两类
1、整数类型(Integer、Long和Byte)
(1)整型(Integer)和长整型(Long)
整形用于保存整数,整数运算速度快,但所表示数的范围小。
其中Integer的取值范围是:
-32768~32767,占2个字节,类型符是%号;Long的取值范围是:
-2147483648~2147483647,占4个字节,类型符是&号。
(2)字节型(Byte)
Byte用于存储二进制数,取值范围0~255,占1个字节。
2、实型类型
(1)单精度型(Single)
Single用于保存浮点实数,其取值范围是±1.4E-45~±3.4E38,占4个字节,类型符是!
号。
(2)双精度型(Double)
Double也用于保存浮点实数,但所保存数值的精确度比Single高,其取值范围是:
±4.9E-324~±1.8E308,占8个字节,类型符是#号。
Double是应用程序中存贮数据的常用类型。
(3)货币型(Currency)
Currency型用于存储定点实数或整数,可保留4位整数及15位小数,在所表示的数后会自动增加@符号。
2、逻辑型数据(Boolean)
Boolean型只有两个常量:
True和False。
说明:
(1)当逻辑数据转换为整型数据时,True转换为-1,False转换为0;
(2)当把数值型数据转换为逻辑型数据时0转换为False,非0转换为True。
3、日期型数据(Date)
Date型按8个字节的浮点数进行存储,表示日期的范围从100年1月1日到9999年12月31日。
说明:
这种数据在引用时一定要用#号前后括起来,可用/-,进行分隔。
如:
#2004-02-24#。
可以有以下形式#mm/dd/yyyy#,#yyyy/mm/dd#,#dd/mm/yyyy#,默认为#mm/dd/yyyy#。
例如:
#January1,2001#
注意:
显示与系统的格式(24小时制或是12小时制)是一致的。
【例】Print#3/6/19931:
20:
00PM#
1993-3-6下午01:
20:
00系统时间为12小时制
199-3-613:
20:
00系统时间为24小时制
4、字符型数据(String)
String型存放字符型数据,
(1)String型数据必须用单引号或双引号前后括起来,占8个字节,类型符是$号。
(2)分为可变长度字符串和固定长度字符串
(3)说明:
①双引号在程序代码中起字符串的定界作用,在程序运行过程中,输出一个字符串时,双引号不会输出
②程序运行中,需要从键盘上输入一个字符串时,不需要输入双引号。
③空字符串与空格字符串的区别
④在字符串有字母大小写之区别
⑤如果字符本身包括双引号,必须用两个连续的双引号表示。
⑥数字加与不加双引号是有区别的
【例】
DimNameAasString‘NameA为可变长度字符串
DimNamebasString*20‘Nameb为固定长度字符串
NameA=“abcdef”
5、对象型数据(Object)
对象数据类型用来表示应用程序中的对象,可用Set语句来指定一个被声明为Object的变量,去引用应用程序中的任何实际对象。
【例】
SubForm_Click()
DimTempAsObject
SetTemp=Form1
EndSub
于是,Temp即为对象类型,表示Form1
6、变体类型(Variant)
Variant是一种特殊的数据类型,是所有未定义的变量的缺省数据类型,它对数据的处理完全取决于程序上下文的需要,它可以包括数值型、日期型、字符型、对象型的数据,此外,还可以包含四种特殊的数据:
①Empty:
空,表示未确定的数据。
②Null:
无效,表示这个数据不合法。
③Error:
出错,指出过程中出现了一个错误条件。
④Nothing:
无指向,表示数据还没有指向一个具体对象。
上述四种特殊数据,在我们进行数据库应用程序的开发中经常使用。
如Error常用于程序中,假设在程序中写入:
OnErrorResumeNext语句,则当程序出现错误语句时,VB不会中断程序的运行,继续执行后面的语句。
【例2-1】编写程序,验证逻辑型数据的取值。
【例2-2】Date/Time型数据示例。
【例2-3】编写程序,在窗体上创建命令按钮Command1,单击命令按钮,可将该按钮的显示文字“Command1”改为“欢迎”,且字体为黑体,字号为14号。
【例2-4】编写程序验证:
在程序运行期间可变类型变量的不同值。
二、常量与变量
1、常量
在程序运行过程中其值始终保持不变的量称为常量。
有两种形式的常量:
直接常量和符号常量,其中符号常量又分为用户自定义和系统定义符号常量
1、直接常量
在程序代码中,以直接明显的形式给出的数据称为直接常量。
类型:
字符串常量、数值常量
布尔常量、日期常量
举例:
"欢迎使用VisualBasic6.0"‘字符串常量
23456‘数值型常量
12.06‘单精度常量
True‘逻辑型常量
#1/11/2006#‘日期型常量
2、符号常量
在程序中用一符号来代表一个常量,这样的符号称作符号常量。
命名规则补充
①必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度不大于255。
②不能使用VB中的保留字。
③不区分大小写。
(1)用户自定义常量
必须先定义后使用,一般用Const语句来定义。
格式:
[Public|Private]Const符号常量名[As类型名]=常量
例:
CONSTpiAsSingle=3.14159
引用:
y=sin(35*pi/180)
符号常量不但可定义数值型常量,而且也能定义其他类型的常量。
说明:
①符号常量通常用大写字母表示,以区别于普通的变量名
②如果符号常量只在某个过程内有效,则应在该过程内部声明符号常量。
③如果符号常量对模块中的所有过程都有效,而模块个的所有代码无效,则应在模块的通用声明段中进行声明。
④如果符号常量在整个程序中都有效,则应在标准模块的通用声明段中进行声明,暗藏在Const前面放置关键字Public。
在窗体模块或类模块中不能声明Public符号常量。
⑤符号常量不能改变,不能重新赋值。
⑥可以用逗号分隔多个常量声明,如Constpi=3.14,e=2.71828,MyStr=”Hello”。
⑦可以使用先前定义过的常量定义新的符号常量,如Constpi1=pi*2
例:
ConstPi=3.14159265358979
ConstMaxAsInteger=100
ConstBirth=#1/1/06#
ConstMyString="China"
【例】在窗体的通用段声明符号常量pi,在命令按钮command1和command2的单击事件过程中引用pi。
(2)系统内部定义的符号常量
邮VB应用程序和控件提供的。
这些常量可与应用程序的对象、方法和属性一起使用,在代码中可直接使用。
系统常量位于对象库中,可通过“对象浏览器”查看。
PrivateSubCommand1_Click()
x=MsgBox("确定",vbOKCancel,"aaaa",10,100)
EndSub
在上述过程中,赋值语句中的vbOKCancel就是一个VB的系统常量。
【例】编程使用系统符号常量。
2、变量重点
举例:
宾馆与房客
变量声明的目的:
分配房间(存储单元),亦可直接分配,先住后登记。
作用域:
房客的可活动范围,全局,模块,局部
1、变量的定义
变量:
其值会随程序运行而改变的量。
变量实际上是内存中的存储单元。
我们用一个标识符来指明某个数据存放在内存中的具体位置,这种标识符称为变量名,即用变量名来标识变量。
变量代表的内存单元中的实际内容就是变量值。
2、说明:
变量有名字和数据类型,通过名字引用一个变量,而通过数据类型来确定该变量的存储方式。
3、变量分为属性变量和内存变量。
4、变量的命名规则
①以字母或汉字开头,后可跟汉字、字母、数字或下划线组成,长度小于等于255个字符;
②不要使用VB中的关键字;
③VB中不区分变量名的大小写;
④变量名不能与过程名或符号常量同名;
⑤变量名在同一个范围内必须是唯一的。
5、变量的声明
(1)用声明语句声明变量
格式:
Dim|Private|Static|Puble变量名1[AS类型/类型符][,变量名2[AS类型/类型符]]
说明:
①[AS类型]可省略,默认为可变类型
注意:
尽管变体数据变量使用很方便(不作说明时的默认类型),但程序设计人员一般很少用此数据类型,因为它需要转换并占用内存大,且影响程序的可读性。
②Dim:
在窗体模块、标准模块或过程中声明变量
③Private:
在窗体模块或过程中声明变量,使用权变量仅在该模块或过程中有效
④Static:
在过程中定义静态变量,即当该过程结束后,仍然保留变量的值
⑤Puble:
在模块的通用声明字段中声明全局变量,使变量在整个应用程序中有效。
⑥各种类型变量的初始值分别为:
数值型变量的初值为0
逻辑型变量的初值为False
可变长度字符串变量的初值为””,固定长度字符串变量的初值为其长度的空格
可变类型变量的初值为Empty
日期型变量的初值为#0:
00:
00#。
例如:
DimfacAsLong
DimaddrAsString
DimnoAsString*8
Dimscore
DimaverageAsSingle
(2)用类型说明符表示变量
将类型说明符放在变量名的尾部,可以表示不同的变量。
例如:
strName$表示字符串型变量
dblNum%表示整型变量
curWage@表示货币型变量
(3)隐式声明
未进行显示声明而通过赋值语句直接使用,或省略了[AS类型/类型符]短语的变量,其类型为变体(Variant)类型。
(4)强制声明
在VisualBASIC程序的开始处,若出现(系统环境可设置)或写入下面语句:
OptionExplicit
【例】编写程序,理解变量的强制声明和作用范围。
变量的作用范围:
声明语句的位置不同,决定了他们的作用域的不同。
同符号常量一样,可以在窗体模块的任何地方(通用对象声明部分或事件过程中)定义变量。
变量的声明分为过程级、模块级、应用程序级,它们的语句为:
●建立公用变量(全局变量),用Dim或Public语句声明。
●建立模块级变量,用Dim或Private语句声明。
●建立局部变量(过程级),用Dim或Private或Static语句声明。
不同作用域变量的声明方式
作用范围
局部变量
模块级变量
公共变量
声明方式
Dim,Static
Dim,Private
Public
变量的声明位置
过程内部
模块的声明段
模块的声明段
本模块中其他过程能否访问
不能
能
能
其他模块能否访问
不能
不能
能
具体如下:
补充
1、数值变量
●字节变量(Byte类型):
占用1个字节,尾部无变量类型隐含说明字符。
Public|Private|Dim|Static<变量名>AsByte
●整型变量(Integer类型):
占用2个字节,尾部变量类型隐含说明字符为%。
Public|Private|Dim|Static<变量名>AsInteger
注意:
不能将"DimmasInteger,nAsInteger"写作"Dimm,nAsInteger"。
●长整型变量(Long类型):
占用4个字节,字符&为类型隐含说明字符。
Public|Private|Dim|Static<变量名>AsLong
●单精度浮点数变量(Single类型):
占用4个字节,有效位7位,字符!
作为该类型隐含说明字符。
Public|Private|Dim|Static<变量名>AsSingle
●双精度浮点数变量(Double类型):
占用8个字节,有效位16位,字符#作为该类型隐含说明字符。
Public|Private|Dim|Static<变量名>AsDouble
2、字符串变量(String类型)
尾部变量类型隐含说明字符为$或Public|Private|Dim|Static<变量名>AsString
Public|Private|Dim|Static<变量名>AsString*字符串长度
注:
不能在窗体模块中声明全局定长字符串变量
3、逻辑变量(Boolean类型)
没有尾部变量类型隐含说明字符。
Public|Private|Dim|Static<变量名>AsBoolean
4、日期数据变量(Date类型)
没有尾部变量类型隐含说明字符。
Public|Private|Dim|Static<变量名>AsDate
5、对象变量(Object类型)
对象型变量占用4个字节的内存空间,保存的是某个对象的引用(即对象在内存中的地址)。
声明对象型变量的语句为:
Dim<变量名>AsObject|Control|对象类型名
使用Object关键字声明的变量可以引用任何一种类型的对象;使用Control关键字声明的变量能引用所有类型的控件对象。
而使用一个具体的对象类型名(如TextBox、Label等)声明的对象型变量只能引用该类型的对象。
6、变体数据变量(Variant类型)
是一种特殊的数据类型,可以包含数值、字符串或日期数据。
变体变量在存放数值时,占16字节的内存;存放字符串时,占用内存量是字符串长度和22个额外字节之和。
在VB中规定,对所有变量如果没有明确声明它们是其他数据类型,又没有在变量末端使用类型隐含说明字符,则它们都将视为变体数据变量,此时变量中可存放任意类型的数据。
Public|Private|Dim|Static<变量名>AsVariant
注意:
尽管变体数据变量使用很方便(不作说明时的默认类型),但程序设计人员一般很少用此数据类型,因为它需要转换并占用内存大,且影响程序的可读性。
7、用户定义类型:
用TYPE语句设置(又称结构类型)
例:
TypeuStudent
IDAsInteger
NameAsString*20
SexAsString*1
BirthDateAsDate
EndType
注:
Type语句只能在模块级中使用。
SubCreateRecord()
DimMyRecordAsuStudent对uStudent变量的赋值必须在过程内进行
MyRecord.ID=12003
EndSub
赋值语句补充
其作用是把某个值送到变量中,这个值就是变量内容。
格式如下:
[Let]<变量名>=<表达式>
其中:
[Let]为可选项,通常都省略。
<变量名>为变量或属性的名称。
<表达式>为任何类型的表达式。
=称为赋值符号,它不同于数学中的等号。
它具有时序性和方向性:
n=n+1'计数
Sum=Sum+a'累加
p=p*a'累乘
例:
交换两个变量的程序:
DimaAsInteger,bAsInteger,cAsInteger
PrivateSubForm_Click()
a=4:
b=6
Print"a=";a,"b=";b
c=a
a=b等价于c=a:
a=b:
b=c
b=c
Print"a=";a,"b=";b
EndSub
赋值语句要点:
①赋值语句要求右端表达式的类型与左端变量的类型相容。
左端变量为数值型,右端表达式不能为字符串型。
反之亦然。
如:
FontName=宋体改正:
FontName="宋体"
FontSize="10"改正:
FontSize=10
n$=李明改正:
n$="李明"
d=2000.3.5改正:
d$="2000.3.5"
②对于数值型数据,当赋值号两边的类型不一致时,则自动向左边的类型转换。
如:
x%=7.53x=8
x!
=7.53x=7.53
③赋值的数值范围要合理。
A%=8^5(32768>32767)
F!
=1.34E39
④
●变长字符串:
Dims1AsString,s1AsStrings1="VisualBasic6.0";s1="可视化编程"
●定长字符串:
Dims1AsString*20
s1="abcdefg"'不足位添空格
⑤左端变量没有定义变量类型即为变体变量,不受上述条件限制。
在VB中,如果变量未被赋值而直接引用,则数值型变量的值为0,字符型变量的值为空字符串””。
实验
任务1编程计算从2001年1月20日后的10年是何时?
1.界面设计
2.属性设置
3.代码设置
4.保存
5.运行
任务2输入一个数,求这个数与其倒数之和。
1.界面设计
2.属性设置
3.代码设置
4.保存
5.运行
任务3编写程序,键盘输入x的值,求y=6x-5的值。
1.界面设计
2.属性设置
3.代码设置
4.保存
5.运行
课堂小结
数据类型:
选择
常量:
不同常量的表示
变量:
意义,使用重点
下节概要
表达式和运算符、常用内部函数
作业
1.下列字符序列中哪些可以作为VB中合法的变量、常量名?
Alpha2babprintprintfb2a2+bb/4
2.VB中是否允许出现下列形式的常量?
11.5612E-34.5678D4E231.84E+852.32D+76
2
1E910^(3.125)/4E&H124a&O7758
3.写出以下程序运行结果:
(1)程序1
a=1:
b=2:
c=3
a=b
b=c
c=a
PRINT“a=”;a,”b=”;b,”c=”;c
(2)程序2
a=1:
b=2:
c=3
t=a:
a=b:
b=t
t=b:
b=c:
c=t
t=c:
c=a:
a=t
PRINT“a=”;a,”b=”;b,”c=”;c