当前位置:首页 > 第三章 程序设计基础
图3.14 FOR…NEXT 结构:步长为正 举例:
【例3.8】求从1加到100的累加和。
三、While … wend结构
功能与DO WHILE … LOOP 结构类似, 格式:
While 测试条件 语句块 Wend 举例:
【例3.9】有一段程序: Sub Form_click ( )
Dim Timeleft As Integer Timeleft = 5 Print Timeleft Timeleft = Timeleft –1 Wend
While Timeleft >= 1
End Sub
注意: 循环体内必须存在这样一条语句来影响测试条件,使得测试条件的逻辑值发生变化,否则这个循环就变成了死循环。
四、从循环中退出
有时在程序中利用循环查找某个数据,当数据找到后,不需要等到循环结束就可以跳出循环以节省时间。使用Exit 语句可以直接推出For 循环、Do循环。 1. 格式:
Do [{While | Until} 循环条件] [语句序列] Exit Do [语句序列]
第 17 页 共 26 页
Loop
For 循环控制变量=初值 TO 终止值 [Step 增量] [语句序列] Exit For [语句序列] Next 循环控制变量 2. 举例
【例3.10】在1~658之间寻找一个等于变量J的数字。 ?假设变量J中存放着用户输入的某个数字 dim I as integer for I=1 to 658 if I=j then exit for next
3. 注意:只跳出本层循环。 五、循环嵌套
循环允许嵌套,但内外循环不可交叉,程序可以从循环体内转到循环体外,不允许从循环体外转到循环体内,也不允许从一个内循环转到另一个与之并列的循环体内,如下图:
正确 错误 图3.15 循环嵌套 举例:
【例3.11】读入N后,求算式:
的值。(教材P99例3.11)
3.7创建自己的数据类型
有时希望将不同类型的数据组合成一个有机整体,就像在Excel、数据库中讲述的表单的“记录”——是由不同类型、互有联系的数据项组成,便于整体的处理这类数据。
在VB中,除了前面介绍的标准数据类型外,还允许用户自己定义数据类型,它由若干个标准数据类型组成。自定义数据类型必须遵循先定义后使用的原则,自定义类型通过Type语句来实现。 格式:
Type 自定义类型名
元素名1 As 类型 元素名2 As 类型
第 18 页 共 26 页
┆
元素名n As 类型
End Type
类型: 标准类型
自定义类型名:用户为新定义的数据类型所起的名称。
说明: 元素名:表示自定义类型中的一个成员。
一旦定义了自定义类型的数据类型之后,就可以像标准数据类型一样引用使用。 注意:⑴ 自定义类型必须在标准模块(.BAS)中定义,默认的是全局变量Public。
⑵ 自定义类型中的元素类型可以有字符串,但必须是定长字符串。 【例3.12】 定义一个学生成绩管理信息的数据类型
Type XstestType
INo As integer ' 编号 iXh As integer ' 学号 strName As String*20 ' 姓名 strSex As String*1 ' 性别 shuX As Single ' 数学成绩 yuW As Single wuL As Single huaX As Single tiY As Single sTotal As Single fTag As Boolean End Type
' 语文 ' 物理
'化学 '体育 '总分 '奖惩标志
waiY As Single ' 外语
Dim dona as xstestType 3.8 枚举
枚举,也称为枚举类型,也可以说是一种自定义类型,所谓枚举类型是通过声明将一系列相关的名称与常数数值相关连,这样在使用中可以使用名称而不使用具体的数值,便于辨识。 一、枚举类型的声明 格式:
[Public|Private] Enum 名称
成员名称[=常数表达式] 成员名称[=常数表达式]
??
End Enum
① VB的枚举类型中的常数数值通常被转换成长整数。
注意 :
② 常数表达式并非必须,若省略的话默认枚举中的第一个常数为0,以后依次为1,2,?。 ③ Enum 语句只能在模块(.bas)级别中出现。
【例3.13】 定义一个枚举类型 Days,使得常数Sunday代表数值0,Monday代表数值1,??,Saturday代表数值6。
Public Enum Days
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
第 19 页 共 26 页
End Enum
在上述的枚举定义中,省略了常数表达式,因此系统默认的只是0,1,?。通过将相关的常数组织进枚举类型中,就可以在不同的上下文环境中使用统一的常数名称。 二、枚举类型的使用
1.引用单个常数
当引用单个常数时,为了避免模糊引用,一般应在成员名称前指出枚举名。
例如: Day1.Saturday , WorkDays.Saturday
由于两个Saturday分属不同的枚举,因此它们的常数值可以是不一样的。 2. 声明枚举变量
声明了枚举类型后,就可以定义枚举类型的变量,当然也就可以使用该变量储存的枚举常数的数值。 【例3.14】 一个使用枚举变量的例子。 3.9数组
数组是使用一个名字的一组相同类型变量,数组中的每个元素都拥有唯一的索引号来标识自身。在VB中有两种类型的数组:固定大小的数组(静态数组: 它总是保持同样的大小),以及在运行时大小可以变化的动态数组。 一、一维数组
1.声明格式:
{ Dim|Public|Static} 数组名(下标) [As 类型][,数组名(下标)[As 类型]]?? 其中:
① 数组名:应是合法的变量名。可同时声明多个数组,各数组之间用逗号分割。 ②下标必须是常数,不允许是表达式或变量。
③下标的形式为 [下界to]上界,下界必须小于上界,下标下界最小可为-32768,最大为+32767。下界可以省略,省略时系统默认值
为0,数组的下界并非一定是0,而且可以改变的。在VB的窗体层或标准模块层中,可以用 Option Base n 语句重新设定数组的默认下界。每一维的大小,即存储单元的多少为:上界-下界+1。
④当As类型缺省或数据类型为 Variant时,都是变体类型。 例如:定义数组
Dim W1%(-36 To 144) Dim WA As String*30
W1%是一个一维整型数组,有181个元素。
WA是一个定长字符串变量,其长度为30
Dim Sums(20) As Double 21个元素 Public Counters(2 to 14) As Integer 13个元素
Static A1(3) As Integer,b1(4) As Sring 同时声明两个数组 2.引用格式: 数组名(下标)
注意:在数组声明语句中出现的数组名及下标表示与在程序中出现的数组名及下标表示是不同的。例如: Dim x(10)As Integer '声明了x数组,有11个数组元素 x(10)=100 ' 对数组x的第11个数组元素x(10)赋值 【例3.15】 编一个统计50个学生某门课平均成绩的程序 。
分析: (1) 输入50个学生的成绩
(2) (3) (4)
二、多维数组 声明格式:
第 20 页 共 26 页
累加成绩总和 求出平均成绩 输出结果。
共分享92篇相关文档