分享

全国计算机二级VB复习资料

 Amosal 2011-08-01

VB复习

§1、VB的特点、运行环境、对象、属性、方法、事件各概念,尤其是方法和事件的区分。

熟悉VBIDEVB开发应用程序的一般步骤。

特点:GUI(集成开发环境)、OLE(对象的连接和嵌入)、OOP(面向对象);

运行环境:WindowsVB5.0以上在32位操作系统)

方法:对象可以执行的动作或行为;(主动性

事件:使某个对象进入活动状态的一种操作或动作。(被动性

例题:

1、VB的使用目的是(     )。

A. 开发Windows应用程序 B.图象处理

C.制作WAV文件 D.文字处理

2、一个对象可以执行的动作和可被对象识别的动作分别称为(     )。

A.方法、事件 B.事件、方法 C.方法、属性 D.事件、属性

3、一只白色的足球被踢进球门,则白色、足球、踢、进球门是(    )。

A. 属性、对象、方法、事件 B.属性、对象、事件、方法

C.对象、属性、方法、事件 D.对象、属性、事件、方法

§2、熟练应用窗体、控件。掌握窗体的常用方法(HideShowPrintClsRefreshMove)、属性和事件(LoadActivateClick)

Load事件、Unload事件、End语句

常用控件:CommandButton(DefaultCancelEnabledStyle

DisabledPictureDownPicture)Label(AutoSize)TextBox(Alignment、MaxLengthPasswordCharMultilineScrollBars注:Multiline=True)OptionButton(Value)ListBox(属性:list\listcount\listindex\selected、方法:AddItemRemoveItemClear)ComboBoxP27)、HscrollBarVscrollBarminMaxValue)、PictureBox(print方法)Timer(运行时不可见、只有Timer事件、Interval)方法、属性、事件的掌握。

