3.3.2 符号常量
原则:必须先定义后使用,只能赋一次值。
目的:为修改或输入的方便,提供符号常量,但在程序中不允许对定义的符号常量重新赋值。
定义符号常量的一般形式为:
[Private | Public] Const 符号常量名 [As 类型]=表达式
从定义的位置开始生效,其中使用的关键字不同,符号常量的作用范围也有所区别。
3.4 变量
程序运行时可以改变其值的量,占用内存的存储单元临时存储数据,在程序中通过变量名来引用变量。
变量的名称遵循标记符的命名规则,一般遵循“先定义,后使用”的原则。
3.4.1 变量的声明
变量要有相应的数据类型,声明时按类型为其分配相应的存储单元。 1. 显式声明变量
格式为:
声明符 变量名1 [As 类型][,变量名2 [As 类型]] [,变量名3 [As 类型]]…… 说明:
(1) 一个声明语句可同时声明多个变量。
(2) 声明符可为Dim、Private、Static、Public等,决定变量的作用域。 (3) 类型可为VB的基本数据类型,也可为自定义或枚举类型。
(4) 可使用表3-1中的类型符声明变量的类型,如Dim x%,y!,z$,a&,b#,c@,d,分别定义变量x、y、z、a、b、c、d的类型为Integer、Single、String、Long、Double、Currency、Variant类型。
(5) Dim x,y,z As Integer这样的语句,只有z定义为Integer类型,x,y均为Variant类型。 (6) 声明变量时,应注意选择合适的数据类型。 (7) 统提供的默认初始值:
1)数值型:0 2)货币型:0 3)字符型:空字符串 4)逻辑型:False 5)日期型:0:00:00 6)可变型:Empty 7)对象型:Nothing
2. 隐式声明变量
没有声明,直接如通过赋值语句使用的变量为隐式声明的变量。 (1) 被默认为可变类型Variant。 (2) 只能被当作是过程级变量,如不能在窗体模块的声明部分赋值 注:采用隐式变量声明,不利于查错和纠错。
3. 设置强制声明变量
(1) 手动设置:在代码中通过Option Explicit强制声明,在“通用”-> “声明”中 对已打开的当前工程有效。
(2) 自动设置:“工具”菜单 -> 选项 -> “编辑器”标签 -> “要求变量声明”设置 只对新建的工程有效。
3.4.2 变量的作用域
变量的作用域,即变量能够使用的有效范围,采用的“声明符”不同,变量声明的位置不同,可决定变量的作用域有所不同。分为工程级、模块级、过程级三类,如下表
工程级变量 模块级变量 过程级变量
1. 工程级变量
全局变量,在整个工程中有效。 引用格式:窗体模块名.变量名
(1) 建立时间:程序一开始执行时即被建立 (2) 释放时间:整个程序结束时才释放空间 2. 模块级变量
局部变量,在当前模块(如窗体模块)中有效,其他模块不能引用。 (1) 建立时间:程序一开始执行时即被建立
(2) 释放时间:整个程序结束时才释放空间 3. 过程级变量
屏蔽变量,在当前过程中有效,不能被其他过程引用。 (1) 动态(Dim):无继承性 ①建立时间:所在的事件过程开始执行时即被建立 ②释放时间:所在的事件过程结束时就释放空间 (2) 静态(Static):有继承性
①建立时间:所在的事件过程开始执行时即被建立 ②释放时间:整个程序结束时才释放空间
Public 在“通用”->“声明”中定义 在“通用”->“声在“通用”->“声明”中定义 明”中定义 动态变量,在过程静态变量,在中定义 过程中定义 Private Dim Static 3.5 Visual Basic的数据运算
3.5.1 算术运算符与表达式
^(求指数)-(求负数)*(乘)/(浮点数除) \\(整数除) Mod(求余) +(加) -(减)
1. 只有数值型数据可以参加算术运算。
2. \\和Mod一般要求两个操作数是整型;若为实型时,自动先四舍五入为整数,然后进行运算。
3. \\是取商的整数部分;Mod是取余数。 4. a Mod b的结果符号与a相同。
3.5.2 关系运算符与表达式
=(等于) <>或><(不等于) <(小于) >(大于) <=(小于等于) >=(大于等于)
1. 关系表达式的结果是逻辑值:True或False。
2. 能够进行大小比较的类型有:数值型、字符型、日期型、逻辑型。 3. 字符型不是比较字符串的长短,而是比较字符串ASCII码的大小。 4. 日期型数据:现在的日期比过去的大。 5. 逻辑型:False(0)比True(-1)大。
6. VB中赋值运算符与等于运算符相同,可以根据语句位置来确定其含义。 例:Private Sub Form_Click( )
Dim a As Integer,b As Integer
a=3
If a>0 Then b=1 If a<0 Then b=-1 If a=0 Then b=0 Print “a=”;a;“b=”;b End Sub
3.5.3 逻辑运算符与表达式
1. Not(非):True变False,False变True。 2. And(与):a And b,只有均为True时,结果才为True。 3. Or(或):a Or b,只有均为False时,结果才为False。
4. Xor(异或):a Xor b,当a和b均为True或均为False时,结果为False;否则为True。
5. Eqv(等价):a Eqv b,当a和b均为True或均为False时,结果为True;否则为False。
6. Imp(蕴含):a Imp b,当a为True,b为False时,结果为False;否则为True。 7. 只有逻辑型数据可以参加逻辑运算,逻辑表达式的结果是逻辑值。
3.5.4 字符串运算符与表达式
功能:将两个字符串拼接起来,形成一个新的字符串。 1. 格式1:表达式1 & 表达式2
将两个表达式作为字符串强行连接在一起。
2. 格式2:表达式1 + 表达式2
(1) 如果两个表达式都是字符串,则将它们直接连接(同“&”)。 (2) 如果一个是数字字符串,另一个是数值型,则进行加法运算。 (3) 如果一个是非数字字符串,另一个是数值型,则连接出错。 若表达式需要先计算后连接,则将算式用( )括起。
例:表达式1 表达式2 “&”的结果 “+”的结果
“123” “3” “1233” “1233” “123” 3 “1233” 126 123 3 “1233” 126 “123a” 3 “123a3” 出错 “3+5=” (3+5) “3+5=8” 出错
3.5.5 日期运算符与表达式
加(+) 减(-)
1. 现在的日期比过去的日期大。
2. 两个日期型数据相减,其结果表示两个日期相差的天数。
3. 一个日期型数据可以与一个整型数据相加、减,得到新的日期。 4. 应避免两个日期型数据相加。
3.5.6 运算符的优先级
括号 -> 算术运算/字符串运算 -> 关系运算 -> 逻辑运算 算术运算符:^ -> 负号 -> *、/ -> \\ -> MOD -> +、- 字符运算符:-、&相同
逻辑运算符:Not -> And -> Or -> Xor -> Eqv -> Imp 同一级别从左到右运算。
可以用括号来改变优先顺序。
第四章 程序设计基础
教学目的及要求:
使学生掌握顺序结构、分支结构、循环结构的语法规则和具体应用,程序调试的步骤和方法。
重点与难点:
1、熟练掌握表达式、赋值语句及逻辑表达式等的书写约定 2、掌握InputBox和MsgBox函数的用法 3、掌握单分支和多分支条件语句
4、熟练掌握For语句和While语句的使用 5、难点是多重循环的程序设计
主要外语词汇:
Context 、Prompt、MsgBox、InputBox 授课内容:
1. 三种基本结构:顺序结构、选择结构、循环结构 2. 流程图:(1)传统的流程图 (2)N-S流程图
4.1 顺序结构程序设计
特点:按书写时的顺序依次执行。
4.1.1 VB中的语句及书写规定
1. 自动语法检测 2. 格式化处理
3. 续行符:下划线,一条语句写在多行上。
下划线与其前面的字符之间至少要有一个空格。
4. 复合语句行:冒号,多条语句写在一行上。
4.1.2 赋值语句
1. 可以给一个变量或某一个对象的属性赋值。
格式1:变量名 = 表达式
格式2:[对象名.]属性名 = 属性值
若省略对象名,则默认是当前窗体。
方向性:从右向左赋值。 2. 最终的结果是最后一次的赋值。 3. 数据类型要匹配,注意相容现象:
(1)逻辑型 -> 数值型:True -> -1,False -> 0
数值型 -> 逻辑型:非0 -> True,0 -> False (2)实型 -> 整型:四舍五入原则,不是去尾原则
整型 -> 实型:扩展小数位数
4. 不管表达式是什么数据类型,都可以赋给一个Variant变量。 5. 系统提供的默认初始值:
(1)数值型:0 (2)货币型:0 (3)字符型:空字符串 (4)逻辑型:False (5)日期型:0:00:00
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库VB讲义(4)在线全文阅读。
相关推荐: