vb程序设计教程课件_第1页
vb程序设计教程课件_第2页
vb程序设计教程课件_第3页
vb程序设计教程课件_第4页
vb程序设计教程课件_第5页
已阅读5页,还剩114页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VisualBasic

程序设计教程

(第3版)

HIQHCREDUCATIONPRESS

向泠大孽封驾机多.基础专科狗

http://jsjjc.tongj

VB程序设计教程(第3版)果书目当\

目录

天、

1工

U

E早

VisualBasic程序设计概述

-

天2工、

U

E早

VB可视化编程基础

-天、

3工

U

E早

VB语言基础

-天、

4工

行早

章VB控制结构

第5

章数组和自定义类型

第6

上、过程

7工

身早

上、用户界面设计

8工

身早

分、数据文件

9工

身早

图形操作

第10章数据库应用基础

本书目塞卜

VB程序设计教程(第3版)

教学安排

早内容学时实验与学时

第1章VisualBasic程序设计概述1实验11+1

第2章VB可视化编程基础2实验22+2

第3章vb语言基础3实验32+2

第4章VB控制结构6实验42+2

第5章数组和自定义类型4实验52+2

第6章过程4实验61+1

第7章用户界面设计4实验72+2

第8章数据文件4实验82+2

第9章图形操作4实验92+2

合计16周48学时(32+16)+课外163216+16

*第10章数据库应用基础8实验102+4

VB程序设计教程(第3版)忝书目用学,、3

第4章VB控制结构

4・1顺序结构

4・2选择结构

4・3循环结构

4・4其它辅助控制语句

4・5综合应用

4・6程序调试

和目利收

VB程序设计教程(第3版)4

4.1顺序结构

VB具有结构化程序设计的三种程序控制结构,

即顺序结构、选择结构、循环结构,是程序设计

的基础。

(1)顺序结构

各语句按出现的先后次序执行

用传统流程

图表示为

VB程序设计教程(第3版)本书目录补一章目录5

(2)选择结构

根据条件决定执行的语句

VB程序设计教程(第3版)本书目势

(3)循环结构

根据条件重复执行语句(称为循环体)

I、当型循环结构II、直到型循环结构

VB程序设计教程(第3版)果书目录

4.1顺序结构

♦一般程序设计语言中顺序结构的语句主要:

赋值语句和输入/输出语句等。

♦在VB中

赋值语句

输入/输出通过:

•文本框控件、标签控件、

•InputBox函数、MsgBox函数和过程

•Print方法等来实现。

VB程序设计教程(第3版)本书目势

4.1.1赋值语句

形式:变量名=表达式

[对象名,]属性名=表达式

功能:计算表达式的值,再将此值赋给变量或对

象属性。

给变量赋值和设定属性是VB编程中常见的两个

任务。例如:

n=n+11计数累加

Textl.Text='M,'清除文本框的内容

Textl.Text="欢迎使用VB”

赋值语句注意点

⑥“二”符号有两个意义

赋值号、关系运算符等号

形式相同,系统会根据所处的位置判断符号的意义

>赋值号左边只能是变量,不能是常量、常数符号

表达式。下面均为错误的赋值语句:

Now()=x+y'左边是表达式(函数)

5=sqr(s)+x+y,左边是常量

VB程序设计教程(第3版)⑥本书目更Z章目、.\

4.1.2数据输出和输入

1.InputBox函数

打开一个对话框,等待用户输入,返回字符串

一类型的输入值。

形式:InputBox(提示[,标题儿默认值][,x坐标

位置儿丫坐标位置])///

注意:提示项不能省略。\醯矗名/r^~i

若要多行提示,可在每行

行末加回车换行vbCrLfo/

例4.1利用InputBox输入基本工资和营业额)按

营业额的5%提成,江基实发工资并显示。

VB程序设计教程(第3版)

2.MsgBox函数和MsgBox过程

打开一个信息框,等待用户选择一个按按钮。

MsgBox函数返回所选按钮的值,

MsgBox过程不返回值

MsgBox函数形式:

变量[%]=MsgBox(提示[,按钮儿标题])

MsgBox过程形式:

