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