2007年3月全國計算機等級考試二級VB筆試真題

  一、 選擇題(第小題2分,共70分) 下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填塗在答題卡相應位置上,答在試卷上不得分。

2007年3月全國計算機等級考試二級VB筆試真題

(1)下列敘述中正確的是(B)

A)算法的效率只與問題的規模有關,而與數據的存儲結構無關

B)算法的時間複雜度是指執行算法所需要的計算工作量

C)數據的邏輯結構與存儲結構是一一對應的

D)算法的時間複雜度與空間複雜度一定相關

(2)在結構化程序設計中,模塊劃分的原則是(D)

A)各模塊應包括儘量多的功能

B)各模塊的規模應儘量大

C)各模塊之間的聯繫應儘量緊密

D)模塊內具有高內聚度、模塊間具有低耦合度

(3)下列敘述中正確的是(A)

A)軟件測試的主要目的是發現程序中的錯誤

B)軟件測試的主要目的是確定程序中錯誤的位置

C)爲了提高軟件測試的效率,最好由程序編制者自己來完成軟件的測試工作

D)軟件測試是證明軟件沒有錯誤

(4) 下面選項中不屬於面向對象程序設計特徵的是(C)

A)繼承性

B)多態性

C)類比性

D)封裝性

(5) 下列對隊列的敘述正確的是(D)

A)隊列屬於非線性表

B)隊列按“先進後出”原則組織數據

C)隊列在隊尾刪除數據

D)隊列按“先進先出”原則組織數據

(6) 對下列二叉樹(C)

A

B C

D E F X

Y Z

進行前序遍歷的結果爲

A)DYBEAFCZX

B)YDEBFZXCA

C)ABDYECFXZ

D)ABCDEFXYZ

(7)某二叉樹中有n個度爲2的結點,則該二叉樹中的葉子結點數爲(A)

A)n+1

B)n-1

C)2n

D)n/2

(8)在下列關係運算中,不改變關係表中的屬性個數但能減少元組個數的是(B)

A)並

B)交

C)投影

D)笛卡兒乘積

(9)在E—R圖中,用來表示實體之間聯繫的圖形是(C)

A)矩形

B)橢圓形

C)菱形

D)平行四邊形

(10)下列敘述中錯誤的是(A)

A)在數據庫系統中,數據的物理結構必須與邏輯結構一致

B)數據庫技術的根本目標是解決數據共享問題

C)數據庫技術是指己有數據管理系統的基礎上建立數據庫

D)數據庫系統需要操作系統的支持

(11)下面可以正確定義2個整形變量和1個字符串變量的語句的是(D)

A)Dim n,m AS Interger,s AS String

B)Dim a%,b$,c AS String

C)Dim a AS Integer,b,c AS String

D)Dim x%,y AS Integer,z AS String

(12)下列表述中不能判斷x是否爲偶數的是(D)

A)x/2=Int(x/2)

B)x Mod 2=0

C)Fix(x/2)=x/2

D)x2=0

13)設在名稱爲Myform的窗體上只有1個名稱爲C1的命令按鈕,下面敘述中正確的是(B)

A)窗體的Click事件過程的過程名是Myform_Click

B)命令按鈕的Click事件過程名是C1_Click

C)命令按鈕的Click事件過程的過程名是Command1_Click

(14)設窗體上有1個滾動條,要求單擊滾動條右端的◢按鈕一次,滾動條移動一定的刻度值,決定此刻度的屬性是(C)

A)Max

B)Min

C)SmallChange

D)LargeChang

(15)1個二維數組可以存放1個矩形.在程序開始有語句Option Base 0,則下面定義的數組中正好可以存放1個4*3矩陣(即只有12個元素)的是(B)

A)Dim a(-2 To 0,2) AS Integer

B)Dim a(3,2) AS Ingeger

C)Dim a(4,3)AS Ingeger

D)Dim a(-1 To -4,-1 To -3)AS Ingeger

(16)若設置了文本框的屬性PasswordChar=”$”,則運行程序時向文本框中輸入8個任意字符後,文本框中顯示的是(A)

A)8個”$”

B)1個”$”

