2004年9月全國計算機等級考試二級VB語言筆試試題及答案

字號:

一、選擇題 ((1)~(20)每小題2分,(21)~(30)每小題3分,共70分下列各題 A)、
    B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
    (1)設(shè)窗體上有一個文本框,名稱為text1,程序運行后,要求該文本框只能顯示信息,不能接受輸入的信息,以下能實現(xiàn)該操作的語句是
    A.Text1.MaxLength=0
    B.Text1.Enabled=Flase
    C.Text1.Visible=Flase
    D.Text1.Width=0
    (2)以下能在窗體Form1的標(biāo)題欄中顯示“VisualBasic窗體"的語句是
    A.Form1.Name="VisualBasic窗體"
    B.Form1.Title="VisualBasic窗體"
    C.Form1.Caption="VisualBasic窗體"
    D.Form1.Text="VisualBasic窗體”
    (3)在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為HScroll1的滾動條,其Min和Max屬性分別為0和100。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當(dāng)前值,如圖所示。
     以下能實現(xiàn)上述操作的程序段是
    A.Private Sub Hscroll1_Change()
     Text1.Text=HScroll1.Value
      End Sub
    B.Private Sub Hscroll1_Click()
     Text1.Text=HScroll1.Value
     End Sub
    C.Private Sub Hscroll1_Change()
     Text1.Text=Hscroll1.Caption
     End Sub
    D.Private Sub Hscroll1_Click()
     Text1.Text=Hscroll1.Caption
     End Sub
    (4)設(shè)菜單中有一個菜單項為"Open"。若要為該菜單命令設(shè)置訪問鍵,即按下Alt及字母O時,能夠執(zhí)行"Open"命令,則在菜單編輯器中設(shè)置“Open"命令的方式是
    A.把Caption屬性設(shè)置為&Open
    B.把Caption屬性設(shè)置為O&pen
    C.把Name屬性設(shè)置為&Open
    D.把Name屬性設(shè)置為O&pen
    (5)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
     Private Sub Command1_Click()
     x=InputBox("Input")
     Select Case x
     Case 1,3
     Print "分支 1"
     Case Is >4
     Print "分支 2"
     Case Else
     Print "Else 分支 "
     End Select
     End Sub
     程序運行后,如果在輸入對話框中輸入2,則窗體上顯示的是
    A.分支1
    B.分支2
    C.Else分支
    D.程序出錯
    (6)以下關(guān)于MsgBox的敘述中,錯誤的是
    A.MsgBox函數(shù)返回一個整數(shù)
    B.通過MsgBox函數(shù)可以設(shè)置信息框中圖標(biāo)和按鈕的類型
    C.MsgBox語句沒有返回值
    D.MsgBox函數(shù)的第二個參數(shù)是一個整數(shù),該參數(shù)只能確定對話框中顯示的按鈕數(shù)量
    (7)在窗體上畫一個名稱為Timer1的計時器控件,要求每隔0.5秒發(fā)生一次計時器事件,則以下正確的屬性設(shè)置語句是
    A.Timer1.Interval=0.5
    B.Timer1.Interval=5
    C.Timer.Interval=50
    D.Timer1.Interval=500
    (8)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
     Private Sub Command1_Click()
     Static x As Integer
     Cls
     For i=1 To 2
     y=y+x
     x=x+2
     Next
     Print x,y
     End Sub
     程序運行后,連續(xù)三次單擊Command1按鈕后,窗體上顯示的是
    A.4 2
    B.12 18
    C.12 30
    D.4 6
    (9)以下關(guān)于多重窗體程序的敘述中,錯誤的是
    A.用Hide方法不但可以隱藏窗體,而且能清除內(nèi)存中的窗體
    B.在多重窗體程序中,各窗體的菜單是彼此獨立的
    C.在多重窗體程序中,可以根據(jù)需要指定啟動窗體
    D.對于多重窗體程序, 需要單獨保存每個窗體
    (10)以下關(guān)于文件的敘述中,錯誤的是
    A.順序文件中的記錄一個接一個地順序存放
    B.隨機文件中記錄的長度是隨機的
    C.執(zhí)行打開文件的命令后,自動生成一個文件指針
    D.LOF函數(shù)返回給文件分配的字節(jié)數(shù)
    (11)以下敘述中錯誤的是
    A.事件過程是響應(yīng)特定事件的一段程序
    B.不同的對象可以具有相同名稱的方法
    C.對象的方法是執(zhí)行指定操作的過程
    D.對象事件的名稱可以由編程者指定
    (12)以下合法的Visual Basic標(biāo)識符是
    A.ForLoop
    B.Const
    C.9abc
    D.a(chǎn)#x
    (13)當(dāng)一個復(fù)選框被選中時,它的Value屬性的值是
    A.3
    B.2
    C.1
    D.0
    (14)表達式 5 Mod 3+3\5*2的值是
    A.0
    B.2
    C.4
    D.6
    (15)設(shè)x=4,y=8,z=7,以下表達式的值是
     x z)Or z
    A.1
    B.-1
    C.True
    D.False
    (16)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
     Private Sub Command1_Click()
     a$="VisualBasic"
     Print String(3,a$)
     End Sub
     程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
    A.VVV
    B.Vis
    C.sic
    D.11
    (17)設(shè)有如下程序段:
     x=2
     For i=1 To 10 Step 2
     x=x+i
     Next
     運行以上程序后,x的值是
    A.26
    B.27
    C.38
    D.57
    (18)以下敘述中錯誤的是
    A.在KeyPress事件過程中不能識別鍵盤的按下與釋放
    B.在KeyPress事件過程中不能識別回車鍵
    C.在KeyDown和KeyUp事件過程中,將鍵盤輸入的"A"和"a"視作相同的字母
    D.在KeyDown和KeyUp事件過程中,從大鍵盤上輸入的"1"和從右側(cè)小鍵盤上輸入的"1"被視作不同的字符
    (19)執(zhí)行如下兩條語句,窗體上顯示的是
     a=9.8596
     Print Format(a,"$00,00.00")
    A.0,009.86
    B.$9.86
    C.9.86
    D.$0,009.86
    (20)在窗體上畫一個名稱為CommandDialog1的通用對話框,一個名稱為Command1的命令按鈕。然后編寫如下事件過程:
     Private Sub Command1_Click()
     CommonDialog1.FileName =""
     CommonDialog1.Filter="All file|*.*|(*.Do
    C.|*.Doc|(*.Txt)|*.Txt"
     CommonDialog1.FilterIndex=2
     CommonDialog1.DialogTitle="VBTest"
     CommonDialog1.Action=1
     End Sub
     對于這個程序,以下敘述中錯誤的是
    A.該對話框被設(shè)置為“打開”對話框
    B.在該對話框中指定的默認(rèn)文件名為空
    C.該對話框的標(biāo)題為VBTest
    D.在該對話框中指定的默認(rèn)文件類型為文本文件(*.Txt)
    (21)設(shè)一個工程由兩個窗體組成,其名稱分別為Form1和Form2,在Form1上有一個名稱為Command1的命令按鈕。窗體Form1的程序代碼如下:
     Private Sub Command1_Click()
     Dim a As Integer
     a=10
     Call g(Form2,a)
     End Sub
     Private Sub g(f As Form,x As Integer)
     y=IIf(x>10,100,-100)
     f,Show
     f.Caption=y
     End Sub
     運行以上程序,正確的結(jié)果是
    A.Form1的Caption屬性值為100
    B.Form2的Caption屬性值為-100
    C.Form1的Caption屬性值為-100
    D.Form2的Caption屬性值為100
    (22)在窗體上畫一個名稱為Command1的命令按鈕,并編寫如下程序:
     Private Sub Command1_Click()
     Dim x As Integer
     Static y As Integer
     x=10
     y=5
     Call f1(x,y)
     Print x,y
     End Sub
     Private Sub f1(ByRef x1 As Integer, y1 As Integer)
     x1=x1+2
     y1=y1+2
     End Sub
     程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
    A.10 5
    B.12 5
    C.10 7
    D.12 7
    (23)設(shè)有如下程序
     Option Base 1
     Private Sub Command1_Click()
     Dim a(10)As Integer
     Dim n As Integer
     n=InputBox("輸入數(shù)據(jù)")
     If n<10 Then
     Call GetArray(a,n)
     End If
     End Sub
     Private Sub GetArray(b()As Integer,n As Integer)
     Dim c(10)As Integer
     j=0
     For i=1 To n
     b(i)=CInt(Rnd()*100)
     If b(i)/2=b(i)\2 Then
     j=j+1
     c(j)=b(i)
     End If
     Next
     Print j
     End Sub
     以下敘述中錯誤的是
    A.?dāng)?shù)組b中的偶數(shù)被保存在數(shù)組c中
    B.程序運行結(jié)束后,在窗體上顯示的是c數(shù)組中元素的個數(shù)
    C.GetArray過程的參數(shù)n是按值傳送的
    D.如果輸入的數(shù)據(jù)大于10,則窗體上不顯示任何顯示
    (24)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
     Option Base 1
     Private Sub Command1_Click()
     Dim a
     a= Array(1,2,3,4,5)
     For i=1 To UBound(a)
     a(i)= a(i)+i-1
     Next
     Print a(3)
     End Sub
     程序運行后,單擊命令按鈕,則在窗體上顯示的內(nèi)容是
    A.4
    B.5
    C.6
    D.7
    (25)閱讀程序
     Option Base 1
     Private Sub Form_Click()
     Dim arr,Sum
     Sum = 0
     arr = Array(1,3,5,7,9,11,13,15,17,19)
     For i=1 To 10
     If arr(i)/3 = arr(i)\3 Then
     Sum = Sum + arr(i)
     End If
     Next i
     Print Sum
     End Sub
     程序運行后,單擊窗體,輸出結(jié)果為
    A.13
    B.14
    C.27
    D.15
    (26)在窗體上畫一個名稱為File1的文件列表框,并編寫如下程序:
     Private Sub File1_DblClick()
     x=Shell(File1.FileName,1)
     End Sub
     以下關(guān)于該程序的敘述中,錯誤的是
    A.x沒有實際作用,因此可以將該語句寫為:Call Shell(File1,FileName,1)
    B.雙擊文件列表框中的文件,將觸發(fā)該事件過程
    C.要執(zhí)行的文件的名字通過File1.FileName指定
    D.File1中顯示的是當(dāng)前 驅(qū)動 器、當(dāng)前目錄下的文件
    (27)在窗體上畫一個名稱為Label1、標(biāo)題為“VisualBasic考試”的標(biāo)簽,兩個名稱分別為Command1和Command2、標(biāo)題分別為“開始”和“停止”的命令按鈕,然后畫一個名稱為Timer1的計時器控件,并把其Interval屬性設(shè)置為500,如圖所示。
     編寫如下程序:
     Private Sub Form_Load()
     Timer1.Enabled=False
     End Sub
     Private Sub Command1_Click()
     Timer1.Enabled=True
     End Sub
     Private Sub Command2_Click()
     Timer1.Enabled=False
     End Sub
     Private Sub Timer1_Timer()
     If Label1.Left
     Label1.Left = Label1.Left + 20
     Else
     Label1.Left=0
     End If
     End Sub
     程序運行后單擊“開始”按鈕,標(biāo)簽在窗體中移動。
     對于這個程序,以下敘述中錯誤的是
    A.標(biāo)簽的移動方向為自右向左
    B.單擊“停止”按鈕后再單擊“開始”按鈕,標(biāo)簽從停止的位置繼續(xù)移動
    C.當(dāng)標(biāo)簽全部移出窗體后,將從窗體的另一端出現(xiàn)并重新移動
    D.標(biāo)簽按指定的時間間隔移動
    (28)執(zhí)行以下程序段
     a$="abbacddcba"
     For i=6 To 2 Step -2
     X=Mid(a,i,i)
     Y=Left(a,i)
     z=Right(a,i)
     z=UCase(X & Y & z)
     Next i
     Print z
     輸出結(jié)果為
    A.ABA
    B.BBABBA
    C.ABBABA
    D.AABAAB
    (29)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
     Option Base 1
     Private Sub Command1_Click()
     Dim a As Variant
     a=Array(1,2,3,4,5)
     Sum=0
     For i=1 To 5
     Sum = sum+a(i)
     Next i
     x=Sum/5
     For i =1 To 5
     If a(i)>x Then Print a(i);
     Next i
     End Sub
     程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
    A.1 2
    B.1 2 3
    C.3 4 5
    D.4 5
    (30)假定一個工程由一個窗體文件Form1和兩個標(biāo)準(zhǔn)模塊文件Model1及Model2組成。
     Model1代碼如下:
     Public x As Integer
     Public y As Integer
     Sub S1()
     x =1
     S2
     End Sub
     Sub S2()
     y=10
     Form1.Show
     End Show
     Model2的代碼如下:
     Sub Main()
     S1
     End Sub
     其中Sub Main被設(shè)置為啟動過程。程序運行后,各模塊的執(zhí)行順序是
    A.Form1→Model1→Model2
    B.Model1→Model2→Form1
    C.Model2→Model1→Form1
    D.Model2→Form1→Model1 二、填空題 (每空2分,共30分)
     請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
    (1)設(shè)有如下程序段:
     a$="BeijingShanghai"
     b$=Mid(a$,InStr(a$,"g")+1)
     執(zhí)行上面的程序段后,變量b$的值為【1】 。
    (2)以下程序段的輸出結(jié)果是【2】 。
     num =0
     While num<=2
     num = num + 1
     Wend
     Print num
    (3)窗體上有一個名稱為List1的列表框,一個名稱為Text1的文本框,一個名稱為Label1、Caption屬性為“Sum”的標(biāo)簽,一個名稱為Command1、標(biāo)題為“計算”的命令按鈕。程序運行后,將把1~100之間能夠被7整除的數(shù)添加到列表框中。如果單擊“計算”按鈕,則對List1中的數(shù)進行累加求和,并在文本框中顯示計算結(jié)果,如圖所示。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR>     Private Sub Form_Load()
     For i=1 To 100
     If i Mod 7 =0 Then
     【3】
     End If
     Next
     End Sub
     Private Sub Command1_Click()
     Sum = 0
     For i = 0 To 【4】
     Sum = Sum + 【5】
     Next
     Text1.Text = Sum
     End Sub
    (4)本程序的功能是利用隨機數(shù)函數(shù)模擬投幣,方法是:每次隨機產(chǎn)生一個0或1的整數(shù),相當(dāng)于一次投幣,1代表正面,0代表反面。在窗體上有三個文本框,名稱分別是Text1、Text2、Text3,分別用于顯示用戶輸入投幣總次數(shù)、出現(xiàn)正面的次數(shù)和出現(xiàn)反面的次數(shù),如圖所示。程序運行后,在文本框Text1中輸入總次數(shù),然后單擊“開始”按鈕,按照輸入的次數(shù)模擬投幣,分別統(tǒng)計出現(xiàn)正面、反面的次數(shù),并顯示結(jié)果。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR>     Private Sub Command1_Click()
     Randomize
     n = CInt(Text1.Text)
     n1 = 0
     n2 = 0
     For I = 1 To 【6】
     r = Int(Rnd*2)
     If r = 【7】 Then
     n1 = n1 + 1
     Else
     n2 = n2 + 1
     End If
     Next
     Text2.Text = n1
     Text3.Text = n2
     End Sub
    (5)閱讀程序:
     Option Base 1
     Private Sub Form_Click()
     Dim a(3)As Integer
     Print "輸入的數(shù)據(jù)是:";
     For i = 1 To 3
     a(i)=InputBox("輸入數(shù)據(jù)")
     Print a(i);
     Next
     Print
     If a(1)
     t = a(1)
     a(1)= a(2)
     a(2)= 【8】
     End If
     If a(2)>a(3)Then
     m = a(2)
     ElseIf a(1)>a(3)Then
     m = 【9】
     Else
     m = 【10】
     End If
     Print "中間數(shù)是:";m
     End Sub
     程序運行后,單擊窗體,在輸入對話框中分別輸入三個整數(shù),程序?qū)⑤敵鋈齻€數(shù)中的中間數(shù),如圖所示。請?zhí)羁铡?BR>    (6)在窗體上畫一個名稱為“Command1”,標(biāo)題為“計算”的命令按鈕,再畫7個標(biāo)簽,其中5個標(biāo)簽組成名稱為Label1的控件數(shù)組;名稱為Label2的標(biāo)簽用于顯示計算結(jié)果,其Caption屬性的初始值為空;標(biāo)簽Label3的標(biāo)題為“計算結(jié)果”。運行程序時會自動生成5個隨機數(shù),分別顯示在標(biāo)簽控件數(shù)組的各個標(biāo)簽中,如圖所示。單擊“計算”按鈕,則將標(biāo)簽數(shù)組各元素的值累加,然后計算結(jié)果顯示在Label2。請?zhí)羁铡?BR>     Private Sub Command1_Click()
     Sum = 0
     For i = 0 To 4
     Sum = Sum + 【11】
     Next
     【12】 = Sum
     End Sub
    (7)在窗體上畫兩個名稱分別為Command1和Command2、標(biāo)題分別為“初始化”和“求和”的命令按鈕。程序運行后,如果單擊“初始化”命令按鈕,則對數(shù)組a的各元素賦值;如果單擊“求和”命令按鈕,則求出數(shù)組a的各元素之和,并在文本框中顯示出來,如圖所示。請?zhí)羁铡?BR>     Option Base 1
     Dim a(3,2)As Integer
     Private Sub Command1_Click()
     For i = 1 To 3
     For j = 1 To 2
     【13】 = i + j
     Next j
     Next i
     End Sub
     Private Sub Command2_Click()
     For j = 1 To 3
     For i = 1 To 2
     s = s + 【14】
     Next i
     Next j
     Text1.Text = 【15】
     End Sub2004年9月全國計算機等級考試二級VB語言筆試試題答案
    一、選擇題 ((1)—(20)每小題2分,(21)—(30)每小題2分,共70分)
     (1) B (2) C (3) A (4) A (5) C
     (6) D (7) D (8) B (9) A (10) B
     (11) D (12) A (13) C (14) C (15) D
     (16) A (17) B (18) B (19) D (20) D
     (21) B (22) D (23) C (24) B (25) C
     (26) A (27) A (28) B (29) D (30) C
    二、填空題 (每空2分,共30分)
     【1】"Shanghai"
     【2】 3
     【3】list1.additem i
     【4】 list1.listcount-1
     【5】 list1.list(i)
     【6】 n
     【7】 1
     【8】 t
     【9】 a(3)
     【10】 a(1)
     【11】 label1(i).caption
     【12】label2.caption
     【13】a(i,j)
     【14】a(j,i)
     【15】s