MsgBox提示[,按钮][,标题]

按钮项是一整型表达式,决定信息框按钮的数

目和类型及出现在信息框上的图标形式。

VB程序设计教程(第3版)O本书目史八一章目'.

MsgBox按钮设置

分组内部常数值描述

VBOkOnly0确定按钮

VBOkCancel1确定、取消按钮

按钮

VBAboutRetrylgnore2终止、重试、忽略按钮

数目

VBYesNoCancel3是、否、取消按钮

VBYesNo4是、否按钮

VBRetryCancel5重试、取消按钮

VBCritical16关键信息图标Q

图标VBQuestion32询问信息图标却

类型VBExclamation48警告信息图标Jy

VBInformation64信息图标专

默认VBDefaultButtonl0第1个按钮为默认一

按钮VBDefaultButton256第2个按钮为默认

VBDefaultButton3512第3个按钮为默认

VB程序设计教程(第3版)叙本书目史?7章目臬

MsgBox所选按钮返回值

内部常数返回值被单击|噬登录

的按钮帐号123456

vbOk1确定密码火火火火

vbCancel2取消

vbAbort3终止检验密码

vbRetry4重试

vblgnore5忽略

八密码错误

vbYes6是

vbNo7否匚割莹□:取消

例列2编一账号和密码输入的检验程序,当输入不正

确,如账号为非数字字符,密码不正确等,显示有关

信息,再输入。

VB程序设计教程(第3版)忝书目录章目录

3.Print方法

作用:在对象上输出信息。