C)8個”*”

D)無任何內容

(17)設在窗體上有1個名稱爲Combo1的組合框,含有5個項目,要刪除最後一項,正確的語句是(B)

A)veItem

B) veItem4

C) veItem Count

D) veItem5

(18)工程中有2個窗體,名稱分別爲2,Form1爲啓動窗體,該窗體上有命令按鈕Command1,要求程序運行後單擊該命令按鈕時顯示Form2,則按鈕的Click事件過程應該是(A)

A)Private Sub Command1_Click( )  B) Private Sub Command1_Click( )

         ble

End Sub            End Sub

C) Private Sub Command1_Click( )   D)Private Sub Command1_Click( )

Load Form2           

End Sub            End Sub

(19)若在某窗體模塊中有如下事件過程(D)

Private Sub Command1_Click(Index AS Integer)

……

End Sub

則以下敘述中正確的是

A) 此事件過程與不帶參數的事件過程沒有區別

B) 有1個名稱爲Command1的窗體,單擊此窗體則執行此事件過程

C) 有1個名稱爲Command1的空件數組,數組中有多個不同類型控件

D) 有1個名稱爲Command1的空件數組,數組中有多個相同類型控件

(20)以下循環語句中在任何情況下都至少執行一次循環體的是(C)

A)Do While <條件> B)While <條件>

循環體 循環體

Loop Wend

C)Do D)Do Until <條件>

循環體 循環體

Loop Until <條件> Loop

(21)在窗體上有1個名爲Cd1的.通用對話框,爲了在運行程序時打開保存文件對話框,則在程序總應使用的語句是(A)

A)on=2

B)on=1

C)Save=Ture

D)Save=0

(22)下面關於菜單的敘述中錯誤的是(B)

A)各級菜單中的所有菜單項的名稱必須唯一

B)同一子菜單中的菜單項名稱必須唯一,但不同子菜單中的菜單項名稱可以相同

C)彈出式菜單也用菜單編輯器編輯

(23)已知有下面的過程(D)

Private Sub proc1(a As Integer,b As String,Optional x As Boolean)

……

End Sub

正確調用此過程的語句是

A)Call procl(5)

B)Call proc1 5,”abc”,False

C)proc1(12,”abc”,True)

D)proc1 5, “abc”

(24)在窗體上有一個文件名稱爲Text1的文本框和1個名稱爲Command1的命令按鈕,要求在程序執行時,每單擊命令按鈕一次,文本框向右移動一定距離。下面能夠正確實現上述功能的程序是(C)

A)Private Sub Command1_Click()   B) Private Sub Command1_Click()

=100       T  = -100

End Sub           End Sub

C)Private Sub Command1_Click()   D) Private Sub Command1_Click()

+100       

End Sub            End Sub

(25)某人創建了1個工程,其中的窗體名稱爲Form1;之後又添加了1個名爲Form2的窗體,並希望程序執行時先顯示Form2窗體,那麼,他需要做的工作是(A)

A)在工程屬性對話框中把“啓動對象”設置爲Form2

B)在Form1的Load事件過程中加入語句 Load Form2

C)在Form2的Load事件過程中加入語句

D)在Form2的TabIndex屬性設置爲1,把Form1的TabIndex屬性設置爲2

(26)窗體上有1個名稱爲Text1的文本框和1個名稱爲Command1的命令按鈕。要求程序運行時,單擊命令按鈕,就可以把文本框中的內容寫到文件中,每次寫入的內容附加到文件原有內容之後。下面能夠實現上述功能的程序是(C)

A)Private Sub Command1_Click() B) Private Sub Command1_Click()

Open “” For Inpit As#1 Open “” For Outpit As#1

Print#1,         Print#1,

Close#1            Close#1

End Sub              End Sub

C) Private Sub Command1_Click() D) Private Sub Command1_Click()

Open “” For Append As#1 Open “” For Random As#1

Print#1,            Print#1,

Close#1                         Close#1

End Sub                  End Sub

(27)爲計算1+3+5+……+99的值,某人編程如下

k=1

s=0

While k<=99

k=k+2 : s=s+k

Wend

Print s

