一、 選擇題(第小題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