对象.Print[Spc(77)|Tab(刀)][输出列表][;

对象:窗体、图形框或打印机。缺省为窗体。

Spc(n)函数:从当前位置起空刀个空格

Tab(n)函数:从最左端开始计算的第n列

分号:定位在上一个被显示的字符之后

逗号:定位在下一个打印区开始处(每区14列)

Print语句尾无分号或逗号,输出后换行

例4.3Print方法输出图形

利用String函数显示重复字符

利田彳居环结物函数显不

VB程序设计教程(第3版)本书目录■午

4.Format格式输出函数

形式:Format(表达式[,”格式字符串[)

常用数值格式化符及举例

符号作用表达式格式字符串显示结果

0用0填充不足的位置1234.567“00000.0000”01234.5670

#位置不足时不填充01234.567”#####.####"1234.567

千分位1234.567”##,##0.000”1,234.567

%数值乘以100,加百分号1234.567”####.##%”123456.7%

$在数字前强加$1234.567”$###.##"$1234.57

E+用指数表示1234.567n0.00E+00n1.23E-01

例4.4利用Format函数显示数侑。

VB程序设计教程(第3版)忝书目用学16

4.2选择结构

♦计算机要处理的问题往往是复杂多变的,

仅采用顺序结构是不够的。

♦必须利用选择结构等来解决实际应用中的

各种问题。

♦VB中主要通过If条件语句和Select情况语

句来实现。它们都是对条件进行判断,根据

判断结果,选择执行不同的分支。

VB程序设计教程(第3版)本书目录今、章目录

4.2.1If条件语句

LIf…Then语句(单分支结构)

IfV表达式》Then

语句块(可以是一句或多句语句

EndIf语句块

或Ifv表达式)ThenV语句》

表达式:关系表达式、逻辑表达式,算术表达式。

表达式值按非零为True,零为FaIse进行判断。

该语句的作用是当表达式的值为True,执行Then后

面的语句块,否则不做任何操作。

IF演示

VB程序设计教程(第3版)本书目录今、章目录18

单分支结构

例:已知两个数x和y,比较它们的大小,使得x

大于y。

Ifx<yThen

t=x

x=y

y=t

EndIf

或Ifx<yThent=x:x=y:y=t

简单If形式无EndIf时,只能是一句语句或语句间用

冒号分隔,而且必须在一行上书写。

VB程序设计教程(第3版)19

双分支结构

2.If…Then…Else语句

If表达式Then―

语句块1J—i一口

E]§e语句块i语句块2

语句块2vv

EndIf

或If表达式Then语句1Else语句2

当表达式的值为True时,执行Then后面的

语句块1,否则执行Else后面的语句块2

VB程序设计教程(第3版)忝书目录章目录

双分支结构例

计算分段函数y」sinx+G7-0

Vcosx-x'+3xx=0

单分支y=cos(x)—x人3+3*x

结构实现Ifx<>0Theny=sin(x)+sqrt(x^x+1)

Ifx<>0Then

双分支y=sin(x)+sqr(x*x+1)

Else

结构实现y=cos(x)—xA3+3*x

EndIf

VB程序设计教程(第3版)忝书目录章目录

多分支结构

3・lf.・・Then.・・Elself语句

If表达式1Then

语句块1

Elself

[Else

EndIf

作用:根据不同的表达式值确定执行哪个语句块

VB程序设计教程(第3版)忝书目录章目录

多分支结构例

例4.7已知变量ch中存放了一个字符,判断该字符是

字母字符、数字字符还是其他字符。

IfUCase(ch)>="A”AndUCase(ch)<=Then

MsgBox(ch+“是字母字符")’考虑大小写字母

Elselfch>=110"Andch<="9"Then'数字字符

MsgBox(ch+”是数字字符”)

Else'除上述字符以外的字符

MsgBox(ch+”是其他字符”)

不管有几个分支,依次判断,当某条件满足,执行相应

的语句,其余分支不再执行;若条件都不满足,且有

Else子句,则执行该语句块,否则什么也不执行。

Elself不能写成日seIf

VB程序设计教程(第3版)殿》书目更Z章目臬

If语句的嵌套

If语句的嵌套是指If或日se后面的语句块中又包含If语

If表达式1Then

If表达式2Then

■■■Ifx<yThent=x:x=y:y=t

EndIf

■■■Ify<zThen

EndIft=y:y=z:z=t

例已知x,y,z三个数,Ifx<yThen

使得x>y>zt=x:x=y:y=t

用一个IF语句和一个嵌套EndIf

的IF语句实现EEnnddIIff

VB程序设计教程(第3版)

4-2-2SelectCas。语句

SelectCase变量或表达式

Case表达式列表1

语句块1

Case表达式列表2

语句块2表达式列表与变量或表达式的类型必

■■■须相同,是下面4种形式之一:

[CaseElse•表达式例:

语句块n+1]•一组用逗号分隔的枚举值2,4,6,8

EndSelect•表达式1To表达式260To100

•Is关系运算符表达式Is<60

VB程序设计教程(第3版)本书目录章目景

SelectCas。语句例

将例4.7改用SelectCase语句实现:

SelectCasech

Case"a11To"z",To

MsgBox(ch+”是字母字符”)

Case"0"To"9"

MsgBox(ch+”是数字字符”)

CaseElse

MsgBox(ch+”是其他字符”)

EndSelect

多分支结构,用SelectCase语句比If…Then…Elself

语句直观,程序可读性强。但不是所有的多分支结构

均可用SelectCase语句代替If…Then…Elself语句。

VB程序设计教程(第3版)本书目录补一章目录26

SelectCas。语句例

例4.9判断坐标点(x,y),落在哪个象限。

代码一代码二

Ifx>0Andy>0ThenSelectCasex,y

MsgBox("在第一象限”)Casex>0Axdy>0

Elselfx<0Andy>0ThenMsgBox("在第一象限”)

Casexv0Axdy>0

MsgBox("在第二象限“)

MsgBox("在第二象限”)

Elselfx<0Andy<0Then

Casex<0Andy<0

MucRcW〃在第二象阳Q

代码二错误:

1.SelectCase后不能出现多个变量

2.Case后不能出现变量及有关运算符

VB程序设计教程(第3版)本书目录补一章目录

4.2.3条件函数

(1)Hf函数

Hf(表达式,表达式为真时的值,表达式为假时的值)

Hf函数是If...Then...Else结构的简洁表示

例如,将x,y中大的数,放入Tmax变量中:

Tmax=llf(x>y,x,y)

该语句与如下语句等价:

Ifx>yThenTmax=xElseTmax=y

VB程序设计教程(第3版)本书目录补一章目录28

4.2.3条件函数

(2)Choose函数DimnopAsInteger,opAsChar

Choose健Randomize()

根据表达式的任nop=lnt(Rnd()*4+1)

果整数表达式4°P=Choose(nop,"x,丁,.,,)

MsgBox("nop="&nop&"op="&op)

例才艮据Nop的值K

Op=Choose(Nop,5rL

例4.10根据当前日期,显示今日是星期几。

t=Choose(Weekday(Now)「星期日”「星期一”「星期

二”「星期三”,“星期四”「星期五”「星期六”)

MsgBoxJ今天是:11&Now&t)

VB程序设计教程(第3版)本书目录补一章目录29

4.3循环结构

♦计算机最擅长的功能之一就是按规定的条件,

重复执行某些操作。

♦例如,按照人口某增长率,对人口增长统计;

根据各课程的学分、绩点和学生的成绩,统计

每个学生的平均绩点等。

♦这类问题都可通过循环结构来方便地实现。

VB中提供了主要两类循环语句:

•For循环语句(一般已知循环次数);

•Do条件型循环语句(一般未知循环次数).

VB程序设计教程(第3版)本书目录今、章目录

4.3.1For循环语品

Fori=1To100Step2

For循环语句用于控制循环2

For循环变量=初值ToZsum=sum+i

语句块Nexti

[ExitFor]VMsgBox(sum)

语句块

Next循环变量计算

循环变量必须为数值型。1〜100的奇数和

循环次数=加(+忆+1)

「>0初值<终值=1时,可省略

步长1<0初值,终值

j=0死循环

VB程序设计教程(第3版)本书目录补一章目录31

For循环语句

循环流程:

(1)循环变量被赋初值,它

仅被赋值一次。

(2)判断循环变量是否在终

值内,如果是,执行循环体;

如果否,结束循环,执行

Next的下一语句。

(3)循环变量加步长,转Q),

继续循环

例4.12将可打印的

ASCH码制成表格输出

VB程序设计教程(第3版)忝书目录章目录

4.3.2Do.“Loop循环语句

Do循环用于控制循环次数未知的循环结构。

形式1:形式2:

Do{Wh"e|Unt"}v条件〉Do

语句块语句块

[ExitDo[ExitDo

语句块]语句块]

LoopLoop{While|Until}v条件,

形式1为先判断后执行,有可能一次也不执行;

形式2为先执行后判断,至少执行一次。

VB程序设计教程(第3版)本书目录补一章目录33

Do“.Loop流程

DoWhileLoop

VB程序设计教程(第3版)忝书目录章目录

循环例题

例4.13我国有13亿人口,按人口年增长0.8%

计算,多少年后我国人口超过26亿。

解此问题两种方法,可根据公式:

26=13(1+0.008)n

log(2)

n二---------------------------------

log(1.008)

直接利用标准函数对数可求得,但求得的年数不

为整数;也可利用循环求得。

VB程序设计教程(第3版)本书目录补一章目录

4.3,3循环的嵌套

在一个循环体内又包含了一个完整的循环结构

称为循环的嵌套。循环嵌套对For循环语句和

Do…Loop语句均适用。

例4.14打印九九乘法表

国ForwlI-1同冈

九九乘法表

1X1=11X2=21X3=31X4=41X5=51X6=61X7=71X8=81X9=9

2X1=22X2=42X3=62X4=82X5=102X6=122X7=142X8=162X9=18

3X1=33X2=63X3=93X4=123X5=153X6=183X7=213X8=243X9=27

4X1=44X2=84X3=124X4=164X5=204X6二244X7=284X8=324X9=36

5X1=55X2=105X3=155X4=205X5=255X6=305X7=355X8=405X9=45

6X1=66X2=126X3=186X4=246X5=306X6=366X7=426X8=486X9=54

7X1=77X2=147X3=217X4=287X5=357X6=427X7=497X8=567X9=63

8X1=88X2=168X3=248X4=328X5=408X6=488X7=568X8=648X9=72

9X1=99X2=189X3=279X4=369X5=459X6=549X7=639X8=729X9=81

思考:打印上三角或下三角程序如何改动?

VB程序设计教程(第3版)本书目录章目景

4.4其他辅助控制语句

4.4.1GoTo语句

无条件地转移到标号或行号指定的那行语句。

GoTo{标号|行号}

注意:标号是字符序列,首字符必须为字母,标号后

应有冒号;行号是一个数字序列;

例4.15判断输入的数是否为素数

素数就是除1和本身以外,不能被其他任何整数整除的

数。根据此定义,判别某数"是否为素数最简单的方法

就是依次用途2一疗1去除,只要有一个数能整除勿,m就

不是素数;否则勿是素数。

要求一定范围内的素数,只要将m作为外循环体变量。

VB程序设计教程(第3版)本书目录今、章目录

4.4.2退出和结束语句

1.Exit语句

VB中有多种形式的Exit语句,用于退出某种控

制结构的执行。Exit的形式如下:

ExitFor、ExitDo>

ExitSub>ExitFunction

2.End语句

独立的End语句用于结束一个程序的运行,它

可以放在任何事件过程中。

VB程序设计教程(第3版)本书目录补一章目录38

4.5综合应用

例416由计算机自动产生四则运算题,并能判

断答案的正确性。

设计思路:

(1)通过随机函数Rnd产生试题的操作数和运算

符,运算符+、•、义、♦可对应编号1~4。产

生表达式通过Form_Load事件过程。

(2)需要有一个全局无量保存四则运算题的正确

答案,用户答案可通过文本框输入。

(3)本题主要将随机函数、If语句、Select语句

综合在一起使用。

VB程序设计教程(第3版)叙本书目史?7章目臬

综合应用■最大公约数

例4.17用辗转相除法求两自然数的最大公约数。

求最大公约数的算法思想:

辗转相减法

(1)对于两数阳,n,使得股>〃■m=m-nm>n

■n-n-mn>m

(2)阳除以〃得余数r■〃为公约数m-n

(3)若r=0,贝切为最大公约数,DoWhilem<>nmn

Ifm>nThen146

结束;否则执行(4)

m=m-n86

(4)/6小nJ,再重复执行(2)Else26

n=n-m24

EndIf22

Loop

VB程序设计教程(第3版)卷书目录彳章目.

综合应用■级数求和

例4.18求自然对数e的近似值,其误差小于0.00001。

1111口1

近彳以公式6=1-1--+—+—+,,,+—+・,•=>一

1!2!3!«!仁!i

分析:本例涉及到程序设计中两个重要运算:

累加Z、连乘

累加:在原有和的基础上再加一个数;

连乘:在原有积的基础上再乘以一个数。

该题先求",再将"/进行累加,循环次数未知,

可先设置一个次数很大的值,然后在循环体内判

断是否到达精度,也可用DoWhile来实现。

VB程序设计教程(第3版)出本书目史?7章目臬

综合应用■试凑法

例4・19百元买百鸡。假定小鸡每只5角,公鸡每只2元,

母鸡每只3元,编程求解购鸡方案。

分析:

(1)设母鸡、公鸡、小鸡各为x、y>z,列出方程为:

jr+y+z=100

3JT+2J/+0.5N=100

三个未知数,两个方程,此题求若干个整数解。

(2)计算机求解此类问题,采用试凑法(也称穷举法)来

实现,即将可能出现的各种情况一一罗列测试,判断

是否满足条件,采用循环结构来实现。

VB程序设计教程(第3版)本书目录今、章目录42

综合应用■递推法

递推(迭代)法基本思想是把一个复杂的计算过程转化为

简单过程的多次重复。每次都从旧值的基础上递推出新

值,并由新值代替旧值。

例4.20小猴有桃若干,第一天吃掉一半多一个;第二

天吃剩下桃子的一半多一个;以后每天都吃尚存桃子的

一半多一个,到第7天只剩一个,问小猴原有桃多少?

分析:用后一天的数推出前一天的桃子数。设第〃天的

桃子为二,是前一天的桃子的二分之一减去1。

1

X

即:Xn=—-1也就是:n-\-+1)义2

2,

迭代法类似的应用求高次方程的近似根。

VB程序设计教程(第3版)本书目录今、章目录43

4.6程序调试

♦随着程序的复杂性提高,程序中的错误也

伴随而来。

♦对初学者,看到出现错误不要害怕,关键

是如何改正错误,失败是成功之母。

♦上机的目的,不光是为了验证你编写的程

序的正确性,还要通过上机调试,学会查找

和纠正错误的方法和能力。

♦VB为调试程序提供了一组交互的、有效的

调试工具。

VB程序设计教程(第3版)本书目录今、章目录44

4.6-1错误类型

语法错误、运行时错误和逻辑错误三类。

1、语法错误

错误的代码显示为红色,

窗口上显示出错的原因。

VB程序设计教程(第3版)忝书目用不、『章目录

2、运行错误

指令代码执行了一非法操作引起的。例如,类

型不匹配、试图打开一个不存在的文件等。程

序会自动中断,并给出有关的错误信息。

序工程1-Foral(Code)匚~『口|底

Fora▼|[Load

OptionExplicit、-T

PrivateSubForm_Load()

Dima%,b%,c%,flagAsBoolean

Textl.FontSize:"四号"

EndSul

ZPJLU

VB程序设计教程(第3版)46

3、逻辑错误

程序运行后,得不到所期望的结果,这说明程

序存在逻辑错误。

例如,运算符使用不正确、语句的次序不对、

循环语句的起始、终值不正确等。

通常,逻辑错误不会产生错误提示信息,故错

误较难排除,需要程序员仔细地阅读分析程序,

并具有调试程序的经验。

VB程序设计教程(第3版)本书目录今、章目录47

4.6.2调试和排错

VB的三种模式

1、设计模式(设计)

可以进行程序的界面设计、属性设置、代码编

写等。

2、运行模式(运行)

执行启动命令进入运行模式。在此阶段,可以

查看程序代码,但不能修改。

3、中断模式(Break)

执行中断命令,进入中断模式。在中断模式下

可以查看代码、修改代码、检查数据。

VB程序设计教程(第3版)本书目录今、章目录48

调试和排错■插入断点

VB程序设计教程(第3版)本书目晏,、^章目暴、.

本章小节

■结构化程序设计三种结构

顺序结构、选择结构、循环结构

If■■■Then语句、SelectCase语句、For与

D。循环语句

■赋值语句与复合赋值语句

B数据输出和输入

lnputBox>MsgBox

■常用算法

素数判定、级数求和、试凑法、迭代法解方程

VB程序设计教程(第3版)本书目

思考题

1.结构化程序设计有哪三种基本结构?

2.MseBox与InputBox有何区别?

3.多分支If语句与SelectCase语句有何区别?

4.如果事先不知道循环次数,如何用

For…Next结构实现循环?

5.语法错误、运行时错误和逻辑错误之间有何

区别?

VB程序设计教程(第3版)忝书目录章目录

第5章数组和自定义类型

5・1数组的概念

5・2数组的基本操作和排序

5・3列表框和组合框控件

5・4自定义类型及其数组

5・5综合应用

VB程序设计教程(第3版)本书目录补一章目录

.ng5,1数组的概念

1.引例

例5.1求100个学生的平均成绩,并统计高于平均分的

人数。用简单变量和循环,求平均成绩程序段如下:

aver=0

Fori=1To100

mark=lnputBox("输入学生成绩")

aver=aver+mark

Nexti

aver=aver/100

问题

(1)mark只能放一个堂生的成绩,无法统计高于平均

分的人数。|mark

(2)若用简单变量保存100个学生的成绩,则需定义

100个变量和仲用100句输入语句。由此引入了数组。

VB程序设计教程(第3版)O本书目数

用数组解决问题的程序如下:

Dimmark(99)AsIntegerv声明数组mark

Dimaver!,overn%,i%

aver=0

Fori=0To99'输入成绩,求分数和

mark(i)=lnputBox("输入学生的成绩”)

aver=aver+mark(i)

Nexti

aver=aver/100'求100人的平均分

overn=0

Fori=0To99'统计高于平均分的人数

Ifmark(i)>averThenovern=overn+1

Nexti

MsgBox(”平均分:"&aver&”高于平均分人数:”&

overn)

mark(0)mark(1)mark(2)...mark(98)mark(99)

VB程序设计教程(第3版)本书目录补一章目录54

数组:不是一种数据类型,而是一组相同类

型的变量的集合。

作用:用一个数组名代表逻辑上相关的一

批数据,用下标表示该数组中的各个元素,

和循环语句结合使用,使得程序书写简洁。

使用:必须先声明后使用

VB程序设计教程(第3版)本书目录今、章目录

56.2数组声明

一维数组

Dim数组名([下标下界To]上界)[As类型]

说明:下标下界缺省为0,下标上界为常数。

数组大小为:下标上界•下标下界+1。

作用:声明了数组名、类型、维数、数组大小

在内存分配一块连续的区域。

VB程序设计教程(第3版)本书目录补一章目录56

例:Dimmark(99)AsInteger

声明了一维定长整型数组mark,

共有100个元素,下标范围为0To99;

mark数组的各元素是mark(0),mark(1)

mark(99);

markji)亲示由下标i的值决定是哪一个元素。

mark薮组内存分配如下:

mark(0)mark(1)mark(2)•••mark(98)mark(99)

每个数组元素有一个唯一的顺序号,下标不能超

出数组声明时的上、

下界范围,否则会产生“下标越界”错误。数组

元素的使用规则与同类型的简单变量相同

VB程序设计教程(第3版)O本书目史八一章目'.

多维数组声明

Dim数组名(([下标1下界To]上界1,([下标下界2To]

上界2…)[As类型]

下标数决定了数组的维数,数组的大小为每一维大小

的乘积。

例Dimx(2,4)AsLong

声明了一个长整型的二维数组x;共占据3X5个长整

型变量的空间..

x(0,0)x(0,1)x(0,2)x(0,3)x(0,4)

x(1,0)x(1,1)x(1,2)x(1,3)x(1,4)

x(2,0)x(2,1)x(Z2)x(2,3)x(2,4)

VB程序设计教程(第3版)本书目受章目

5.1.3动态数组及声明

建立动态数组要分两步:

用Dim语句声明数组,但不能指定数组大小

Dim数组名()As数据类型

用ReDim语句动态地分配元素个数

ReDim数组名(下标[,下标2…])

例:Dims()AsSingle

SubForm_Load()

•••

ReDims(4,8)

EndSub

VB程序设计教程(第3版)本书目录补一章目录59

定义动态数组大小注意:

Dim是说明语句,可出现在程序的任何地

方,而ReDim是执行语句,只能在过程中

在过程中可多次使用ReDim语句来改变数

组的大小,但不能改变维数和类型

♦可在ReDim后加Preserve参数用来保留

数组中的数据,若使用Preserve参数后,只

能改变最后一维的大小。

例5.2编一个程序,显示有n个数的非波那契数

序列

VB程序设计教程(第3版)出本书目史?7章目臬

5.2数组的基本操作

1、数组的输入

通过TextBox控件或InputBox函数输入

Dims(3,4)ASInteger

Fori=0To3

Forj=0To4

s(IJ)=InputBox("输入,,&i&“「&j&11元素”)

Nextj

Nexti

VB程序设计教程(第3版)本书目录补一章目录

2、数组的输出

例5.3形成5x5的方阵,分别输出方阵中各元素、上

三角和下三角元素

BFOXMI0回区)

1产0生方阵数据34|显示o上三1角数2组3元钉4|显0示下三角数组元素

5678967895ir

l*

101112A13A14A12XI31410A1*1

116112

5171819Xe8195*1

20212223242420011718

^A222324

方阵规律:第一行的元素为04,以后每一行是前一

行对应元素增加5

上三角规律:每一行的起始列与行号相同,只要控制

内循环的初值

用Tab函数或Space定位控制输出的空格,

VB程序设计教程(第3版)

3、求数组和、最值、位置

例5.4求一维数组中各元素之和、最小数组元素,

并将最小值数组元素与数组中第一个元素交换

♦:♦求元素

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论