A)Visual Basic 是事件驅動型可視化編程工具
B)Visual Basic應用程序不具有明顯的開始和結束語句
C)Visual Basic工具箱中的所有控件都具有寬度(Width)和高度(Height)屬性
D)Visual Basic中控件的某些屬性只能在運行時設置
(2)以下敘述中錯誤的是
A)在工程資源管理器窗口中只能包含壹個工程文件及屬於該工程的其他文件
B)以.BAS為擴展名的文件是標準模塊文件
C)窗體文件包含該窗體及其控件的屬性
D)壹個工程中可以含有多個標準模塊文件
(3)以下敘述中錯誤的是
A)雙擊鼠標可以觸發DblClick事件
B)窗體或控件的事件的名稱可以由編程人員確定
C)移動鼠標時,會觸發MouseMove事件
D)控件的名稱可以由編程人員設定
(4)以下不屬於Visual Basic系統的文件類型是
A).frm B).bat C).vbg D).vbp
(5)以下敘述中錯誤的是
A)打開壹個工程文件時,系統自動裝入與該工程有關的窗體、標準模塊等文件
B)保存Visual Basic程序時,應分別保存窗體文件及工程文件
C)Visual Basic應用程序只能以解釋方式執行
D)事件可以由用戶引發,也可以由系統引發
(6)以下能正確定義數據類型TelBook的代碼是
A)Type TelBook B)Type TelBook
Name As String*10 Name As String*10
TelNum As Integer TelNum As Integer
End Type End TelBook
C)Type TelBook D)Typedef TelBook
Name String*10 Name String*10
TelNum Integer TelNum Integer
End Type TelBook EndType
(7)以下聲明語句中錯誤的是
A)Const var1=123 B)Dim var2 = ABC
C)DefInt a-z D)Static var3 As Integer
(8)設窗體上有壹個列表框控件Lis選中的列表項內容的是t1,且其中含有若幹列表項。則以下能表示當前被
A)List1.List B)List1.ListIndex C)List1.Index D)List1. Text
(9)程序運行後,在窗體上單擊鼠標,此時窗體不會接收到的事件是
A)MouseDown B)MouseUp C)Load D)Click
(10)設a=10,b=5,c =1,執行語句Print a > b > c後,窗體上顯示的是
A)True B)False C)1 D)出錯信息
(11)如果要改變窗體的標題,則需要設置的屬性是
A)Caption B)Name C)BackColor D)BorderStyle
(12)以下能判斷是否到達文件尾的函數是
A)BOF B)LOC C)LOFD)EOF
(13)如果壹個工程含有多個窗體及標準模塊,則以下敘述中錯誤的是
A)如果工程中含有Sub Main過程,則程序壹定首先執行該過程
B)不能把標準模塊設置為啟動模塊
C)用Hide方法只是隱藏壹個窗體,不能從內存中清除該窗體
D)任何時刻最多只有壹個窗體是活動窗體
(14)窗體的MouseDown事件過程
Form_MouseDown (ButtSingle)
on As Integer, Shift As Integer, X As Single, Y As
有4個參數,關於這些參數,正確的描述是
A)通過Button參數判定當前按下的是哪壹個鼠標鍵
B)Shift參數只能用來確定是否按下Shift鍵
C)Shift參數只能用來確定是否按下Alt和Ctrl鍵
D)參數x,y用來設置鼠標當前位置的坐標
(15)設組合框Combo1中有3個項目,則以下能刪除最後壹項的語句是
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItemCombo1.Listcount
(16)以下關於焦點的敘述中,錯誤的是
A)如果文本框的TabStop屬性為False,則不能接收從鍵盤上輸入的數據
B)當文本框失去焦點時,觸發LostFocus事件
C)當文本框的Enabled屬性為False時,其Tab順序不起作用
D)可以用TabIndex屬性改變Tab順序
(17)如果要在菜單中添加壹個分隔線,則應將其Caption屬性設置為
A)= B)* C)& D)-
(18)執行語句Open "數據能夠執行的操作是Tel.dat" For Random As #1 Le
n = 50後,對文件Tel.dat中的
A)只能寫,不能讀 B)只能讀,不能寫
C)既可以讀,也可以寫 D)不能讀,不能寫
(19)在窗體上畫壹個本框,然後編寫如下事件過
名稱為Command1的命令按鈕和兩程:個名稱分別為Text1、Text2的文
Private Sub Command1_Click()
n = Text1.Text
Select Case n
Case 1 To 20
x = 10
Case 2, 4, 6
x = 20
Case Is < 10
x = 30
Case 10
x = 40
End Select
Text2.Text = x
End Sub
程序運行後,如果在文內容是本框Text1中輸入10,然後單擊命令按鈕,則在Text2中顯示的
A)10 B)20 C)30 D)40
(20)設有以下循環結構
Do
循環體
Loop While <條件>
則以下敘述中錯誤的是
A)若"條件"是壹個為0的常數,則壹次也不執行循環體
B)"條件"可以是關系表達式、邏輯表達式或常數
C)循環體中可以使用Exit Do語句
D)如果"條件"總是為True,則不停地執行循環體
(21)在窗體上畫壹個名稱為Command1的命令按鈕,然後編寫如下事件過程:
Private Sub Command1_Click()
Dim num As Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序運行後,單擊命令按鈕,則窗體上顯示的內容是
A)1 3.4 5.8 B)1 3 5
C)1 4 7 D)無數據輸出
(22)在窗體上畫壹個名稱為Command1的命令按鈕,然後編寫如下事件過程:
Private Sub Command1_Click()
Dim a As Integer, sAs Integer
a = 8
s = 1
Do
s = s + a
a = a-1
Loop While a <= 0
Print s; a
End Sub
程序運行後,單擊命令按鈕,則窗體上顯示的內容是
A) 7 9 B) 34 0
C) 9 7 D)死循環
(23)設有如下通用過程:
Public Function f(x As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗體上畫壹個名稱為Command1的命令按鈕,然後編寫如下事件過程:
Private Sub Command1_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x; y
End Sub
程序運行後,如果單擊命令按鈕,則在窗體上顯示的內容是
A)10 5 B)20 5
C)20 40 D)10 40
(24)設有如下通用過程:
Public Sub Fun(a(), ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗體上畫壹個名稱為Text1的文本下的事件過程:框和壹個名稱為Command1的命令按鈕,然後編寫如
Private Sub Command1_Click()
Dim arr(5) As Variant
For i = 1 To 5
arr(i) = i
Next
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序運行後,單擊命令按鈕,則在文本框中顯示的內容是
A)10 B)15 C)25 D)24
(25)在窗體上畫壹個名稱為Command1的命令按鈕,然後編寫如下代碼:
Option Base 1
Private Sub Command1_Click()
d = 0
c = 10
x = Array(10, 12, 21, 32, 24)
For i = 1 To 5
If x(i) > c Then
d = d + x(i)
c = x(i)
Else
d = d-c
End If
Next i
Print d
End Sub
程序運行後,如果單擊命令按鈕,則在窗體上輸出的內容為
A)89 B)99 C)23 D)77
(26)在窗體上畫兩個別為Label1、Label2、Labe顯示"A"、"B"、"A*B"等文Label3 顯示A*B的計算結果。當單擊命令按鈕"計算"時Label3中。以下不能實現上滾動條,名稱分別為Hscroll1l3、Label4、Label5、Label6,字信息,標簽Label1、Label2分。如圖所示。當移動滾動框時,,對標簽Label1、Label2中顯示述功能的事件過程是、Hscroll2;六個標簽,名稱分其中標簽Label 4~ Label6分別別顯示其右側的滾動條的數值,在相應的標簽中顯示滾動條的值的兩個值求積,並將結果顯示在
A)Private Sub Command1_Click()
Label3.Caption = Str(Val(Label1.Caption )*Val( Label2.Caption))
End Sub
B)Private Sub Command1_Click()
Label3.Caption = HScroll1.Value * HScroll2.Value
End Sub
C)Private Sub Command1_Click()
Label3.Caption = HScroll1 * HScroll2
End Sub
D)Private Sub Command1_Click()
Label3.Caption = HScroll1. Text * HScroll2.Text
End Sub
(27)在窗體上畫壹個名稱為Command1的命令按鈕,然後編寫如下事件過程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod 3 <> 0 Thenm = m + n 3
Next n
Print n
End Sub
程序運行後,如果單擊命令按鈕,則窗體上顯示的內容是
A)15 B)18 C)21 D)24
(28)在窗體上畫壹個名稱為Text1的文本框,並編寫如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_MouY As Single)seUp(Button As Integer, Shift As Integer, X As Single,
Print "程序設計"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Print "Visual Basic";
End Sub
程序運行後,如果按"A"鍵,然後單擊窗體,則在窗體上顯示的內容是
A)Visual Basic B)程序設計
C)A程序設計 D)Visual Basic程序設計
(29)設有如下程序:
Private Sub Command1_Click()
Dim sum As Double, xAs Double
sum = 0
n = 0
For i = 1 To 5
x = n / i
n = n + 1
sum = sum + x
Next
End Sub
該程序通過For循環計算壹個表達式的值,這個表達式是
A)1+1/2+ 2/3+3/4+4/5 B)1+1/2+2/3+3/4
C)1/2+2/3+3/4+4/5 D)1+1/2+1/3+1/4+1/5
(30)以下有關數組定義的語句序列中,錯誤的是
A) Static arr1(3)
arr1(1) = 100
arr1(2) = "Hello"
arr1(3) = 123.45
B)Dim arr2() As Integer
Dim size As Integer
Private Sub Command2_Click()
size = InputBox("輸入:")
ReDim arr2(size)
......
End Sub
C)Option Base 1
Private Sub Command3_Click()
Dim arr3(3) As Integer
......
End Sub
D)Dim n As Integer
Private Sub Command4_Click()
Dim arr4(n) As Integer
......
End Sub
二、填空題(每空2分,***30分)
(1)執行下面的程序段後,i的值為〖1〗 ,s的值為 〖2〗 。
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(2)把窗體的KeyPreview屬性設置為True,然後編寫如下兩個事件過程:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print Chr(KeyCode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
程序運行後,如果直接分別是 〖3〗 和 〖4〗 。按鍵盤上的"A"鍵(即不按住Shift鍵),則在窗體上輸出的字符
(3)在窗體上畫壹個標簽(名稱為L寫如下幾個事件過程:abel1)和壹個計時器(名稱為Timer1),然後編
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 〖5〗
End Sub
Private Sub Form_Click()
Timer1.Enabled = 〖6〗
End Sub
Private Sub Timer1_Timer()
Label1.Caption = 〖7〗
End Sub
程序運行後,單擊窗體,將在標簽中填空。顯示當前時間,每隔1秒鐘變換壹次(見圖)。請
——————————————————————
14:54:41
——————————————————————
(4)在窗體上畫壹個Label1和Command1,然後編文本框、壹個標簽和壹個命令按寫如下兩個事件過程:鈕,其名稱分別為Text1、
Private Sub Command1_Click()
S$ = InputBox("請輸入壹個字符串")
Text1.Text = S$
End Sub
Private Sub Text1_Change()
Label1.Caption = UCase(Mid(Text1.Text, 7))
End Sub
程序運行後,單擊命令"VisualBasic",則在標簽按鈕,將顯示壹個輸入對話框,中顯示的內容是 〖8〗 。如果在該對話框中輸入字符串
(5)在窗體上畫壹個列表框、壹個Command1和Label1,通過屬性窗口把列表、"第三個項目"、"第四個項目"。程序運鈕,即可將所選擇的項目刪除,並在標簽選擇"第三個項目"的情況)。下面是實現命令按鈕和壹個標簽,其名稱分別為List1、框中的項目設置為:"第壹個項目"、"第二個項目"行後,在列表框中選擇壹個項目,然後單擊命令按中顯示列表框當前的項目數,運行情況如圖所示(上述功能的程序,請填空。
Private Sub Command1 _Click()
If List1.ListIndex >= 〖9〗 Then
List1.RemoveItem 〖10〗
Label1.Caption = 〖11〗
Else
MsgBox "請選擇要刪除的項目"
End If
End Sub
—————————— ———————————
第壹個項目
第二個項目 COMMAND1
第三個項目
3
—————————————————————
(6)設有程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1, Max as Integer
arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)
〖12〗 = arr1(1)
For i = 1 To 8
If arr1(i) > Max Then 〖13〗
Next i
Print "最大值是: "; Max
End Sub
以上程序的功能是:用Array函數建組中元素的最大值。請填空。立壹個含有8個元素的數組,然後查找並輸出該數
(7)以下程序的功能在文本框Text1中顯示出來是:把當前目錄下的順序文件sm。請填空。text1.txt的內容讀入內存,並
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ""
Open ".smtext1.txt"〖14〗 As #1
Do While 〖15〗
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
2003年9月全國計算機等級考試二級VB語言筆試試卷參考答案
壹、 選擇題
(1) C (2) A (3) B (4) B (5) C
(6) A (7) B (8) D (9) C (10)B
(11)A (12)D (13)A (14)A (15)B
(16)A (17)D (18)C (19)A (20)A
(21)B (22)C (23)C (24)A (25)C
(26)D (27)C (28)D (29)C (30)D
二、 填空題
(1) 〖1〗 5.6 〖2〗 5
(2) 〖3〗 A 〖4〗 a
(3) 〖5〗 1000 〖6〗 True 〖7〗 Time
(4) 〖8〗 BASIC
(5) 〖9〗 0 〖10〗List1.ListIndex 〖11〗 List1.ListCount
(6) 〖12〗 Max 〖13〗 Max = arr1(i)
(7) 〖14〗 For Input 〖15〗 Not EOF(1)
考試時間我也不知道我估計應該是90分鐘。
考試內容有;
全國計算機等級考試二級公***基礎知識
基本要求
1. 掌握算法的基本概念。
2. 掌握基本數據結構及其操作。
3. 掌握基本排序和查找算法。
4. 掌握逐步求精的結構化程序設計方法。
5. 掌握軟件工程的基本方法,具有初步應用相關技術進行軟件開發的能力。
6. 掌握數據的基本知識,了解關系數據庫的設計。
考試內容
壹、 基本數據結構與算法
1. 算法的基本概念;算法復雜度的概念和意義(時間復雜度與空間復雜度)。
2. 數據結構的定義;數據的邏輯結構與存儲結構;數據結構的圖形表示;線性結構與非線性結構的概念。
3. 線性表的定義;線性表的順序存儲結構及其插入與刪除運算。
4. 棧和隊列的定義;棧和隊列的順序存儲結構及其基本運算。
5. 線性單鏈表、雙向鏈表與循環鏈表的結構及其基本運算。
6. 樹的基本概念;二叉樹的定義及其存儲結構;二叉樹的前序、中序和後序遍歷。
7. 順序查找與二分法查找算法;基本排序算法(交換類排序,選擇類排序,插入類排序)。
二、 程序設計基礎
1. 程序設計方法與風格。
2. 結構化程序設計。
3. 面向對象的程序設計方法,對象,方法,屬性及繼承與多態性。
三、 軟件工程基礎
1. 軟件工程基本概念,軟件生命周戎概念,軟件工具與軟件開發環境。
2. 結構化分析方法,數據流圖,數據字典,軟件需求規格說明書。
3. 結構化設計方法,總體設計與詳細設計。
4. 軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統測試。
5. 程序的調試,靜態調試與動態調試。
四、 數據庫設計基礎
1. 數據庫的基本概念:數據庫,數據庫管理系統,數據庫系統。
2. 數據模型,實體聯系模型及E-R圖,從E-R圖導出關系數據模型。
3. 關系代數運算,包括集合運算及選擇、投影、連接運算,數據庫規範化理論。
4. 數據庫設計方法和步驟:需求分析、概念設計、邏輯設計和物理設計的相關策略。
考試方式
1、 公***基礎的考試方式為筆試,與C語言(VisualBASIC、Visual FoxPro、Java、Access、Visual C++)的筆試部分合為壹張試卷。公***基礎部分占全卷的30分。
2、 公***基礎知識有10道選擇題和5道填空題。