在調試時發現運行結果有錯誤,需要修改。下列錯誤原因和修改方案中正確的是(D)

A)While …Wend循環語句錯誤,應改爲For k=1 To 99 …Next k

B)循環條件錯誤,應改爲Whlie k<99

C)循環前的賦值語句k=1錯誤,應改爲k=0

D)循環中兩條賦值語句的順序錯誤,應改爲s=s+k : k=k+2

(28)下面程序在調試時出現了死循環

Private Sub Command1_Click()

n=InputBox(“請輸入一個整數”)

Do

If n Mod 2=0 Then

n=n+1

Else

n=n+2

Else If

Loop Until n=1000

End Sub

下面關於死循環的敘述中正確的是(D)

A)只有輸入的n是偶數時纔會出現死循環,否則不會

B)只有輸入的n是奇數時纔會出現死循環,否則不會

C)只有輸入的n是大於1000的整數時纔會出現死循環,否則不會

D)輸入任何整數都會出現死循環

(29)在窗體上有1個名稱爲CommonDialog1的通用對話框和1個名稱爲Command1的命令按鈕,以及其他一些控件。要求在程序運行時,單擊Command1按鈕,則顯示打開文件對話框,並在選擇或輸入了1個文件名後,就可以打開該文件。以下是Command1_Click事件過程的兩種算法

算法1:

Private Sub Command1_Click()

Open

Open Name For Input As#1

End Sub

算法2:

Private Sub Command1_Click()

Open

Name<>””Then

Open Name For Input As#1

End If

End Sub

下面關於這兩種算法的敘述中正確的是(B)

A) 顯示打開文件對話框後若未選擇或輸入任何文件名,則算法2會出錯,算法1不會

B) 顯示打開文件對話框後若未選擇或輸入任何文件名,則算法1會出錯,算法2不會

C) 兩種算法的執行結果完全一樣

D) 算法1允許輸入的文件名中含有空格,而算法2不允許

(30)窗體上有1個名稱爲List的列表框,其中已經輸入了若干個項目(如圖所示):還有2個文本框,名稱分別爲Text1、Text2, 1個名稱爲  Command1的命令按鈕,並有以下程序

Private Sub Command1_Click()

Dim str As String, s As String, k As Integer

s=Text1

Str=””

For k=Count-1 to 0 Step-1

If InStr((k),s)>0 then

str=str&(k)&” ”

End If

Next k

If str=””Then

Text2=”沒有匹配的項目”

Else

Text2=str

End If

End Sub

程序運行時,在Text1中輸入“京”,單擊命令按鈕,則在Text2中顯示的內容是(C)

A) 京

B) 北京 南京

C) 南京

D) 沒有匹配的項目

(31)在窗體上畫1一個名稱爲Command1的命令按鈕,並編寫以下程序

Private Sub Command1_Click()

Print fun(“ABCDEFG”)

End Sub

Function fun(st As String) As String

stlen=Len(st)

temp=””

For k

fun=temp

End Function

程序運行時,單擊命令按鈕,則窗體上顯示的是(B)

A)ABCDEFG

B)AGBFCE

C)GFEDCBA

D)AGBFCED

(32)在窗體上先後畫2個圖片框,名稱分別爲Picture1和banana,banana中添加了香蕉圖片(見圖1),且將Mode屬性設置爲1。要求程序運行時,可以用鼠標把banana拖拽到Picture1中(見圖2)。能實現此功能的事件過程是(C)

A) Priate Sub Form_DragDrop(Source As Control,X As Single,Y As Single +X,+Y)

End Sub

B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single )

++Y

End Sub

C) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )

++Y

End Sub

D) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )

+X, +Y

End Sub

(33)在窗體上畫1個名稱爲Command1的命令按鈕,然後編寫如下事件過程

Option Base 1

Pribate Sub Command1_Click()

Dim a(5.5) As Integer

For i=1 To 5

a(I,j)*510

Next j

Next i

S=0

For i=1 To 5

S=s+a(i,i)

Next i

Print s

End Sub

程序運行後,單擊命令按鈕,輸出結果是(A)

A) 15

B)13

C)11

D)9