【VB开源代码栏目提醒】:本文主要为网学会员提供“VB程序设计语言基础 - 大学课件”,希望对需要VB程序设计语言基础 - 大学课件网友有所帮助,学习一下!
第三章
VB程序设计语言基础一
VB中的数据与运算二 标准函数三 三种基本结构(顺序,判定,循环)一
VB中的数据与运算 3.1.1 数据类型 3.1.2 变量与常量 3.1.3 运算符和表达式 3.1.4 数组3.1.1 数据类型 数值数据类型 1 Integer型和Long型 用来表示整数。
Integer型数据占2个字节,Long型数据占4个字节。
除了十进制整型数,常用的还有八进制和十六进制,它们的表示方法为: Intger型: 八进制 数值前加O或。
如O123 十六进制 数值前加H。
如H123 Long型: 八进制数值前加O或,最后加。
如O123 十六进制 数值前加H,最后加。
如H123 2 Single型和Double型 用来表示浮点数。
Single型占4个字节,Double型占8个字节。
表示一些单精度型常量和双精度常量时,可以用以下方法: 0.123E5,0.34E-2,0.8D23 Currency型 为表示钱款而设置。
占8个字节。
小数点左边最多15位,右边最多4位。
4 Byte型 占1个字节,表示无符号整数。
字符数据类型 字符(String)类型存放字符型数据。
用双引号括起来,如“abc”。
注:①”“表示空字符串,长度为0。
②若字符串中含有双引号,则用连续两个双引号表如”abc””12”。
日期数据类型 日期型(Date)表示日期和时间,占8个字节。
用“#”括起来,如 #2004-5-4#等。
逻辑数据类型逻辑型(Boolean)表示逻辑判断,占2个字节。
只有True和Fale两个值。
逻辑型数据转换成整型数据时,True转换为-1,False转换为0。
其他类型数据转换成逻辑型数据时,非0数转换为True,0转换为False。
对象数据类型 对象型(Object)表示图形、OLE对象或其他对象,占4 个字节。
变体数据类型 变体型(Varient)可存放任何类型的数据 类型说明符 可在常量或 变量的后边加上类型说明符指明它是哪一种数 据类型,常见的类型说明符如下: 整型: 长整型: 单精度型: 双精度型: 字符串型: 货币型: 3.1.2 变量与常量 命名规则 1. 名字由字母、汉字、数字或下划线组成; 2.名字的第一个字符必须是字母或汉字; 3.名字的有效长度小于等于255个字符; 4.不能使用
VB中的关键字。
5.
VB中不区分变量名的大小写。
6.为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该 变量的数据类型。
变量 变量定义的一般格式如下: Declare 变量名 As 类型 其中,①Declare可以是Dim、Static、Public、ReDim。
Dim、Static用于定义局部变量 Dim用于定义窗体和模块级变量 Public用于定义全局变量 ReDim用于重新定义数组 ②类型可以是基本数据类型或用户自定义数据类型 ③若“As 类型”省略,默认为变体数据类型 ④可在变量名后加类型说明符代替“As 类型 例如:Dimx as Integery as Single Dim s as String 注:Dim定义的局部变量是自动变量,过程结束后其值被重新设置; Static定义的局部变量是景泰变量,过程结束后其值继续保留。
常量
VB中有三种常量:即直接常量、用户声明的符号常量和系统提供的常量。
(1)直接常量 直接常量其常数值直接反映了其类型,也可在常数值后紧跟类型符显示地说 明常数的数据类型。
(2)符号常量 常量可用由用户定义的符号常量表示,格式如下: Const 符号常量名 As 类型表达式 常量名=表达 式…… 例如:Const PI=3.1415926 (3)系统提供的常量 除了用户通过声明创建符号常量外,
VB系统还提供了应用
程序和控件 定义的常量,这些常量位于对象库中,在“对象浏览器”中的Visual BasicVB、Visual Basic for ApplicationsVBA等对象库中列举 了Visual Basic的常量。
3.1.3 运算符和表达式 运算符 1. 算术运算符 加:+ 减:- 乘: 整除: 浮点除:/ 取模:Mod 负号:- 幂运算: 2. 字符串运算符 “”和”+“都是将两个字符串拼接起来。
但字符串连接时最好用””,因为“” 还可以作为算术运算符使用 3. 关系运算符 对两个表达式的值做比较,若关系成立,则返回True,否则返回False。
等于 大于 大于等于 小于 小于等于 字符串匹配 Like 对象引用比较 Is 4. 逻辑运算符 取反:Not 与: And 或: Or 异或:Xor 等价: Eqv 蕴含:Imp 表达式 表达式由变量、常量、运算符、函数和圆括号按一定的规则组成。
表达式通 过运算后有一个结果,运算结果的类型由数据和运算符共同决定。
当一个表达式中出现了多种不同类型的运算符时,不同类型的运算符优先级 如下: 算术运算符字符运算符关系运算符逻辑运算符
常用内部函数
VB提供了大量的内部函数或称标准函数供用户在编程时调用。
内部函数按其 功能可分成数学函数、转换函数、字符串函数、日期函数和格式输出函数 等。
具体内容参见课本。
3.1.4 数组 1. 数组的概念 2. 静态数组与动态数组 3. 数组的清除和重定义 4. 数组元素的基本操作 5. 控件数组 6. 自定义数据类型 1. 数组的概念一、数组的概念 在实际应用中,经常需要处理同一类型的成批数据。
比如,要处理100个学生的会计这门
课程的考试成绩,如果在程序中定义100个变量来表示这批成绩,显然是很麻烦的。
我们可以用
VB提供的数组来完成这个功能。
可以用c1,c2,…,c100来分别代表每个学生的分数,也就是说,用一批具有相同名字、不同下标的下标变量来表示同一属性的一组数据,这样能更清楚的表示它们之间的关系。
在
VB中,把一组具有相同名字、不同下标的下标变量称为数组。
在
计算机中,下标用“()”括起来。
比如c2,其中c为数组名,2是下标。
根据数组中下标变量的个数可以分为一维数组、二维数组或多维数组。
二、数组的声明 定义数组可以用Dim、Public、Private、Static语句实现。
格式(以Dim为例):Dim (,……)As 例:Dim c99 as Single Dim s34 as string Dim stu36 Dim a2 to 100 as string5 Dim b2 to 305 to 40说明:①数组必须要先定义,后使用②如果不用AS语句指明类型,默认为变体数据类型③一般情况下,下标的下界默认为0,如果希望下标从1开始,可以用Option Base语句设置,格式为Option Base n 其中n为下标的下界,只能是0或1④可以根据需要指定数组下标的下界,格式为Dim 数组名(下界 To 上界下界 To上界……)⑤在同一个过程中,数组名不能与变量名同名⑥在定义数组时如果指明了类型,那么数组中的每个元素都是这种类型的;如果没有指明或定义成了变体数据类型,则其中的每个元素也是变体类型,可以存放各种类型的数据。
2. 静态数组与动态数组 定义数组后,为了使用数组,必须为数组开辟所需要的内存区。
根据内存区开辟时机的不同,可把数组分为静态数组和动态数组。
通常把需要在编译时开辟内存区的数组叫做静态数组,把需要在运行时开辟内存区的数组叫做动态数组。
一、静态数组 静态数组的数组元素的个数是在数组声明时确定的,系统运行过程中它的个数不变。
前面定义的几个数组都是静态数组。
我们主要讲一下动态数组。
二、动态数组 动态数组是在声明数组时未给出数组的大小(省略括号中的下标),当要使用它时,随时用ReDim语句重新指出大小的数组。
使用动态数组的优点是可根据用户需要,有效地利用存储空间,它是在程序执行到ReDim语句时分配存储空间。
建立动态数组的方法是,使用Dim、Private或Public语句声明括号内为空的数组,然后在过程中用ReDim语句指明该数组的大小。
形式如下: ReDim (,…) As 例如: Dim s as integer ‘定义动态数组s,括号不能省略 Private Sub Form_Click ...... n InputBox输入n的值 m InputBox输入m的值 n Valn m vlam ReDim sn m ‘重新指明数组的大小 ...... End Sub 在过程中可多次使用ReDim语句来改变数组的大小,不能改变数组维数,也不能改变数组的类型。
每次执行 ReDim 语句时,当前存储在数组中的值都会全部丢失。
Visual Basic 重新将数组元素的值置为 Empty(对Variant 数组)、置为 0(对 Numeric 数组)、置为 零长度字符串(对 String 数组)。
如果希望改变数组大小又不丢失数组中的数据,可使用具有 Preserve 关键字的 ReDim 语句就可做到这点。
如:Dim this As StringPrivate Sub Command1_Click ReDim this4 this2 microsoft Print this2 ReDim Preserve this6 Print this2End Sub3. 数组的清除和重定义 在一个程序中,同一个数组只能定义一次。
有时可能需要清除数组的内容或对数组重新定义,这可以用Erase语句来实现。
格式如下: Erase ,…… 说明: ①在Erase语句中,只给出要刷新的数组名,不带括号和下标 ②Erase语句用于静态数组时,用来重新初始化各元素,内容被清空。
若是数值数组各元素被置0,字符数组各元素被置为空字符串。
③Erase语句用于动态数组时,删除整个数组的结构并释放该数组所占用的内存。
动态数组经Erase后不再存在。
下次引用该动态数组之前,必须用ReDim语句重新定义该数组的维数。
4. 数组元素的基本操作一、给数组元素赋值1.利用循环结构 For i1 to 5 Ai3 Next i2.利用InputBox函数输入 Private Sub Command1_Click Dim b2 3 For i 0 To 2 For j 0 To 3 bi j InputBox输入 Stri Strj 的值 Next j Next i For i 0 To 2 For j 0 To 3 Print bi j Next j Print Next i End Sub 当给一个较大的数组赋值时,以上方法比较麻烦,可以用Array函数解决。
3.利用Array()函数 Private Sub Form_Click Dim a b a Array1 2 3 4 5 b Array11 22 33 For i 0 To UBounda Print ai Next i Print For i 0 To UBoundb Print bi Next i PrintEnd Sub 说明: ①Array函数对各元素赋值,声明的数组是动态数组或连小括号都省略的数组,并且类型只能是Varient。
②数组下界默认为0,可通过Option Base语句决定,上界由Array函数括号内的参数个数决定,也可通过UBound函数获得。
③Array函数只适用于一维数组。
二、数组元素的输出 可以通过Print语句对数组输出 对一维数组,用单重循环就能实现,对二维数组,要用二重循环实现。