容器控件:FormPictureFrame 特殊控件:菜单的使用(只响应Click事件

1、以下窗体名中哪些是非法的窗体名(    )。

对象名命名规则:以字母汉字开头,后面可以是字母数字下划线汉字。(变量名类似)

A_aform B3frm Cf_1 Dfrm 5 Ef_1*

2、一个名称为myfrm,标题属性为form1的窗体,它的单击事件名应为(    )。

A. myfrm_click B.form1_click

C.form_click D.me_click

3、执行下面语句:print “5*20” 的结果是(     )。

A.“5*20” B.出现错误信息 C.5*20 D.100

4、下列语句代码哪一些可正常执行(正常执行是指系统不给出出错提示);

A、Print 32765 + 3 B、Print 5 + 7 = 14

C、Print 256 / 128 D、Print "14" + 12    E、Print "14" & 12    

5、以下使用方法的代码中,正确的是(    )。

ALabel1.Setfocus BForm1.Clear

C、Text1.SetFocus D、Combo1.Cls

6、在程序中可以通过复选框和单选按钮的(    )属性值来判断他们的当前状态。

A. Caption    B.Value C.Checked D.Selected

7、将复选框的Value属性设为"2",其效果与把它的Enabled属性设为"False"有何异同?若把一个控件的Visible属性设为"False",意味着什么?

8、当用户单击命令按钮时,(    )属性可以使得命令按钮对激发事件无效。

A. Name B.Enabled   C.Default D.Cancel

9、在文本框Text1Text2中分别输入3548,变量S与X分别为字符型与整型,以下赋值语句的执行结果是什么?

s = Text1.Text + Text2.Text x = Text1.Text + Text2.Text

s = Text1.Text & Text2.Text x = Text1.Text & Text2.Text

s = Val(Text1.Text) + Text2.Text

x = Val(Text1.Text) + Text2.Text

s = Val(Text1.Text) & Text2.Text

x = Val(Text1.Text) & Text2.Text

§6、错误类型:语法、运行、逻辑;调试工具:“本地”、“监视”、“立即”窗口的功能?

1、下列错误中,哪个在输入代码时系统能够提示(    )。

A. 语法错误 B.编译错误

C.运行错误 D.逻辑错误

§3、1  过程与模块

                                       窗体事件过程               

                     事件过程

                                       控件事件过程

过程                                                        

                                  Sub子过程

                     通用过程    Function函数过程

                                   Property属性过程             

窗体模块 .frm

模块 标准模块 .bas

类模块   .cls

1、下列模块中哪个是一个工程必须具备的(     )。

A. 窗体模块 B.标准模块 C.类模块 D.用户自定义模块

2 语言基础

一、 书写规范:""间隔符号、续行符号" _"、注释符号""

二、 数据:数据类型、关键字、存储单位、初值。

数值常量  &O (8)    &H(16)

字符常量  ""                        命名规则   局部       Dim/Static

常量   逻辑常量                      变量  作用域     窗体/模块   Dim/Private

日期常量   #//#                          全局(共有)Public

符号常量: Const关键字              说明语句 Dim a As Single

例如:1、在窗体或标准模块的通用声明处可以用_______语句定义变量。

A. DimRedim B. DimStatic

C. DimPrivatePublic D. DimPrivateStatic

注意:在窗体类模块中,不能将定长字符串、符号常量、数组Public来定义。

隐式说明的六个符号:%&#@$

例:m1&=5*x%\3+x% mod y%   m1&="5*x%\3+x% mod y%"的正确性

Option Explicit 语句功能:强制变量的声明

例题:

1、下列字符串中(    )是合法变量

A.char_1,student,no,a1234 B.exp,123a,x*y

C.x\y,x>y D.end,lbcx

三、 运算符与表达式

算术      ^-(负号)*、/\Mod+-&

                 例如:8\4*-2+1

关系

逻辑     NotAndOrXor 

 注意:代数表达式与VB表达式的转换。

   例如:ex+y+|x+y|

          2π+1

四、 VB公共函数

  算术:SqrLogExpAbsRndSinCos

 字符:LenleftRightMidUcaseLcaseLtrimRtrimTrimInstrStringSpace

 转换:StrValChrAscIntCint

 日期:DateTimeNowYearMonthDayWeekDay

例如:

1、设s1,s2均为字符串变量,s1=”Visual Basic”,s2=”b”,则下面关系表达式中结果为True的是(    )。

A.Mid(s1,8,1)>s2 B.Len(s1)<>2*Instr(s1,”l”)

C.Chr(66) & Right(s1,4)=”Basic”

D.Instr(Left(s1,6),”a”)+60>Asc(Ucase(s2))

2、求出下列表达式的运算结果;

A.Mid("visual basic", 1, 12) = Right("Programming language visual basic", 12)

B. "ABCRG" >= "abcde" C. Int(134.69) >= CInt(134.69)

D. 78.9 / 32.77 <= 97.5 / 43.87 And -45.4 > -4.98

E. Str(32.345) = CStr(32.345)

3、VB只有求自然对数的函数Log(x),如果计算式中需要使用常用对数或以2为底的对数,应如何处理?(使用换底公式)

----------------------------------------------------------------------

§4、算法概述

算法特征:确定、可行、有穷、输入、输出

算法结构:顺序、分支、循环

① 分支结构

1、If e then A    If e then

等价于 A

End If

2

例如:1、if 语句: 

Private Sub Form_Click()

Dim x As Integer, y As Integer

Dim z As Single

x = 0.2

y = 1

If (x >= 1) Then

 z = Log(x)

ElseIf x >= 0 And x < 1 And y >= 0 Then

 z = 2 * x - y

Else

 z = Exp(x + y)

End If

Print "z=" + Str(z)

End Sub

结果: z=-1

2Select  Case语句

Private Sub Form_Click()

Dim ch As String, i As Integer

ch = "c"

Select Case ch

   Case "A", "a"

      i = 1

   Case "B", "b"

      i = 2

   Case "C", "c"

      i = 3

  Case "D", "d"

      i = 4

Case Else

     i = 5

End Select

Print "运行结果" + Ucase(ch) + Str(i)

End Sub

结果:运行结果C3

② 循环结构

1、For------Next       (循环次数的计算)

特例:

例如:有循环:for I=n1 to n2 step n3 下列哪些语句会影响循环次数(   )

A. n1=n1+I

B. n3=2*n3

C. n2=n2+n3

D. I=I+n3

2、Do------Loop        (While,Until)

例如:运行下面的程序,单击窗体后在窗体上的内容是(   );若将程序中的A语句与B语句的位置互换,再次执行程序,单击窗体后在窗体上显示的内容是(  )

Private Sub Form_Click()

Dim a As Integer, b As Integer

a = 0: b = 0

Do While a <= 8

  a = a + 2           'A语句

  b = b + a * a       'B语句

Loop

Print a, b

End Sub

例如:窗体上显示的结果:

Private Sub Form_Click()

    Dim p As Integer, i As Integer, n As Integer

    p = 2: n = 20

    For i = 1 To n Step p

        p = p + 2

        n = n - 3

        i = i + 1

        If p >= 10 Then Exit For

    Next i

    Print i, p, n

End Sub

五、 InputBox函数

MsgBox函数    (注意参数含义及顺序)

x=InputBox(_____,______,_______)

写出显示下图信息框的MsgBox函数

§5、数组

1、数组的上、下界:Ubound()Lbound()   2、数组的大小的计算、数组的结构:(二维数组:以列存放)  3、Erase语句:重新初始化静态数组的元素、或释放动态数组的存储空间。   4、For Each –Next结构语句   5、用Array函数给数组赋值(只能给Variant类型的变量赋值)  6、控件数组(load/Unload Object(Index)

         动态数组      (Redim语句)

数组分类:

         固定大小数组 Option Base语句功能

Preserve语句功能 

例如:

n数组重点算法

n一数组,求其中最大和最小;n对一数组排序(选择法、冒泡法、直接排序法)

n在一数组中查找指定的数(顺序二分查找);n删除一数组中重复的数

2、在窗体模块的通用声明处用下面的语句声明变量、数组、正确语句有(    )个。

A.Public a(5) as integer B.Public n as integer

C.Public st as string*10 D.Private b() as integer

3、下列语句中的(    )语句可以用来正确地声明一个动态数组。

A.Private A(n) as integer B.Dim A() as integer

C.Dim A(,) as integer D.Dim a(1 to n)

4、下列关于数组的说法中正确的是(    )。

A.在过程中,不能用private语句定义数组

B.利用Redim语句重新定维时,不得改变已经说明过的数组的数据类型。

C.数组重新定维后,原有的数据元素内容将不予保留

5、过程的形参为数组时,以下定义语句中正确的是(        )。

A.private sub sort(a() as integer)

B.private sub sort(a(10) as integer)

C.private sub sort(a(,) as integer)

D.private sub sort(byval a() as integer)

6、某过程的说明语句中,正确的数组说明语句是______

Const N As Integer=4  : Dim L As Integer

Dim x(L) As Integer

Dim A(K) As Integer

Const K As Integer=3

Dim B(N) As Integer

④ Dim Y(2000 To 2008) As Integer

A. ①②④ B.①③④ C.③④ D.②③

§8、过程与函数

子过程

函  数

注意

F按值传递参数

形参和实参的类型不一定要统一,VB自动进行数据的转换

–例如:Private Sub Form_Click()

    Dim a As String :    a = 2

    Call sub1(a)

    Print a

End Sub

Private Sub sub1(ByVal b As Integer)

    b = b + 1    :   Print b

End Sub

F按地址传递参数

当实参是变量时:如果形参规定了类型,则实参必须跟形参保持一致

如果形参没有规定类型,则VB按要求进行数据类型转换

当实参是常量或表达式时:

VB自动用按值传递的方式进行处理,如果数据类型不统一,VB自动进行数据转换                  

例如:1、在应用程序中用“Private function Fun(X as integer,Y as single)”定义了函数Fun。调用函数Fun的过程中的变量IJ均为Integer型,能正确引用函数Fun的是(      )

A.Fun(I,J)     B.Call Fun(I,3.56)   C.Fun(3.14,234)   D.Fun("245","231.5")

2.程序中的不同过程之间,不能通过_________进行数据传递。

①全局变量 ②窗体或模块级变量 ③形参与实参结合  ④静态变量

A. ①②④  B. ①②③ C.②④ D.

二级考试必考题型:(课后习题)

传值 传地址 Static变量 同名变量 递归过程

例如:

1、以下有关变量作用域的说法中,错误的是(    )

A. 只有在标准模块中用public语句说明的变量才是全局变量

B. 在过程中不能使用public语句说明全局变量

C. 在标准模块的通用声明处可用private语句说明模块级变量

D. 在窗体的通用声明处可用private语句说明窗体级变量

2.一个名为frm1的窗体,在窗体通用声明处和过程sub1中分别定义:public k as integerdim k as integer如何在sub1中访问全局变量k(     )

A.frm1.k B.form.k  C.form1.k D.k

:阅读程序,给出输出结果:

(1)字符串处理(数组参数)

Option Base 1

Private Sub Form_Click()

    Dim st As String, char As String

    Dim data() As String, i As Integer, j As Integer

    st = "10281018123811181038"

    For i = 1 To Len(st)

        If Mid(st, i, 1) <> "8" Then

            char = char & Mid(st, i, 1)

        Else

            j = j + 1

            ReDim Preserve data(j)

            data(j) = char

            char = ""

        End If

    Next i

    Call conver(data, char)

    Print char

End Sub

Private Sub conver(a() As String, ch As String)

Dim i As Integer, j As Integer

Dim n As Integer, dec As Integer

    For i = 1 To UBound(a)

        n = Len(a(i))

        For j = 1 To n

            dec = dec + Val(Mid(a(i), j, 1) * 8 ^ (n - j))

        Next j

        ch = ch & Chr(dec)

        dec = 0

    Next i

End Sub

(2)static变量

Private Sub Command1_Click()

    Dim n As Integer, i As Integer

    n = 2

    For i = 9 To 1 Step -1

        Call sub2(i, n)

        Print i, n

    Next i

End Sub

Private Sub sub2(x As Integer, y As Integer)

    Static n As Integer

    Dim i As Integer

    For i = 3 To 1 Step -1

        n = n + x

        x = x - 1

    Next i

    y = y + n

End Sub

(3) 递归

Private Sub Command1_Click()

   Dim a As Integer

   a = 2

   Call sub1(a)

End Sub

Private Sub sub1(x As Integer)

    x = x * 2 + 1

    If x < 10 Then

        Call sub1(x)

    End If

    x = x * 2 + 1

    Print x

End Sub

(4)递归

Private Sub test(x As Integer)

    Dim i As Integer

    If x <> 0 Then

        Call test(x - 1)

        For i = 1 To x

            Print x;

        Next i

        Print

    End If

End Sub

Private Sub Form_Click()

    test 3

End Sub

5)同名变量

Dim y As Integer

Private Sub Form_Click()

Dim x As Integer,y as integer

x=1 : y=1

Print "x1=";x, "y1=";y

Test

Print "x4=";x, "y4=";y

   End Sub

Private Sub Test()

Dim x As Integer

Print "x2=";x, "y2=";y

x=2 : y=3

 Print "x3=";x,"y3=";y

End Sub

特例:

1、运行程序在窗体显示的结果是:

Private Sub Form_Click()

Dim a As Integer, b As Integer

a = 3: b = 4

Call sub1(a, a)          

Print a, b

Call sub1(b, b)

Print a, b

End Sub

Private Sub sub1(x As Integer, y As Integer)

x = x + 2

y = x + y

End Sub

2、运行程序单击窗体,在窗体上显示的内容是:16  20

Private Sub Form_Click()

Dim n As Integer, m As Integer

n = 1: m = 2

Print n + m + f(n, m) ;    

'优先执行f函数,n,m变化后再运算 “+”

n = 2: m = 1

Print f(n, m) + f(m, n)    

'n,m第一次变化后,第二次以变化后的值再调用

End Sub

Private Function f(n As Integer, m As Integer)

n = n + m

m = m + 3

f = n + m

End Function

3、执行下面的程序,在窗体上显示的输出结果是______;如果将A语句改成:Call sub1(b+1,a),则在窗体上显示的输出结果是______

Private Sub Form_Click()

    Dim a As Integer, b As Integer

    a = 1:   b = 2

    Call sub1(a, b)       'A

    Print a, b

End Sub

Private Sub sub1(x As Integer, ByVal y As Integer)

    x = x + y

    y = x + y

End Sub

§7、文件管理控件

文件处理    顺序文件和随机文件的打开(open)语句,EOF函数,读写语句。

do while not eof(1) do until eof(1)

print #1, write #1,

input #1,a,b,c line input #1,s input(#1,100)

get #1,a put #1,”af”

打开方式:

顺序文件Open "文件路径+文件名(包括文件后缀)" For Output As #1-511

Open "文件路径+文件名(包括文件后缀)" For Append As #1-511

Open "文件路径+文件名(包括文件后缀)"For Input As #1-511

随机文件:Open "文件路径+文件名(包括文件后缀)"For Random As #1-511
二进制文件:Open "文件路径+文件名(包括文件后缀)"For Binary As #1-511

Open语句打开文件的注意:

1.如果以OutputAppendRandomBinary模式打开一个不存在的文件时,VB自动创建一个相应文件;

2.在Input Random Binary模式下,可以用不同的文件号打开同一文件,但Output Append方式不可以;

3.所有当前使用的文件号必须是唯一的;

4.如果以Output模式打开一个已存在的文件,即使没有进行写操作原来数据也将被覆盖。

Close语句注意:(Reset

1.直接使用 Close语句(缺省文件号),则所有用Open语句打开的活动文件都被关闭;

2.当程序结束时,所有打开的文件自动被关闭。

LockUnlock语句注意:

1.对于二进制文件,LockUnlock的是字节范围;

2.对于随机文件,LockUnlock的是记录范围;

3.对于顺序文件,LockUnlock的是整个文件,即使指明范围也不起作用;

4.缺省情况下LockUnlock的范围是整个文件;

5.LockUnlock总是成对使用。

特别注意:在关闭文件或结束程序之前,必须用Unlock语句对先前锁定的文件解锁,否则会产生难以预料的错误。

1.要对顺序文件进行写操作,下列打开文件语句中正确的是(    )。

Open "file1.txt" for output as #1

Open "file1.txt" for input as #1

Open "file1.txt" for Random as #1

Open "file1.txt" for binary as #1

2.在VB中文件访问的类型有(   )。

A.顺序、随机、二进制    B.顺序、随机、字符

A. 顺序、十六进制、随机  D.顺序、记录、字符

例如:将文件Data1中的无序数据和Data2中的有序数据插入到Data3中,要求:Data3中的数据必须也是排好序。请填写空白处以实现该题功能。

Private Sub Form_Click()

    Dim a() As Integer, b() As Integer

    Dim k As Integer, i As Integer

    Open "e:\data1.txt" For Input As #2

    Open "e:\data2.txt" For Input As #3

    Do While Not EOF(2)

        k = k + 1

        ReDim Preserve a(k)

        Input #2, a(k)

    Loop

    _______k=0______________________

    Do While Not EOF(3)

        k = k + 1

        ReDim Preserve b(k)

        Input #3, b(k)

    Loop

    Call insert(a, b)

Open "e:\data3.txt" For Output As #4

    _k=ubound(b)____________________________

    For i = 1 To k

        Print #4, b(i)

    Next i

    Close

End Sub

Private Sub insert(a() As Integer, b() As Integer)

    Dim m As Integer, i As Integer

    Dim n As Integer, j As Integer

    m = UBound(a): n = UBound(b)

    _redim preserve b(m+n)_______________________

    i = 0

    Do While i < m

        i = i + 1

        j = n

        Do While j >= 1 And a(i) < b(j)

            If a(i) < b(j) Then

                ___b(j+1)=b(j)_______________________

                j = j - 1

            Else

                Exit Do

            End If

        Loop

        __b(j+1)=a(i)___________________________

        n = n + 1

    Loop

End Sub

§9.鼠标方法、文本、图形及多媒体处理

1)常用鼠标方法(MouseDown, MouseUp,MouseMove)
2)数据输出的格式化处理(Format函数)
3)图形控件Line、Shape使用画点(Pset)、线(Line)、圆(Circle)

例如:在Form_Click事件中执行如下语句的正确结果是(   )。

      Print Format(1236.54,“+##,##0.0%”)

 A.123456   B.+123,654.0%   C.+123,6.54%   D.+123,654

§10.数据库

1.计算机数据管理的三阶段:

人工管理—>文件管理—>数据库管理

2.数据模型:

层次模型(树型结构)—>网络模型(无向图形)—>关系模型(二维关系表)

3.数据控件(Data)的重要属性:

Conncet:确定数据访问类型(Access(缺省值)\dbase\Foxpro

DatabaseName:确定数据控件使用的数据库

Access表包含“.mdb”的文件中,该属性值就是:.mdb

dbase\Foxpro数据库时,该属性值是:包含数据库文件的路径

RecordSource:确定访问数据表的名称

4.常用的绑定控件:标签、文本框、检查框、组合框、列表框、图片框、图象控件、DBCombo、Dblist、DBGrid

常用属性: DataSource:指定一个数据控件(Data控件)

DataField:指定显示的数据表的哪一字段。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多