第三章 数据类型、常量与变量

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
35
上机作业二
习题 1 :作业二增加一个按钮,界面如图所 示。使用变量保存窗体位置和大小信息。
36
上机作业二
习题2:窗体上有两个命令按钮,其中一个 按钮上有图标,另一个按钮有“移动”字样, 要求:每单击一下“移动”按钮,有图标按 钮就会向右移动一点。
37
上机作业二
习题3:程序运行后,显示空白窗体,单击 窗体则显示一幅背景图片,再单击图片消失, 如此循环。 (提示:要用到LoadPicture()函数)
23
3.3 变量
变量命名举例: 合法变量名: Abc、Name、intAge、x12、My_var1、PI 非法变量名: 12ab、_x、ab.cd、$MyVar、Call、x[1]、 a+b 当在代码窗口中编程时,如果使用不合规则 的变量名,系统会显示错误提示。
24
3.3 变量
2、定义变量 定义变量(声明变量)就是为变量分配内存空 间。使用变量声明语句来定义变量,语法格 式: Public|Private|Dim|Static 变量名 As 数据类型名
10
3.1 基本数据类型
3、Boolean型(逻辑型、布尔型) 逻辑型数据只有两个可能的值:逻辑真True 和逻辑假False,用2个字节存储。 4、Date型(日期时间型) 日期型数据可存放日期信息、时间信息或同 时存放日期和时间信息。 日期型数据用8个字节来存储。 日期范围从100年1月1日到9999年12月31日
15
3.2 直接常量
3、字符串型常量 字符串型常量必须使用英文的双引号将字符 文本括起来, “ ” 称为字符串的定界符。 “你好!”、“dhsj 123”、“” 字符串常量可以是任何可输入的字符。 空字符串的作用: 如何将双引号作为字符串的内容?
16
3.2 直接常量
4、逻辑型常量 逻辑型常量只有两个:true、false 注意:“true”、“false” 是字符串常量。 5、日期时间型常量 使用 # 号作为定界符。 #3/1/2009#、#April 1, 2009#、 #1:00:00PM#
Visual Basic 程序设计
主讲:冯 元
Email: feng.yyy@
第三章 数据类型、常量与变量
3.1 基本数据类型
3.2 直接常量
3.3 变量
3.4 符号常量
2
3.1 基本数据类型
本节知识点: • 数据类型。 • 数值型、String型、Boolean型、Date型。
30
3.3 变量
程序级变量:指定义的变量可以被程序中所 有模块使用,也称“全局变量”。声明程序 级变量的语句必须放在模块开始的通用声明 段中。语句: Public 变量名 As 数据类型名 程序级变量在模块启动时创建,程序退出时 清除。
31
3.3 变量
变量的作用域取决于:定义变量时使用的关 键词和定义变量语句的位置。 程序中某个过程中的语句: 可以存取本过程中定义的过程级变量、所在 模块定义的模块级变量、任意模块定义的全 局变量。 不能存取其他过程中定义的过程级变量、其 他模块中定义的模块级变量。
3
问题:如何使这台机器
运算部件
自动完成计算任务?
控制部件

连接部件
存储部件
输出部件
输入部件
4
3.1 基本数据类型
什么是数据类型? • 在计算机内部,所有的信息都以二进制数据 的形式表示,如果所有数据都用同一种方式 来表示会出现什么问题? 存储和运算。 数据A:10101010 数据B:11110000 00000111 10101010
11
3.2 直接常量
本节知识点: • 常量。 • 基本数据类型的常量。
12
3.2 直接常量
常量:是指在程序运行过程中始终保持不变 的常数、字符串等。在VB中,有两种形式的 常量:直接常量和符号常量。 直接常量:在程序代码中,以显式给出的数 据。如在程序中多次出现很大的数字或很长 的字符串,为了方便阅读和维护,应该使用 符号常量。
地址1 地址2
19
3.3 变量
内存单元的地址为二进制,不方便使用和记 忆,可使用不同的符号表示这些地址。如: aa表示地址1,bb表示地址2 这些符号就是变量! 谁来完成这些符号和内存地址间的相互转换? 由计算机自动完成。
20
3.3 变量
变量的生存期:
为变量开辟内存空间
为变量赋值
7
3.1 基本数据类型
1、数值型
类型名 Byte Integer 中文名 字节
字节型 整型 1 2 0~255 -32768~32767
表示范围
精度
精确 精确
Long
Single Double
长整型
单精度 浮点型 双精度 浮点型
4
4 8 8
-2147483648 ~ 21 3.402823 7位有效数 1038 字 -1.7976931348623210308 ~ 15位有效 1.79769313486232 10308 数字 -922337203685477.5808 ~ 922337203685477.5807 15位整数,4 位小数
14
3.2 直接常量
2、浮点型常量 浮点型常量包括:单精度和双精度( !、# )。 • 3.14159、0.23、24.、-.45、-0.05 浮点型常量的指数表示法:mEn 表示 m×10n,其中的m为整数常量或实数常量, n必须是整数常量,m和n均不能省略。 • 1.2E10、-1.23E-3 错误:1.2E1.4、E4 浮点常量中的E也可以是e、D、d。
38
3.3 变量
4、变量的同名问题 不允许同名的情况 • 在同一作用域内不能定义重名的变量。 • 同一过程中不能定义同名过程级变量。 • 同一模块中不能定义同名的模块级变量。 • 同一模块中不能定义同名的全局变量。 • 同一模块中的模块级变量和全局变量不能同 名。
39
3.3 变量
允许同名的情况 • 不同过程中可以定义同名的过程级变量。 • 不同的模块中可以定义同名的模块级变量。 • 过程中可以定义与模块级变量同名的过程级 变量。 • 过程中可定义与全局变量同名的过程级变量。 • 模块中可以定义与其他模块定义的全局变量 同名的模块级变量。 • 不同的模块中可以定义同名的全局变量。
40
3.3 变量
变量同名时的情况 • 不同作用域的变量同名时,作用域小的变量 会屏蔽作用域大的变量。 • 如果不同模块中全局变量同名,访问其他模 块中定义的全局变量时应添加模块名进行限 定(形式为“模块名.变量名”) • 当全局变量与过程级变量或模块级变量同名 时,可在全局变量名前加模块名加以区别。
8
Currency 货币型
3.1 基本数据类型
这6种数据类型都是用来表示数值的。 在实际编程时,应根据具体用途决定选用那 种类型来表示数值。 表示范围越大、精度越高的数据类型占用的 存储空间也越大,运算速度越慢。
9
3.1 基本数据类型
2、String型(字符串型) 字符串是指连续的字符序列。 String类型专门用来存放文字信息,字符串 类型所占内存空间大小与字符串长度有关。 String类型又分为:变长字符串型和定长字 符串型。 • 变长字符串:指字符长度不固定,随赋值而 变。如未经说明,缺省为变长字符串。 • 定长字符串:始终保持其长度不变。要人为 规定,如长度超过规定值将被截去。
声明变量的语句作用是:告知程序该变量的 变量名,变量的数据类型,变量的作用范围, 最后为变量赋予相应的初值。
25
3.3 变量
例子: dim inta as integer dim stra as string dim blna as boolean dim datb as date 变量名、变量的数据类型、变量的初始值。 变量的作用范围比较复杂,后面专门讨论。
读取变量的值
清除内存变量
21
3.3 变量
如何使用变量: 变量的定义: 变量的使用。 变量类型的转换。 变量的释放。
变量的命名 变量的类型 变量的作用范围 变量的初始值
22
3.3 变量
1、变量命名规则 变量命名注意:见名知意,最好不用中文。 VB对变量命名有如下要求: 以字母开始,可以包括字母、数字和下划线。 不能包括标点符号。 不能多于255个字符。 不能与关键字重复。(如:End、Private) 在同一作用域中,变量不能重名。
5
3.1 基本数据类型
内存 • 由半导体材料制成,速度快,体积小。 • 用来存储程序和程序运行的结果。 • 内存由许多存储单元构成,每个存储单 元可存储8位二进制数据。 • 每个存储单元都有一个唯一的地址。
6
3.1 基本数据类型
为了快速地对数据进行运算,有效地利用存 储空间,VB将不同的数据分为多种数据类型。 • 每种数据类型的长度一定。(占用的内存存储 单元数量一定)。 • 每种数据类型表示的值有一定的范围。 • 为了区别这些不同的数据类型,每种数据类 型都有一个特定的类型名。 在程序设计中,要随时注意所用数据的类型。
28
3.3 变量
使用Dim关键字定义的过程级变量与所在的 过程共存亡。 使用Static关键字定义过程级变量也称“静 态变量”,只要所在过程被执行一次,变量 的值将一直存在,变量所在过程被再次执行 时,变量值不被初始化。(前提:程序没有退 出)
29
3.3 变量
模块级变量:指定义的变量可以被所在模块 的所有过程使用。定义模块级变量的语句必 须放在所在模块的通用声明段中(所有过程的 前面)。语句: Dim|Private 变量名 As 数据类型名 两个关键字的作用相同。 模块级变量在模块启动时创建,模块退出时 清除。
32
3.3 变量
一条语句定义多个变量: Dim a as integer,b as string,c as boolean,d as date 强制变量定义: 与其他语言不同,VB允许不定义就使用变量, 对没有定义而直接使用的变量,VB把它作为 变体数据类型(Variant)。 使用强制变量定义功能:Option Explicit
13
3.2 直接常量
1、整型常量 整型常量包括:字节型、整型、长整型。 • 十进制:1、20、500、-101 、230594& • 八进制:&O11、&O127 错误:&O81 • 十六进制:&H11、&HFF 错误:&HFR 例子:分别求&O176340、 &O176340&的 十进制值 1111110011100000 → 1000001100100000 = -800
17
3.3 变量
本节知识点: • 变量的概念。 • 变量命名规则与变量定义。 • 变量的使用与变量的类型转换。 • 对象型变量和变体数据类型。
18
3.3 变量
程序运行过程中有许多数据需要暂存,如: 控件的属性,计算的中间结果等。 放在哪里呢? 放在计算机内存中,什么是内存?怎么放? 放在内存单元中,一个内存单元包含多少bit?
变量的值除非被赋新值,否则不会自动变化。 对于数值类型变量,如果被赋的新值超出其 可表示的范围,会出现“溢出”错误。 例子: dim a as integer,b as integer,c as integer a=10000: b=20000: c=30000 a=a+b+c 赋值语句的错误写法:a=b=10000
33
3.3 变量
3、变量的赋值与取值 给变量赋值使用赋值语句: [Let] 变量名=表达式 “=”为赋值号,不是等号。赋值语句的执行 结果是将表达式的值写入变量名代表的内存 中,原来的值被覆盖。 如果表达式值的数据类型与变量的数据类型 不一致,在赋值时会进行类型转换。
34
3.3 变量
311数值型类型名中文名字节表示范围精度byte字节型0255精确integer整型3276832767精确long长整型21474836482147483647精确single单精度浮点型3402823103810387位有效数double双精度浮点型179769313486232103081797693134862321030815位有效数字currency货币型922337203685477580715位整数4位小数31这6种数据类型都是用来表示数值的
26
3.3 变量
变量的作用范围(变量的作用域):指变量的 有效范围,即声明某个变量后,能够对该变 量赋值或读取其值的代码范围。 在VB中,变量有三种作用域:过程级、模块 级和全局级。 什么是过程、模块和全局?
27
3.3 变量
过程级变量:也称局部变量,作用域为定义 它的过程,在哪个过程中定义,就只能在该 过程中使用。 可在过程的任意位置定义过程级变量,语句: Dim|Static 变量名 As 数据类型名
相关文档
最新文档