⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 10.htm

📁 vb基础教程源文件 处学者必备
💻 HTM
📖 第 1 页 / 共 3 页
字号:
  </td>
  <td width=288 valign=top style='width:216.0pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim aa=Array(1,2,3,4,5,6,7) </span></p>
  </td>
 </tr>
 <tr>
  <td width=295 valign=top style='width:221.25pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim aa()=Array(1,2,3,4,5,6,7) </span></p>
  </td>
  <td width=288 valign=top style='width:216.0pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim aa=Array(1,2,3,4,5,6,7) </span></p>
  </td>
 </tr>
</table>

<p><strong><span lang=EN-US>5 .如何获得数组的上界、下界 </span></strong></p>

<p><span lang=EN-US>Aarry 函数可方便地对数组整体赋值,但在程序中如何获得数组的 - 上界、下界,以保证访问的数组元素在合法的范围内,可使用
UBound 和 LBound 函数来决定数组访问。 </span></p>

<p>在上例中,若要打印<span lang=EN-US> a 数组的各个值,可通过下面程序段实现: </span></p>

<p><span lang=EN-US>For i=Lbound(A) To Ubound(A) </span></p>

<p><span lang=EN-US>Print a(i) </span></p>

<p><span lang=EN-US>Next l </span></p>

<p><strong><span lang=EN-US>6 .给数组赋值 </span></strong></p>

<p><span lang=EN-US>VB6.0 提供了可对数组整体赋值的新功能,方便了数组对数组的赋值操作。但真正使用不那么方便,有不少限制。数组赋值形式如下:
数组名 2= 数组名 1 </span></p>

<p>这里的数组名<span lang=EN-US> 2 ,实际上在前面的数组声明时,只能声明为 Varian 的变量,赋值后的数组 2 的大小、维数、类型同数组名
1 ;否则,若声明成动态或静态的数组,例如: </span></p>

<p><span lang=EN-US>Dim 数组名 2() 或 Dim 数组名 2 ( 下标 ) </span></p>

<p>程序在运行到上述赋值语句时显示<span lang=EN-US> &quot; 不能给数组赋值 &quot; 的出错信息。 </span></p>

<p class=MsoNormal><span lang=EN-US><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>

<p align=center style='text-align:center'><strong>第五章 数 组 </strong></p>

<p><strong><span lang=EN-US>5.1 知识要点 </span></strong></p>

<p><strong><span lang=EN-US>1 .数组的概念 </span></strong></p>

<p><strong>数组 </strong>:存放具有相同性质的一组数据,也就是数组中的数据必须是同一个类型和性质。 </p>

<p><strong>数组元素 </strong>:数组中的某一个数据项。数组元素的使用同简单变量的使用。 </p>

<p><strong><span lang=EN-US>2 .静态数组的声明 </span></strong></p>

<p><strong>静态数组 </strong>:在声明时已确定了数组元素个数。 </p>

<p><strong>声明形式 </strong>:<span lang=EN-US> Dim 数组名 ([ 下界 To] 上界 [ , [ 下界 To] 上界
[ ,… ]])As 类型 </span></p>

<p>此语句声明了数组名、数组维数、数组大小、数组类型。 </p>

<p><strong><span lang=EN-US>[ 注意 ] </span></strong>下界、上界必须为常数,不能为表达式或变量:省略下界,默认为<span
lang=EN-US> 0 ,也可用 Option Base 语句重新设置下界的值。 </span></p>

<p><strong><span lang=EN-US>3 .动态数组的声明 </span></strong></p>

<p><strong>声明形式 </strong>:<span lang=EN-US> Dim 数组名 () </span></p>

<p><span lang=EN-US>ReDim [Preserve] 数组名 ([ 下界 To] 上界 [ , [ 下界 To] 上界 [ ,… ]]) </span></p>

<p><strong><span lang=EN-US>[ 注意 ] </span></strong></p>

<p>此时的上界、下界可以是赋了值的变量或表达式。若有<span lang=EN-US> Preserve 关键字,表示当改变原有数组最末尾的大小时,使用此关键字可以保持数组中原来的数据。
</span></p>

<p><strong><span lang=EN-US>4 .控件数组 </span></strong></p>

<p>即相同类型的控件组成的数组。 </p>

<p><strong>控件数组的建立 </strong>:在设计时的窗体上,通过对某控件的复制和粘贴操作:在程序运行时通过<span lang=EN-US>
Load 方法实现。 </span></p>

<p><strong>控件数组元素 </strong>:由控件的<span lang=EN-US> Index 属性值表示数组的 F 标。 </span></p>

<p><strong><span lang=EN-US>5 .数组的操作 </span></strong></p>

<p>应掌握的基本操作有:数组初始化、数组输入、数组输出、求数组中的最大<span lang=EN-US> ( 最小 ) 元素及下标、求和、平均值、排序和查找等。
</span></p>

<p><strong><span lang=EN-US>5.2 常见错误和难点分析 </span></strong></p>

<p><strong><span lang=EN-US>1 . Dim 数组声明 </span></strong></p>

<p>有时用户为了程序的通用性,声明数组的上界用变量来表示,如下程序段: </p>

<p><span lang=EN-US>n=InputBox(&quot; 输入数组的上界 &quot;) </span></p>

<p><span lang=EN-US>Dim a(1 To n) As Integer </span></p>

<p>程序运行时将在<span lang=EN-US> Dim 语句处显示 &quot; 要求常数表达式 &quot; 的出错信息。即 Dim 语句中声明的数组上,下界必须是常数,不能是变量。
</span></p>

<p>解决程序通用的问题,一是将数组声明的很大,这样浪费一些存储空间;二是利用动态数组,将上例改变如下: </p>

<p><span lang=EN-US>Dim a() As Integer </span></p>

<p><span lang=EN-US>n=InputBox (&quot; 输入数组的上界 &quot;) </span></p>

<p><span lang=EN-US>ReDim a(1 To n)As Integer </span></p>

<p><strong><span lang=EN-US>2 .数组下标越界 </span></strong></p>

<p>引用了不存在的数组元素,即下标比数组声明时的下标范围大或小即为越界。例如,要形成有如下<span lang=EN-US> 30 项的斐波那契数列: </span></p>

<p><span lang=EN-US>1,1,2,3,5,8,13,21,34, … ,317811 , 514229 , 832040 </span></p>

<p>正确的程序段如下: </p>

<p><span lang=EN-US>Dim a(1 To 30) As Long, i% </span></p>

<p>若将<span lang=EN-US> For i=3 To 30 改为 For i=1 To 30 ,程序运行时会显示 &quot; 下标越界
&quot; 的出错信息,因为开始循环时 i=l ,执行到循环体语句 a(i)=a(i-2)+a(i-1) ,数组下标 i-2 、 i-1 均小于下界 1 。
</span></p>

<p>同样若将上例:<span lang=EN-US> a(i)+a(i-2)+a(i-1) 语句改为: a(i+2)=a(i)+a(i+1) </span></p>

<p>程序运行时也会显示<span lang=EN-US> &quot; 下标越界 &quot; 的出错信息,这时是数组下标大于上界 30 。 </span></p>

<p><strong><span lang=EN-US>3 .数组维数错 </span></strong></p>

<p>数组声明时的维数与引用数组元素时的维数不一致。例如,下程序段为形成和显示<span lang=EN-US> 3 × 5 的矩阵: </span></p>

<p><span lang=EN-US>Dim a(3,5) As Long </span></p>

<p><span lang=EN-US>For i=1 To 3 </span></p>

<p><span lang=EN-US>For j=1 To 5 </span></p>

<p><span lang=EN-US>a(i)=i*j </span></p>

<p><span lang=EN-US>Print a(i);&quot;&quot;; </span></p>

<p><span lang=EN-US>Next j </span></p>

<p><span lang=EN-US>Print </span></p>

<p><span lang=EN-US>Next i </span></p>

<p>程序运行到<span lang=EN-US> a(i)=i*j 语句时出现 &quot; 维数错误 &quot; 的信息,因为在 Dim 声明时是二维数组,引用时的一个下标。
</span></p>

<p><strong><span lang=EN-US>4 . Aarry 函数使用问题 </span></strong></p>

<p><span lang=EN-US>Aarry 函数可方便地对数组整体赋值,但此时只能声明 Variant 的变量或仅由括号括起的动态数组。赋值后的数组大小由赋值的个数决定。
</span></p>

<p>例如,要将<span lang=EN-US> 1 , 2 , 3 , 4 , 5 , 6 , 7 这些值赋值给数组 a ,下表列出了三种错误及相应正确的赋值方法。
</span></p>

<p align=center style='text-align:center'><span lang=EN-US>Aarry 函数表示方法 </span></p>

<table border=1 cellspacing=0 cellpadding=0 style='mso-cellspacing:0cm;
 border:solid windowtext .5pt;mso-padding-alt:0cm 0cm 0cm 0cm'>
 <tr>
  <td width=295 valign=top style='width:221.25pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p align=center style='text-align:center'>错误的<span lang=EN-US> Aarry 函数赋值 , </span></p>
  </td>
  <td width=288 valign=top style='width:216.0pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p align=center style='text-align:center'>改正的<span lang=EN-US> Aarry 函数赋值 </span></p>
  </td>
 </tr>
 <tr>
  <td width=295 valign=top style='width:221.25pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim a(1 To 8) a=Array(1,2,3,4,5,6,7,8) </span></p>
  </td>
  <td width=288 valign=top style='width:216.0pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim a( ) a=Array(1,2,3,4,5,6,7) </span></p>
  </td>
 </tr>
 <tr>
  <td width=295 valign=top style='width:221.25pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim a As Integer a=Array(1,2,3,4,5,6,7) </span></p>
  </td>
  <td width=288 valign=top style='width:216.0pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim aa=Array(1,2,3,4,5,6,7) </span></p>
  </td>
 </tr>
 <tr>
  <td width=295 valign=top style='width:221.25pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim aa()=Array(1,2,3,4,5,6,7) </span></p>
  </td>
  <td width=288 valign=top style='width:216.0pt;border:solid windowtext .75pt;
  padding:0cm 0cm 0cm 0cm'>
  <p><span lang=EN-US>Dim aa=Array(1,2,3,4,5,6,7) </span></p>
  </td>
 </tr>
</table>

<p><strong><span lang=EN-US>5 .如何获得数组的上界、下界 </span></strong></p>

<p><span lang=EN-US>Aarry 函数可方便地对数组整体赋值,但在程序中如何获得数组的 - 上界、下界,以保证访问的数组元素在合法的范围内,可使用
UBound 和 LBound 函数来决定数组访问。 </span></p>

<p>在上例中,若要打印<span lang=EN-US> a 数组的各个值,可通过下面程序段实现: </span></p>

<p><span lang=EN-US>For i=Lbound(A) To Ubound(A) </span></p>

<p><span lang=EN-US>Print a(i) </span></p>

<p><span lang=EN-US>Next l </span></p>

<p><strong><span lang=EN-US>6 .给数组赋值 </span></strong></p>

<p><span lang=EN-US>VB6.0 提供了可对数组整体赋值的新功能,方便了数组对数组的赋值操作。但真正使用不那么方便,有不少限制。数组赋值形式如下:
数组名 2= 数组名 1 </span></p>

<p>这里的数组名<span lang=EN-US> 2 ,实际上在前面的数组声明时,只能声明为 Varian 的变量,赋值后的数组 2 的大小、维数、类型同数组名
1 ;否则,若声明成动态或静态的数组,例如: </span></p>

<p><span lang=EN-US>Dim 数组名 2() 或 Dim 数组名 2 ( 下标 ) </span></p>

<p>程序在运行到上述赋值语句时显示<span lang=EN-US> &quot; 不能给数组赋值 &quot; 的出错信息。 </span></p>

</div>

</body>

</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -