博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态数组的声明与例子练习
阅读量:4050 次
发布时间:2019-05-25

本文共 2004 字,大约阅读时间需要 6 分钟。

数组的定义与声明

在使用数组之前,一般要声明数组,当然也可以采用隐式声明的方法。声明数组的方法与声明各种类型的变量一样,可以用DimPrivatePublicStatic来声明,只不过声明数组时需要设置数组的上下界,也就是数组下标索引的起始值和中止值。

1)静态数组:

其声明的语法如下:

    Dim│Private│Public│Static  数组名([下标下界 To]下标上界) [As 数据类型]

说明:

数组名后是圆扩弧  扩起来,不能采用其它符号。

如果不指明数组的下标下界,系统默认为是0,数组的下标上界,使用长整型(Long)数据,在VB中规定上界不得超过2147483647

下标的下界不能大于下标的上界;

可以用变量名或常数名(以及实数)作为下标边界,当下标的边界是常数名时,数组的大小固定(静态数组),当下标的边界是变量名时,数组的大小可作动态定义(动态数组)。

Dim A(10) As Integer '表示数组名为A,缺省下标界为0,上界为10的有11个整型元素的数组,即:从A0),A1)到A10);

Dim B(1 To 20) As Integer'表示数组名为B,下标下界为1,下标上界为20的,有20个整型的元素;

Dim BirthDay (1 To 10) As Date '表示BirthDay是一个索引从110Date型数组。

Dim DayArray (50)'表示变量是一个有51个索引元素的Variant数组;

Public Class (10) As String '声明一个长度为11的全局整型数组Class

Dim Matrix(3,4) As Integer '表示变量是一个二维整型数组;

Dim MyMatrix(1 To 5,4 To 9, 3 To5) As Double '表示变量是一个显示指定了上下界的三维double数组;

为数组赋初值可以采用循环语句。如:

    Dim I As Integer

            For I=0 To 11
        CI=I      'C0)、C1)、……C11
    Next I

例:下面的练习使用一个名为Temperatures的一维公用数组来记录一周七天的日最高气温。

界面:

在窗体上添加3个命令按钮,窗体的AutoRedraw属性设定为True——当使用Print方法在窗体中显示信息时,始终将窗体的AutoRedraw属性设定为True。这样,当窗体被另一个窗口遮盖然后该窗体重新显示时,VisualBasic将自动重新绘制屏幕。

注:没有使用强制声明“Option Explicit”语句。

代码:

Dim Temperatures(6) As Variant

Private Sub Command1_Click()
    Cls
    Prompt$ = "Enter the high temperature."
    For i% = 0 To 6
        Title$ = "Day" & i%
        Temperatures(i%) = InputBox(Prompt$, Title$)
    Next i%
End Sub
Private Sub Command2_Click()
    Cls
    Print "High Temperatures for the week:"
    Print
    For i% = 0 To 6
        Print "Day "; i%, Temperatures(i%)
        Total! = Total! + Temperatures(i%)
    Next i%
    Print
    Print "Average high temperature: "; Total! / 7
End Sub

Private Sub Command3_Click()

    End
End Sub

说明:该程序是演示如何在程序中使用数组存放和处理一组相关数值。通过使用InputBox函数和For...Next循环,气温值被赋值给数组。循环中循环计数器被用来索引数组中的每个元素。数组内容通过使用For...Next循环和Print(打印)方法显示在窗体中,接着平均最高气温就被计算并显示出来了。

也可利用For循环嵌套有效地处理多维数组。例:

    Dim i As Integer,j As Integer  '设置计数器

    Dim class(14) As String  '定义班级名称数组
    Dim studentname(14,35) As String 
'定义学生姓名数组
    ……   '为班级数组赋值
    ……   '为学生数组赋值
    For i=0 To 14
            For j=0 To 35 
                If studentname(i,j)
"张三" Then
                        MsgBox "
张三在"class(i)
                    End If
                Next j
    Next i

 

转载地址:http://rxdci.baihongyu.com/

你可能感兴趣的文章
Node.js机制及原理理解初步
查看>>
linux CPU个数查看
查看>>
分布式应用开发相关的面试题收集
查看>>
简单理解Socket及TCP/IP、Http、Socket的区别
查看>>
利用HTTP Cache来优化网站
查看>>
利用负载均衡优化和加速HTTP应用
查看>>
消息队列设计精要
查看>>
分布式缓存负载均衡负载均衡的缓存处理:虚拟节点对一致性hash的改进
查看>>
分布式存储系统设计(1)—— 系统架构
查看>>
MySQL数据库的高可用方案总结
查看>>
常用排序算法总结(一) 比较算法总结
查看>>
SSH原理与运用
查看>>
SIGN UP BEC2
查看>>
S3C2440中对LED驱动电路的理解
查看>>
《天亮了》韩红
查看>>
Windows CE下USB摄像头驱动开发(以OV511为例,附带全部源代码以及讲解) [转]
查看>>
模拟屏学习资料_什么是PAL制式
查看>>
模拟屏学习资料_模拟视频 入门
查看>>
西藏之旅
查看>>
Oracle中定时执行问题
查看>>