一、 選擇題(每小題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)程序設計就是編制程序 B)程序的測試必須由程序員自己去完成
C)程序經(jīng)調(diào)試改錯后還應進行再測試 D)程序經(jīng)調(diào)試改錯后不必進行再測試
(2)下列數(shù)據(jù)結構中,能用二分法進行查找的是
A)順序存儲的有序線性表 B)線性鏈表
C)二叉鏈表 D)有序線性鏈表
(3)下列關于棧的描述正確的是
A)在棧中只能插入元素而不能刪除元素
B)在棧中只能刪除元素而不能插入元素
C)棧是特殊的線性表,只能在一端插入或刪除元素
D)棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素
(4)下列敘述中正確的是
A)一個邏輯數(shù)據(jù)結構只能有一種存儲結構
B)數(shù)據(jù)的邏輯結構屬于線性結構,存儲結構屬于非線性結構
C)一個邏輯數(shù)據(jù)結構可以有多種存儲結構,且各種存儲結構不影響數(shù)據(jù)處理的效率
D)一個邏輯數(shù)據(jù)結構可以有多種存儲結構,且各種存儲結構影響數(shù)據(jù)處理的效率
(5)下列描述中正確的是
A)軟件工程只是解決軟件項目的管理問題
B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C)軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用工程化原則
D)軟件工程只是解決軟件開發(fā)中的技術問題
(6)在軟件設計中,不屬于過程設計工具的是
A)PDL(過程設計語言) B)PAD圖
C)N-S圖 D)DFD圖
(7)下列敘述中正確的是
A)軟件交付使用后還需要進行維護
B)軟件一旦交付使用就不需要再進行維護
C)軟件交付使用后其生命周期就結束
D)軟件維護是指修復程序中被破壞的指令
(8)數(shù)據(jù)庫設計的根本目標是要解決
A)數(shù)據(jù)共享問題 B)數(shù)據(jù)安全問題
C)大量數(shù)據(jù)存儲問題 D)簡化數(shù)據(jù)維護
(9)設有如下關系表:
R S T
A B C A B C A B C
1 1 2 3 1 3 1 1 2
2 2 3 2 2 3
3 1 3
則下列操作中正確的是
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
(10)數(shù)據(jù)庫系統(tǒng)的核心是
A)數(shù)據(jù)模型 B)數(shù)據(jù)庫管理系統(tǒng)
C)數(shù)據(jù)庫 D)數(shù)據(jù)庫管理員
(11)假定一個Visual Basic應用程序由一個窗體模塊和一個標準模塊構成。為了保存該應用程序,以下正確的操作是
A)只保存窗體模塊文件
B)分別保存窗體模塊、標準模塊和工程文件
C)只保存窗體模塊和標準模塊文件
D)只保存工程文件
(12)為了清除窗體上的一個控件,下列正確的操作是
A)按回車鍵
B)按Esc鍵
C)選擇(單擊)要清除的控件,然后按Del鍵
D)選擇(單擊)要清除的控件,然后按回車鍵
(13)以下敘述中錯誤的是
A)打開一個工程文件時,系統(tǒng)自動裝入與該工程有關的窗體、標準模塊等文件
B)當程序運行時,雙擊一個窗體,則觸發(fā)該窗體的DblClick事件
C)Visual Basic應用程序只能以解釋方式執(zhí)行
D)事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)
(14)設a=2, b=3, c=4, d=5, 下列表達式的值是
Not a<=c Or 4*c=b^2 And b<>a+c
A)-1 B)1 C)True D)False
(15)設a = 5,b = 10,則執(zhí)行
c = Int((b - a) * Rnd + a) + 1
后,c值的范圍為
A)5~10 B)6~9 C)6~10 D)5~9
(16)在窗體上畫一個命令按鈕,名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
a$ = "software and hardware"
b$ = Right(a$, 8)
c$ = Mid(a$, 1, 8)
MsgBox a$, , b$, c$, 1
End Sub
運行程序,單擊命令按鈕,則在彈出的信息框的標題欄中顯示的是
A)software and hardware B)software C)hardware D)1
(17)在窗體上畫一個命令按鈕和一個文本框,其名稱分別為Command1和Text1,把文本框的Text屬性設置為空白,然后編寫如下事件過程:
Private Sub Command1_Click()
a = InputBox("Enter an integer")
b = InputBox("Enter an integer")
Text1.Text = b + a
End Sub
程序運行后,單擊命令按鈕,如果在輸入對話框中分別輸入8和10,則文本框中顯示的內(nèi)容是
A)108 B)18 C)810 D)出錯
(18)在窗體上畫兩個文本框,其名稱分別為Text1和Text2,然后編寫如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Sub
Private Sub Text1_Change()
Text2.Text = Mid(Text1.Text, 8)
End Sub
程序運行后,如果在文本框Text1中輸入BeijingChina,則在文本框Text2中顯示的內(nèi)容是
A)BeijingChina B)China C)Beijing D)BeijingC
(19)在窗體上畫一個列表框和一個命令按鈕,其名稱分別為List1和Command1,然后編寫如下事件過程:
Private Sub Form_Load()
List1.AddItem "Item 1"
List1.AddItem "Item 2"
List1.AddItem "Item 3"
End Sub
Private Sub Command1_Click()
List1.List(List1.ListCount) = "AAAA"
End Sub
程序運行后,單擊命令按鈕,其結果為
A)把字符串“AAAA”添加到列表框中,但位置不能確定
B)把字符串“AAAA”添加到列表框的最后(即“Item 3”的后面)
C)把列表框中原有的最后一項改為“AAAA”
D)把字符串“AAAA”插入到列表框的最前面(即“Item 1”的前面)
(20)假定有如下事件過程:
Private Sub Form_Click()
Dim x As Integer, n As Integer
x = 1
n = 0
Do While x < 28
x = x * 3
n = n + 1
Loop
Print x, n
End Sub
程序運行后,單擊窗體,輸出結果是
A)81 4 B)56 3
C)28 1 D)243 5
(21)有如下程序:
Private Sub Form_Click()
Dim Check, Counter
Check = True
Counter = 0
Do
Do While Counter < 20
Counter = Counter + 1
If Counter = 10 Then
Check = False
Exit Do
End If
Loop
Loop Until Check = False
Print Counter, Check
End Sub
程序運行后,單擊窗體,輸出結果為
A)15 0 B)20 -1
C)10 True D)10 False
(22)有如下程序:
Private Sub Form_Click()
Dim i As Integer, sum As Integer
sum = 0
For i = 2 To 10
If i Mod 2 <> 0 And i Mod 3 = 0 Then
sum = sum + i
End If
Next i
Print sum
End Sub
程序運行后,單擊窗體,輸出結果為
A)12 B)30 C)24 D)18
(23)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10, 10) As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
For j = 2 To 4
array1(i, j) = i + j
Next j
Next i
Text1.Text = array1(2, 3) + array1(3, 4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是
A)12 B)13 C)14 D)15
(24)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a1(4, 4), a2(4, 4)
For i = 1 To 4
For j = 1 To 4
a1(i, j) = i + j
a2(i, j) = a1(i, j) + i + j
Next j
Next i
Print a1(3, 3); a2(3, 3)
End Sub
程序運行后,單擊命令按鈕,在窗體上輸出的是
A)6 6 B)10 5 C)7 21 D)6 12
(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
程序運行后,單擊窗體,輸出結果為
A)25 B)26 C)27 D)28
(26)在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a(5) As String
For i = 1 To 5
a(i) = Chr(Asc("A") + (i - 1))
Next i
For Each b In a
Print b;
Next
End Sub
程序運行后,單擊命令按鈕,輸出結果是
A)ABCDE B)1 2 3 4 5
C)abcde D)出錯信息
(27)以下關于函數(shù)過程的敘述中,正確的是
A)如果不指明函數(shù)過程參數(shù)的類型,則該參數(shù)沒有數(shù)據(jù)類型
B)函數(shù)過程的返回值可以有多個
C)當數(shù)組作為函數(shù)過程的參數(shù)時,既能以傳值方式傳遞,也能以引用方式傳遞
D)函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關系
(28)函數(shù)過程F1的功能是:如果參數(shù)b為奇數(shù),則返回值為1,否則返回值為0。以下能正確實現(xiàn)上述功能的代碼是
A)Function F1(b As Integer)
If b Mod 2 = 0 Then
Return 0
Else
Return 1
End If
End Function
B)Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 0
Else
F1 = 1
End If
End Function
C)Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 1
Else
F1 = 0
End If
End Function
D)Function F1(b As Integer)
If b Mod 2 <> 0 Then
Return 0
Else
Return 1
End If
End Function
(29)以下關于KeyPress事件過程中參數(shù)KeyAscii的敘述中正確的是
A)KeyAscii參數(shù)是所按鍵的ASCII碼
B)KeyAscii參數(shù)的數(shù)據(jù)類型為字符串
C)KeyAscii參數(shù)可以省略
D)KeyAscii參數(shù)是所按鍵上標注的字符
(30)設窗體上有一個名為Text1的文本框,并編寫如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Print "程序設計"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Print "Visual Basic";
End Sub
程序運行后,如果在文本框中輸入字母“a”,然后單擊窗體,則在窗體上顯示的內(nèi)容是
A)Visual Basic B)程序設計
C)Visual Basic程序設計 D)a程序設計
(31)假定有下表所列的菜單結構:
━━━━━━━━━━━━━━━━━━━━
標題 名稱 層次
────────────────────
顯示 appear 1(主菜單)
大圖標 bigicon 2(子菜單)
小圖標 smallicon 2(子菜單)
━━━━━━━━━━━━━━━━━━━━
要求程序運行后,如果單擊菜單項“大圖標”,則在該菜單項前添加一個“Ö”。以下正確的事件過程是
A)Private Sub bigicon_Click()
bigicon.Checked = False
End Sub
B)Private Sub bigicon_Click()
Me. appear.bigicon.Checked = True
End Sub
C)Private Sub bigicon_Click()
bigicon.Checked = True
End Sub
D)Private Sub bigicon_Click()
appear.bigicon.Checked = True
End Sub
(32)假定通用對話框的名稱為CommonDialog1,命令按鈕的名稱為Command1,則單擊命令按鈕后,能使打開的對話框的標題為“New Title”的事件過程是
A)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowPrinter
End Sub
B)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowFont
End Sub
C)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowOpen
End Sub
D)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowColor
End Sub
(33)如果一個工程含有多個窗體及標準模塊,則以下敘述中錯誤的是
A)任何時刻最多只有一個窗體是活動窗體
B)不能把標準模塊設置為啟動模塊
C)用Hide方法只是隱藏一個窗體,不能從內(nèi)存中清除該窗體
D)如果工程中含有Sub Main過程,則程序一定首先執(zhí)行該過程
(34)假定在工程文件中有一個標準模塊,其中定義了如下記錄類型
Type Books
Name As String * 10
TelNum As String * 20
End Type
要求當執(zhí)行事件過程Command1_Click時,在順序文件Person.txt中寫入一條記錄。下列能夠完成該操作的事件過程是
A)Private Sub Command1_Click()
Dim B As Books
Open "c:\Person.txt" For Output As #1
B.Name = InputBox("輸入姓名")
B.TelNum = InputBox("輸入電話號碼")
Write #1, B.Name, B.TelNum
Close #1
End Sub
B)Private Sub Command1_Click()
Dim B As Books
Open "c:\Person.txt" For Input As #1
B.Name = InputBox("輸入姓名")
B.TelNum = InputBox("輸入電話號碼")
Print #1, B.Name, B.TelNum
Close #1
End Sub
C)Private Sub Command1_Click()
Dim B As Books
Open "c:\Person.txt" For Output As #1
Name = InputBox("輸入姓名")
TelNum = InputBox("輸入電話號碼")
Write #1, B
Close #1
End Sub
D)Private Sub Command1_Click()
Dim B As Book
Open "c:\Person.txt" For Input As #1
Name = InputBox("輸入姓名")
TelNum = InputBox("輸入電話號碼")
Print #1, B.Name, B.TelNum
Close #1
End Sub
(35)目錄列表框的Path屬性的作用是
A)顯示當前驅(qū)動器或指定驅(qū)動器上的某目錄下的文件名
B)顯示當前驅(qū)動器或指定驅(qū)動器上的目錄結構
C)顯示根目錄下的文件名
D)顯示指定路徑下的文件
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)數(shù)據(jù)管理技術發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性的階段是 【1】 。
(2)算法復雜度主要包括時間復雜度和 【2】 復雜度。
(3)在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中 【3】 的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結果。
(4)一棵二叉樹第六層(根結點為第一層)的結點數(shù)最多為 【4】 個。
(5)數(shù)據(jù)結構分為邏輯結構和存儲結構,循環(huán)隊列屬于 【5】 結構。
(6)設有以下函數(shù)過程:
Function fun(m As Integer) As Integer
Dim k As Integer, sum As Integer
sum = 0
For k = m To 1 Step -2
sum = sum + k
Next k
fun = sum
End Function
若在程序中用語句 s = fun(10) 調(diào)用此函數(shù),則s的值為 【6】 。
(7)在窗體上畫一個命令按鈕和一個文本框,然后編寫命令按鈕的Click事件過程。程序運行后,在文本框中輸入一串英文字母(不區(qū)分大小寫),單擊命令按鈕,程序可找出未在文本框中輸入的其他所有英文字母,并以大寫方式降序顯示到Text1中。例如,若在Text1中輸入的是abDfdb,則單擊Command1按鈕后Text1中顯示的字符串是ZYXWVUTSRQPONMLKJIHGEC。請?zhí)羁铡?BR> Private Sub Command1_Click( )
Dim str As String, s As String, c As String
str = UCase(Text1)
s = ""
c = "Z"
While c >= "A"
If InStr(str, c) = 0 Then
s = 【7】
End If
c = Chr$(Asc(c) 【8】 )
Wend
If s <> "" Then
Text1 = s
End If
End Sub
(8) 在n個運動員中選出任意r個人參加比賽,有很多種不同的選法,選法的個數(shù)可以用公式 計算。下圖窗體中3個文本框的名稱依次是Text1、Text2、Text3。程序運行時在Text1、Text2中分別輸入n和r的值,單擊Command1按鈕即可求出選法的個數(shù),并顯示在Text3文本框中(見下圖)。請?zhí)羁铡?BR> Private Sub Command1_Click( )
Dim r As Integer, n As Integer
n = Text1
r = Text2
Text3 = fun(n) / fun(【9】 ) / fun(r)
End Sub
Function fun(n As Integer) as long
Dim t As Long
【10】
For k = 1 To n
t = t * k
Next
fun = t
End Function
(9)以下是一個比賽評分程序。在窗體上建立一個名為Text1的文本框數(shù)組,然后畫一個名為Text2的文本框和名為Command1的命令按鈕。運行時在文本框數(shù)組中輸入7個分數(shù),單擊“計算得分”命令按鈕,則最后得分顯示在Text2文本框中(去掉一個分和一個最低分后的平均分即為最后得分),如圖所示。請?zhí)羁铡?BR> Private Sub Command1_Click( )
Dim k As Integer
Dim sum As Single, max As Single, min As Single
sum = Text1(0)
max = Text1(0)
min = 【11】
For k = 【12】 To 6
If max < Text1(k) Then
max = Text1(k)
End If
If min > Text1(k) Then
min = Text1(k)
End If
sum = sum + Text1(k)
Next k
Text2 = (【13】 ) / 5
End Sub
(10)如圖所示,在列表框List1中已經(jīng)有若干人的簡單信息,運行時在Text1文本框(即“查找對象”右邊的文本框)輸入一個姓或姓名,單擊“查找”按鈕,則在列表框中進行查找,若找到,則把該人的信息顯示在Text2文本框中。若有多個匹配的列表項,則只顯示第1個匹配項;若未找到,則在Text2中顯示“查無此人”。請?zhí)羁铡?BR> Private Sub Command1_Click()
Dim k As Integer, n As Integer, found As Boolean
found = False
n = Len(【14】 )
k = 0
While k < List1.ListCount And Not found
If Text1 = Left$(List1.List(k), n) Then
Text2 = 【15】
found = True
End If
k = k + 1
Wend
If Not found Then
Text2 = "查無此人"
End If
End Sub
2005年9月全國計算機等級考試二級VB筆試試卷(含參考答案)
選擇題
【 1- 5】 CACDC 【 6-10】 DAABB
【11-15】 BCCDC 【16-20】 CABBA
【21-25】 DAADC 【26-30】 ADBAC
【31-35】 CCDAB
填空題
【1】數(shù)據(jù)庫系統(tǒng) 【2】空間 【3】驅(qū)動模塊
【4】32 【5】存儲結構 【6】30
【7】s&c 【8】-1 【9】n-r
【10】t=1 【11】text1(0) 【12】1
【13】(sum-max-min) 【14】text1.text 【15】list1.list(k)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。
(1)下列敘述中正確的是
A)程序設計就是編制程序 B)程序的測試必須由程序員自己去完成
C)程序經(jīng)調(diào)試改錯后還應進行再測試 D)程序經(jīng)調(diào)試改錯后不必進行再測試
(2)下列數(shù)據(jù)結構中,能用二分法進行查找的是
A)順序存儲的有序線性表 B)線性鏈表
C)二叉鏈表 D)有序線性鏈表
(3)下列關于棧的描述正確的是
A)在棧中只能插入元素而不能刪除元素
B)在棧中只能刪除元素而不能插入元素
C)棧是特殊的線性表,只能在一端插入或刪除元素
D)棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素
(4)下列敘述中正確的是
A)一個邏輯數(shù)據(jù)結構只能有一種存儲結構
B)數(shù)據(jù)的邏輯結構屬于線性結構,存儲結構屬于非線性結構
C)一個邏輯數(shù)據(jù)結構可以有多種存儲結構,且各種存儲結構不影響數(shù)據(jù)處理的效率
D)一個邏輯數(shù)據(jù)結構可以有多種存儲結構,且各種存儲結構影響數(shù)據(jù)處理的效率
(5)下列描述中正確的是
A)軟件工程只是解決軟件項目的管理問題
B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C)軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用工程化原則
D)軟件工程只是解決軟件開發(fā)中的技術問題
(6)在軟件設計中,不屬于過程設計工具的是
A)PDL(過程設計語言) B)PAD圖
C)N-S圖 D)DFD圖
(7)下列敘述中正確的是
A)軟件交付使用后還需要進行維護
B)軟件一旦交付使用就不需要再進行維護
C)軟件交付使用后其生命周期就結束
D)軟件維護是指修復程序中被破壞的指令
(8)數(shù)據(jù)庫設計的根本目標是要解決
A)數(shù)據(jù)共享問題 B)數(shù)據(jù)安全問題
C)大量數(shù)據(jù)存儲問題 D)簡化數(shù)據(jù)維護
(9)設有如下關系表:
R S T
A B C A B C A B C
1 1 2 3 1 3 1 1 2
2 2 3 2 2 3
3 1 3
則下列操作中正確的是
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
(10)數(shù)據(jù)庫系統(tǒng)的核心是
A)數(shù)據(jù)模型 B)數(shù)據(jù)庫管理系統(tǒng)
C)數(shù)據(jù)庫 D)數(shù)據(jù)庫管理員
(11)假定一個Visual Basic應用程序由一個窗體模塊和一個標準模塊構成。為了保存該應用程序,以下正確的操作是
A)只保存窗體模塊文件
B)分別保存窗體模塊、標準模塊和工程文件
C)只保存窗體模塊和標準模塊文件
D)只保存工程文件
(12)為了清除窗體上的一個控件,下列正確的操作是
A)按回車鍵
B)按Esc鍵
C)選擇(單擊)要清除的控件,然后按Del鍵
D)選擇(單擊)要清除的控件,然后按回車鍵
(13)以下敘述中錯誤的是
A)打開一個工程文件時,系統(tǒng)自動裝入與該工程有關的窗體、標準模塊等文件
B)當程序運行時,雙擊一個窗體,則觸發(fā)該窗體的DblClick事件
C)Visual Basic應用程序只能以解釋方式執(zhí)行
D)事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)
(14)設a=2, b=3, c=4, d=5, 下列表達式的值是
Not a<=c Or 4*c=b^2 And b<>a+c
A)-1 B)1 C)True D)False
(15)設a = 5,b = 10,則執(zhí)行
c = Int((b - a) * Rnd + a) + 1
后,c值的范圍為
A)5~10 B)6~9 C)6~10 D)5~9
(16)在窗體上畫一個命令按鈕,名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
a$ = "software and hardware"
b$ = Right(a$, 8)
c$ = Mid(a$, 1, 8)
MsgBox a$, , b$, c$, 1
End Sub
運行程序,單擊命令按鈕,則在彈出的信息框的標題欄中顯示的是
A)software and hardware B)software C)hardware D)1
(17)在窗體上畫一個命令按鈕和一個文本框,其名稱分別為Command1和Text1,把文本框的Text屬性設置為空白,然后編寫如下事件過程:
Private Sub Command1_Click()
a = InputBox("Enter an integer")
b = InputBox("Enter an integer")
Text1.Text = b + a
End Sub
程序運行后,單擊命令按鈕,如果在輸入對話框中分別輸入8和10,則文本框中顯示的內(nèi)容是
A)108 B)18 C)810 D)出錯
(18)在窗體上畫兩個文本框,其名稱分別為Text1和Text2,然后編寫如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Sub
Private Sub Text1_Change()
Text2.Text = Mid(Text1.Text, 8)
End Sub
程序運行后,如果在文本框Text1中輸入BeijingChina,則在文本框Text2中顯示的內(nèi)容是
A)BeijingChina B)China C)Beijing D)BeijingC
(19)在窗體上畫一個列表框和一個命令按鈕,其名稱分別為List1和Command1,然后編寫如下事件過程:
Private Sub Form_Load()
List1.AddItem "Item 1"
List1.AddItem "Item 2"
List1.AddItem "Item 3"
End Sub
Private Sub Command1_Click()
List1.List(List1.ListCount) = "AAAA"
End Sub
程序運行后,單擊命令按鈕,其結果為
A)把字符串“AAAA”添加到列表框中,但位置不能確定
B)把字符串“AAAA”添加到列表框的最后(即“Item 3”的后面)
C)把列表框中原有的最后一項改為“AAAA”
D)把字符串“AAAA”插入到列表框的最前面(即“Item 1”的前面)
(20)假定有如下事件過程:
Private Sub Form_Click()
Dim x As Integer, n As Integer
x = 1
n = 0
Do While x < 28
x = x * 3
n = n + 1
Loop
Print x, n
End Sub
程序運行后,單擊窗體,輸出結果是
A)81 4 B)56 3
C)28 1 D)243 5
(21)有如下程序:
Private Sub Form_Click()
Dim Check, Counter
Check = True
Counter = 0
Do
Do While Counter < 20
Counter = Counter + 1
If Counter = 10 Then
Check = False
Exit Do
End If
Loop
Loop Until Check = False
Print Counter, Check
End Sub
程序運行后,單擊窗體,輸出結果為
A)15 0 B)20 -1
C)10 True D)10 False
(22)有如下程序:
Private Sub Form_Click()
Dim i As Integer, sum As Integer
sum = 0
For i = 2 To 10
If i Mod 2 <> 0 And i Mod 3 = 0 Then
sum = sum + i
End If
Next i
Print sum
End Sub
程序運行后,單擊窗體,輸出結果為
A)12 B)30 C)24 D)18
(23)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10, 10) As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
For j = 2 To 4
array1(i, j) = i + j
Next j
Next i
Text1.Text = array1(2, 3) + array1(3, 4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是
A)12 B)13 C)14 D)15
(24)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a1(4, 4), a2(4, 4)
For i = 1 To 4
For j = 1 To 4
a1(i, j) = i + j
a2(i, j) = a1(i, j) + i + j
Next j
Next i
Print a1(3, 3); a2(3, 3)
End Sub
程序運行后,單擊命令按鈕,在窗體上輸出的是
A)6 6 B)10 5 C)7 21 D)6 12
(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
程序運行后,單擊窗體,輸出結果為
A)25 B)26 C)27 D)28
(26)在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a(5) As String
For i = 1 To 5
a(i) = Chr(Asc("A") + (i - 1))
Next i
For Each b In a
Print b;
Next
End Sub
程序運行后,單擊命令按鈕,輸出結果是
A)ABCDE B)1 2 3 4 5
C)abcde D)出錯信息
(27)以下關于函數(shù)過程的敘述中,正確的是
A)如果不指明函數(shù)過程參數(shù)的類型,則該參數(shù)沒有數(shù)據(jù)類型
B)函數(shù)過程的返回值可以有多個
C)當數(shù)組作為函數(shù)過程的參數(shù)時,既能以傳值方式傳遞,也能以引用方式傳遞
D)函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關系
(28)函數(shù)過程F1的功能是:如果參數(shù)b為奇數(shù),則返回值為1,否則返回值為0。以下能正確實現(xiàn)上述功能的代碼是
A)Function F1(b As Integer)
If b Mod 2 = 0 Then
Return 0
Else
Return 1
End If
End Function
B)Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 0
Else
F1 = 1
End If
End Function
C)Function F1(b As Integer)
If b Mod 2 = 0 Then
F1 = 1
Else
F1 = 0
End If
End Function
D)Function F1(b As Integer)
If b Mod 2 <> 0 Then
Return 0
Else
Return 1
End If
End Function
(29)以下關于KeyPress事件過程中參數(shù)KeyAscii的敘述中正確的是
A)KeyAscii參數(shù)是所按鍵的ASCII碼
B)KeyAscii參數(shù)的數(shù)據(jù)類型為字符串
C)KeyAscii參數(shù)可以省略
D)KeyAscii參數(shù)是所按鍵上標注的字符
(30)設窗體上有一個名為Text1的文本框,并編寫如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
Print "程序設計"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Print "Visual Basic";
End Sub
程序運行后,如果在文本框中輸入字母“a”,然后單擊窗體,則在窗體上顯示的內(nèi)容是
A)Visual Basic B)程序設計
C)Visual Basic程序設計 D)a程序設計
(31)假定有下表所列的菜單結構:
━━━━━━━━━━━━━━━━━━━━
標題 名稱 層次
────────────────────
顯示 appear 1(主菜單)
大圖標 bigicon 2(子菜單)
小圖標 smallicon 2(子菜單)
━━━━━━━━━━━━━━━━━━━━
要求程序運行后,如果單擊菜單項“大圖標”,則在該菜單項前添加一個“Ö”。以下正確的事件過程是
A)Private Sub bigicon_Click()
bigicon.Checked = False
End Sub
B)Private Sub bigicon_Click()
Me. appear.bigicon.Checked = True
End Sub
C)Private Sub bigicon_Click()
bigicon.Checked = True
End Sub
D)Private Sub bigicon_Click()
appear.bigicon.Checked = True
End Sub
(32)假定通用對話框的名稱為CommonDialog1,命令按鈕的名稱為Command1,則單擊命令按鈕后,能使打開的對話框的標題為“New Title”的事件過程是
A)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowPrinter
End Sub
B)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowFont
End Sub
C)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowOpen
End Sub
D)Private Sub Command1_Click()
CommonDialog1.DialogTitle = "New Title"
CommonDialog1.ShowColor
End Sub
(33)如果一個工程含有多個窗體及標準模塊,則以下敘述中錯誤的是
A)任何時刻最多只有一個窗體是活動窗體
B)不能把標準模塊設置為啟動模塊
C)用Hide方法只是隱藏一個窗體,不能從內(nèi)存中清除該窗體
D)如果工程中含有Sub Main過程,則程序一定首先執(zhí)行該過程
(34)假定在工程文件中有一個標準模塊,其中定義了如下記錄類型
Type Books
Name As String * 10
TelNum As String * 20
End Type
要求當執(zhí)行事件過程Command1_Click時,在順序文件Person.txt中寫入一條記錄。下列能夠完成該操作的事件過程是
A)Private Sub Command1_Click()
Dim B As Books
Open "c:\Person.txt" For Output As #1
B.Name = InputBox("輸入姓名")
B.TelNum = InputBox("輸入電話號碼")
Write #1, B.Name, B.TelNum
Close #1
End Sub
B)Private Sub Command1_Click()
Dim B As Books
Open "c:\Person.txt" For Input As #1
B.Name = InputBox("輸入姓名")
B.TelNum = InputBox("輸入電話號碼")
Print #1, B.Name, B.TelNum
Close #1
End Sub
C)Private Sub Command1_Click()
Dim B As Books
Open "c:\Person.txt" For Output As #1
Name = InputBox("輸入姓名")
TelNum = InputBox("輸入電話號碼")
Write #1, B
Close #1
End Sub
D)Private Sub Command1_Click()
Dim B As Book
Open "c:\Person.txt" For Input As #1
Name = InputBox("輸入姓名")
TelNum = InputBox("輸入電話號碼")
Print #1, B.Name, B.TelNum
Close #1
End Sub
(35)目錄列表框的Path屬性的作用是
A)顯示當前驅(qū)動器或指定驅(qū)動器上的某目錄下的文件名
B)顯示當前驅(qū)動器或指定驅(qū)動器上的目錄結構
C)顯示根目錄下的文件名
D)顯示指定路徑下的文件
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)數(shù)據(jù)管理技術發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性的階段是 【1】 。
(2)算法復雜度主要包括時間復雜度和 【2】 復雜度。
(3)在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中 【3】 的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結果。
(4)一棵二叉樹第六層(根結點為第一層)的結點數(shù)最多為 【4】 個。
(5)數(shù)據(jù)結構分為邏輯結構和存儲結構,循環(huán)隊列屬于 【5】 結構。
(6)設有以下函數(shù)過程:
Function fun(m As Integer) As Integer
Dim k As Integer, sum As Integer
sum = 0
For k = m To 1 Step -2
sum = sum + k
Next k
fun = sum
End Function
若在程序中用語句 s = fun(10) 調(diào)用此函數(shù),則s的值為 【6】 。
(7)在窗體上畫一個命令按鈕和一個文本框,然后編寫命令按鈕的Click事件過程。程序運行后,在文本框中輸入一串英文字母(不區(qū)分大小寫),單擊命令按鈕,程序可找出未在文本框中輸入的其他所有英文字母,并以大寫方式降序顯示到Text1中。例如,若在Text1中輸入的是abDfdb,則單擊Command1按鈕后Text1中顯示的字符串是ZYXWVUTSRQPONMLKJIHGEC。請?zhí)羁铡?BR> Private Sub Command1_Click( )
Dim str As String, s As String, c As String
str = UCase(Text1)
s = ""
c = "Z"
While c >= "A"
If InStr(str, c) = 0 Then
s = 【7】
End If
c = Chr$(Asc(c) 【8】 )
Wend
If s <> "" Then
Text1 = s
End If
End Sub
(8) 在n個運動員中選出任意r個人參加比賽,有很多種不同的選法,選法的個數(shù)可以用公式 計算。下圖窗體中3個文本框的名稱依次是Text1、Text2、Text3。程序運行時在Text1、Text2中分別輸入n和r的值,單擊Command1按鈕即可求出選法的個數(shù),并顯示在Text3文本框中(見下圖)。請?zhí)羁铡?BR> Private Sub Command1_Click( )
Dim r As Integer, n As Integer
n = Text1
r = Text2
Text3 = fun(n) / fun(【9】 ) / fun(r)
End Sub
Function fun(n As Integer) as long
Dim t As Long
【10】
For k = 1 To n
t = t * k
Next
fun = t
End Function
(9)以下是一個比賽評分程序。在窗體上建立一個名為Text1的文本框數(shù)組,然后畫一個名為Text2的文本框和名為Command1的命令按鈕。運行時在文本框數(shù)組中輸入7個分數(shù),單擊“計算得分”命令按鈕,則最后得分顯示在Text2文本框中(去掉一個分和一個最低分后的平均分即為最后得分),如圖所示。請?zhí)羁铡?BR> Private Sub Command1_Click( )
Dim k As Integer
Dim sum As Single, max As Single, min As Single
sum = Text1(0)
max = Text1(0)
min = 【11】
For k = 【12】 To 6
If max < Text1(k) Then
max = Text1(k)
End If
If min > Text1(k) Then
min = Text1(k)
End If
sum = sum + Text1(k)
Next k
Text2 = (【13】 ) / 5
End Sub
(10)如圖所示,在列表框List1中已經(jīng)有若干人的簡單信息,運行時在Text1文本框(即“查找對象”右邊的文本框)輸入一個姓或姓名,單擊“查找”按鈕,則在列表框中進行查找,若找到,則把該人的信息顯示在Text2文本框中。若有多個匹配的列表項,則只顯示第1個匹配項;若未找到,則在Text2中顯示“查無此人”。請?zhí)羁铡?BR> Private Sub Command1_Click()
Dim k As Integer, n As Integer, found As Boolean
found = False
n = Len(【14】 )
k = 0
While k < List1.ListCount And Not found
If Text1 = Left$(List1.List(k), n) Then
Text2 = 【15】
found = True
End If
k = k + 1
Wend
If Not found Then
Text2 = "查無此人"
End If
End Sub
2005年9月全國計算機等級考試二級VB筆試試卷(含參考答案)
選擇題
【 1- 5】 CACDC 【 6-10】 DAABB
【11-15】 BCCDC 【16-20】 CABBA
【21-25】 DAADC 【26-30】 ADBAC
【31-35】 CCDAB
填空題
【1】數(shù)據(jù)庫系統(tǒng) 【2】空間 【3】驅(qū)動模塊
【4】32 【5】存儲結構 【6】30
【7】s&c 【8】-1 【9】n-r
【10】t=1 【11】text1(0) 【12】1
【13】(sum-max-min) 【14】text1.text 【15】list1.list(k)