一、選擇題(每小題2分,共70分)
下列各題A)、b)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。
(1)下列選項中不屬于結(jié)構(gòu)化程序設計方法的是。
A.自頂向下
b.逐步求精
C.模塊化
D.可復用
(2)兩個或兩個以上模塊之間關聯(lián)的緊密程度稱為。
A.耦合度
b.內(nèi)聚度
C.復雜度
D.數(shù)據(jù)傳輸特性
(3)下列敘述中正確的是。
A.軟件測試應該由程序開發(fā)者來完成
B.程序經(jīng)調(diào)試后一般不需要再測試
C.軟件維護只包括對程序代碼的維護
D.以上三種說法都不對
(4)按照“后進先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是。
A.隊列
b.棧
C.雙向鏈表
D.二叉樹
(5)下列敘述中正確的是。
A.線性鏈表是線性表的鏈式存儲結(jié)構(gòu)
B.棧與隊列是非線性結(jié)構(gòu)
C.雙向鏈表是非線性結(jié)構(gòu)
D.只有根結(jié)點的二叉樹是線性結(jié)構(gòu)
(6)對如下二叉樹
ABDECF
進行后序遍歷的結(jié)果為。
A.ABCDEF
b.DBEAFC
C.ABDECF
D.DEBFCA
(7)在深度為7的滿二叉樹中,葉子結(jié)點的個數(shù)為。
A.32
b.31
C.64
D.63
(8)“商品”與“顧客”兩個實體集之間的聯(lián)系一般是。
A.一對一
b.一對多
C.多對一
D.多對多
(9)在E-R圖中,用來表示實體的圖形是。
A.矩形
b.橢圓形
C.菱形
D.三角形
(10)數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關系是。
A.DB包含DBS和DBMS
b.DBMS包含DB和DBS
C.DBS包含DB和DBMS
D.沒有任何關系
(11)以下關于Visual Basic特點的敘述中,錯誤的是。
A.Visual Basic是采用事件驅(qū)動編程機制的語言
B.Visual Basic程序既可以編譯運行,也可以解釋運行
C.構(gòu)成Visual Basic程序的多個過程沒有固定的執(zhí)行順序
D.Visual Basic程序不是結(jié)構(gòu)化程序,不具備結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)
(12)以下敘述中,錯誤的是。
A.一個Visual Basic應用程序可以含有多個標準模塊文件
B.一個Visual Basic工程可以含有多個窗體文件
C.標準模塊文件可以屬于某個指定的窗體文件
D.標準模塊文件的擴展名是.bas
(13)以下敘述中,錯誤的是。
A.在Visual Basic中,對象所能響應的事件是由系統(tǒng)定義的
B.對象的任何屬性既可以通過屬性窗口設定,也可以通過程序語句設定
C.Visual Basic中允許不同對象使用相同名稱的方法
D.Visual Basic中的對象具有自己的屬性和方法
(14)設有如下語句:
Dim a,b As Integer
c="VisualBasic"
d=#7/20/2005#
以下關于這段代碼的敘述中,錯誤的是。
A.a(chǎn)被定義為Integer類型變量
B.b被定義為Integer類型變量
C.c中的數(shù)據(jù)是字符串
D.d中的數(shù)據(jù)是日期類型
(15)以下能從字符串"VisualBasic"中直接取出子字符串"Basic"的函數(shù)是。
A.Left
b.Mid
C.String
D.Instr
(16)設a=4,b=3,c=2,d=1,下列表達式的值是。
a>b+1 Or c< Mod b And>
A.True
B.1
C.-1
D.0
(17)以下可以作為Visual Basic變量名的是。
A.A#A
B.counstA
C.3A
D.?AA
(18)設x=4,y=6,則以下不能在窗體上顯示出“A=10”的語句是。
A.Print A=x+y
b.Print"A=";x+y
C.Print "A="+Str(x+y)
D.Print"A="&x+y
(19)假定有如下的命令按鈕(名稱為Command1)事件過程:
Private Sub Command1_Click()
x=InputBox("輸入:","輸入整數(shù)")
MsgBox"輸入的數(shù)據(jù)是:”,,”輸入數(shù)據(jù):"+x
End Sub
程序運行后,單擊命令按鈕,如果從鍵盤上輸入整數(shù)10,則以下敘述中錯誤的是。
A.x的值是數(shù)值10
B.輸入對話框的標題是“輸入整數(shù)”
C.信息框的標題是“輸入數(shù)據(jù):10”
D.信息框中顯示的是“輸入的數(shù)據(jù)是:”
(20)在窗體上畫1個命令按鈕(名稱為Command1)和1個文本框(名稱為Text1),然
后編寫如下事件過程:
Private Sub Command1_Click()
x=Val(Text1.Text)
Select Case x
Case 1,3
y=x*x
Case Is>=10,Is<=-10
y=x
Case -10 To 10
y=-x
End Select
End Sub
程序運行后,在文本框中輸入3,然后單擊命令按鈕,則以下敘述中正確的是。
A.執(zhí)行y=x*x
b.執(zhí)行y=-x
C.先執(zhí)行y=x*x,再執(zhí)行y=-x
D.程序出錯
(21)設有命令按鈕Command1的單擊事件過程,代碼如下:
Private Sub Command1_Click()
Dim a(30)As Integer
For i=1 To 30
a(i)=Int(Rnd*100)
Next
For Each arrItem In a
If arrItem Mod 7=0 Then Print arrItem;
If arrItem>90 Then Exit For
Next
End Sub
對于該事件過程,以下敘述中錯誤的是。
A.a(chǎn)數(shù)組中的數(shù)據(jù)是30個100以內(nèi)的整數(shù)
B.語句For Each arrItem In a有語法錯誤
C.If arrItem Mod 7=0……語句的功能是輸出數(shù)組中能夠被7整除的數(shù)
D.If arrItem>90……語句的作用是當數(shù)組元素的值大于90時退出For循環(huán)
(22)設有命令按鈕Command1的單擊事件過程,代碼如下:
Private Sub Command1_Click()
Dim a(3,3)As Integer
For i=1 To 3
For j=1 To 3
a(i,j)=i*j+i
Next j
Next i
Sum=0
For i=1 To 3
Sum=Sum+a(i,4-i)
Next i
Print Sum
End Sub
運行程序,單擊命令按鈕,輸出結(jié)果是。
A.20
B.7
C.16
D.17
(23)在窗體上畫1個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
a=0
For i=1 To 2
For j=1 To 4
If j Mod 2<>0 Then
a=a-1
End If
a=a+1
Next j
Next i
Print a
End Sub
程序運行后,單擊命令按鈕,輸出結(jié)果是。
A.0
b.2
C.3
D.4
(24)窗體上有名稱分別為Text1、Text2的2個文本框,有一個由3個單選按鈕構(gòu)成的控件數(shù)組Option1,如圖1所示。程序運行后,如果單擊某個單選按鈕,則執(zhí)行Text1中的數(shù)值與該單選按鈕所對應的運算(乘以1、10或100),并將結(jié)果顯示在Text2中,如圖2所示。為了實現(xiàn)上述功能,在程序中的問號(?)處應填入的內(nèi)容是。
圖1圖2 Private Sub Option1_Click(Index As Integer)
If Text1.Text<>""Then
Select Case ?
Case 0
Text2.Text=Val(Text1.Text)
Case 1
Text2.Text=Val(Text1.Text)*10
Case 2
Text2.Text=Val(Text1.Text)*100
End Select
End If
End Sub
A.Index
b.Option1.Index
C.Option1(Index)
D.Option1(Index).Value
(25)在窗體上畫1個命令按鈕,其名稱為Command1,然后編寫如下程序:
Private Sub Command1_Click()
Dim a(10)As Integer
Dim x As Integer
For i=1 To 10
a(i)=8+i
Next
x=2
Print a(f(x)+x)
End Sub
Function f(x As Integer)
x=x+3
f=x
End Function
程序運行后,單擊命令按鈕,輸出結(jié)果為。
A.12
b.15
C.17
D.18
2006年4月筆試試卷第5頁(共12頁)2006年4月筆試試卷第6頁(共12頁)(26)以下關于過程的敘述中,錯誤的是。
A.事件過程是由某個事件觸發(fā)而執(zhí)行的過程
B.函數(shù)過程的返回值可以有多個
C.可以在事件過程中調(diào)用通用過程
D.不能在事件過程中定義函數(shù)過程
(27)在窗體上畫3個標簽、3個文本框(名稱分別為Text1、Text2和Text3)和1個命令按鈕(名稱為Command1),外觀如圖所示。
編寫如下程序:
Private Sub Form_Load()
Text1.Text=""
Text2.Text=""
Text3.Text=""
End Sub
Private Sub Command1_Click()
x=Val(Text1.Text)
y=Val(Text2.Text)
Text3.Text=f(x,y)
End Sub
Function f(ByVal x As Integer,ByVal y As Integer)
Do While y<>0
tmp=x Mod y
x=y
y=tmp
Loop
f=x
End Function
運行程序,在Text1文本框中輸入36,在Text2文本框中輸入24,然后單擊命令按鈕,則在Text3文本框中顯示的內(nèi)容是。
A.4
b.6
C.8
D.12
(28)窗體上有名稱分別為Text1、Text2的2個文本框,要求文本框Text1中輸入的數(shù)據(jù)小于500,文本框Text2中輸入的數(shù)據(jù)小于1000,否則重新輸入。為了實現(xiàn)上述功能,在以下程序中問號(?)處應填入的內(nèi)容是。
Private Sub Text1_LostFocus()
Call CheckInput(Text1,500)
End Sub
Private Sub Text2_LostFocus()
Call CheckInput(Text2,1000)
End Sub
Sub CheckInput(t As ?,x As Integer)
If Val(t.Text)>x Then
MsgBox"請重新輸入!"
End If
End Sub
A.Text
b.SelText
C.Control
D.Form
(29)在窗體上畫1個文本框,其名稱為Text1,然后編寫如下過程:
Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)
Print Chr(KeyCode)
End Sub
Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer)
Print Chr(KeyCode+2)
End Sub
程序運行后,把焦點移到文本框中,此時如果敲擊“A”鍵,則輸出結(jié)果為。
A)A
AB)A
BC)A
CD)A
D
(30)為了使列表框中的項目呈多列顯示,需要設置的屬性為。
A.Columns
b.Style
C.List
D.MultiSelect
(31)在窗體上畫1個命令按鈕,名稱為Command1,然后編寫如下程序:
Dim Flag As Boolean
Private Sub Command1_Click()
Dim intNum As Integer
intNum=InputBox("請輸入:")
If Flag Then
Print f(intNum)
End If
End Sub
Function f(X As Integer)As Integer
If X<10 Then
Y=X
Else
Y=X+10
End If
f=Y
End Function
Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)
Flag=True
End Sub
運行程序,首先單擊窗體,然后單擊命令按鈕,在輸入對話框中輸入5,則程序的輸出結(jié)果為。
A.0
b.5
C.15
D.無任何輸出
(32)在菜單編輯器中建立1個名稱為Menu0的菜單項,將其“可見”屬性設置為False,并建立其若干子菜單,然后編寫如下過程:
Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)
If Button=1 Then
PopupMenu Menu0
End If
End Sub
則以下敘述中錯誤的是。
A.該過程的作用是彈出一個菜單
B.單擊鼠標右鍵時彈出菜單
C.Menu0是在菜單編輯器中定義的彈出菜單的名稱
D.參數(shù)X、Y指明鼠標當前位置的坐標
(33)窗體上有1個名稱為CD1的通用對話框,1個名稱為Command1的命令按鈕。命令按鈕的單擊事件過程如下:
Private Sub Command1_Click()
CD1.FileName=""
CD1.Filter="All Files|*.*|(*.Do
C.|*.Doc|(*.Txt)|*.txt"
CD1.FilterIndex=2
CD1.Action=1
End Sub
關于以上代碼,錯誤的敘述是。
A.執(zhí)行以上事件過程,通用對話框被設置為“打開”文件對話框
B.通用對話框的初始路徑為當前路徑
C.通用對話框的默認文件類型為*.Txt
D.以上代碼不對文件執(zhí)行讀寫操作
(34)以下敘述中錯誤的是。
A.用Shell函數(shù)可以執(zhí)行擴展名為.exe的應用程序
B.若用Static定義通用過程,則該過程中的局部變量都被默認為Static類型
C.Static類型的變量可以在標準模塊的聲明部分定義
D.全局變量必須在標準模塊中用Public或Global聲明
(35)以下關于文件的敘述中,錯誤的是。
A.使用Append方式打開文件時,文件指針被定位于文件尾
B.當以輸入方式(Input)打開文件時,如果文件不存在,則建立一個新文件
C.順序文件各記錄的長度可以不同
D.隨機文件打開后,既可以進行讀操作,也可以進行寫操作
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)對長度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為【1】。
(2)在面向?qū)ο蠓椒ㄖ,?】描述的是具有相似屬性與操作的一組對象。
(3)在關系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個【3】。
(4)程序測試分為靜態(tài)分析和動態(tài)測試。其中【4】是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。
(5)數(shù)據(jù)獨立性分為邏輯獨立性與物理獨立性。當數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應用程序不必修改,稱為【5】。
(6)下列語句的輸出結(jié)果是【6】。
Print Format(Int(12345.6789*100+0.5)/100,"0000,0.00")
(7)在窗體上畫1個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim arr(1 To 100)As Integer
For i=1 To 100
arr(i)=Int(Rnd*1000)
Next i
Max=arr(1)
Min=arr(1)
For i=1 To 100
If【7】Then
Max=arr(i)
End If
If【8】Then
Min=arr(i)
End If
Next i
Print"Max=";Max,"Min=";Min
End Sub
程序運行后,單擊命令按鈕,將產(chǎn)生100個1000以內(nèi)的隨機整數(shù),放入數(shù)組arr中,然后查找并輸出這100個數(shù)中的值Max和最小值Min,請?zhí)羁铡?br>(8)在窗體上畫1個名稱為Command1的命令按鈕和2個名稱分別為Text1、Text2的文本框,如圖所示,然后編寫如下程序:
Function Fun(x As Integer,ByVal y As Integer)As Integer
x=x+y
If x<0 Then
Fun=x
Else
Fun=y
End If
End Function
Private Sub Command1_Click()
Dim a As Integer,b As Integer
a=-10:b=5
Text1.Text=Fun(a,b)
Text2.Text=Fun(a,b)
End Sub
程序運行后,單擊命令按鈕,Text1和Text2文本框顯示的內(nèi)容分別是【9】和【10】。
(9)在窗體上畫1個命令按鈕和1個文本框,其名稱分別為Command1和Text1,然后編
寫如下代碼:
Dim SaveAll As String
Private Sub Command1_Click()
Text1.Text=Left(UCase(SaveAll),4)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
SaveAll=SaveAll+Chr(KeyAscii)
End Sub
程序運行后,在文本框中輸入abcdefg,單擊命令按鈕,則文本框中顯示的內(nèi)容是【11】。
(10)在窗體上畫1個命令按鈕和1個通用對話框,其名稱分別為Command1和CommonDialog1,然后編寫如下事件過程:
Private Sub Command1_Click()
CommonDialog1.【12】="打開文件"
CommonDialog1.Filter="All Files(*.*)|*.*"
CommonDialog1.InitDir="C:\"
CommonDialog1.ShowOpen
End Sub
該程序的功能是,程序運行后,單擊命令按鈕,將顯示“打開”文件對話框,其標題是“打開文件”,在“文件類型”欄內(nèi)顯示“AIl Files(*.*)”,并顯示C盤根目錄下
的所有文件,請?zhí)羁铡?/p>
(11)在窗體上畫1個文本框,名稱為Text1,然后編寫如下程序:
Private Sub Form_Load()
Open"d:\temp\dat.txt"For Output As#1
Text1.Text=""
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
lf【13】=13 Then
If UCase(Text1.Text)=【14】Then
Close 1
End
Else
Write#1,【15】
Text1.Text=""
End If
End If
End Sub
以上程序的功能是,在D盤temp目錄下建立1個名為dat.txt的文件,在文本框中輸入字符,每次按回車鍵(回車符的ASCII碼是13)都把當前文本框中的內(nèi)容寫入文件dat.txt,并清除文本框中的內(nèi)容;如果輸入“END”,則結(jié)束程序。請?zhí)羁铡?br>一、選擇題
(1)【答案】 D)
【解析】結(jié)構(gòu)化程序設計方法的主要原則是:自頂向下、逐步求精、模塊化及限制使用goto語句?蓮陀眯允侵杠浖夭患有薷暮蜕约有薷目稍诓煌能浖_發(fā)過程中重復使用的性質(zhì)。軟件可復用性是軟件工程追求的目標之一,是提高軟件生產(chǎn)效率的最主要方法。面向?qū)ο蟮某绦蛟O計具有可復用性的優(yōu)點。
(2)【答案】 A)
【解析】模塊的獨立程度可以由兩個定性標準度量:內(nèi)聚性和耦合性。耦合性衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚性衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。一般來說,要求模塊之間的耦合盡可能地弱,而模塊的內(nèi)聚程度要盡可能地高。
(3)【答案】 D)
【解析】因為測試的目的在于發(fā)現(xiàn)錯誤,由程序的編寫者自己進行測試是不合適的,為了達到好的測試效果,應該由獨立的第三方進行測試工作,所以選項A)錯誤;程序調(diào)試,修改一個錯誤的同時可能引入了新的錯誤,解決的辦法是在修改了錯誤之后,必須進行回歸測試,所以選項B)錯誤;所謂軟件維護,就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程,可見選項C)也是錯誤的。
(4)【答案】 B)
【解析】棧的特點是棧頂元素總是最后被插入的元素,也是最早被刪除的元素;棧底元素總是最早被插入的元素,也是最晚才能被刪除的元素,即棧的修改原則是“后進先出”(Last In First Out,簡稱LIFO) 或“先進后出”(First In Last Out,簡稱FILO)。
(5)【答案】 A)
【解析】所謂線性鏈表,就是指線性表的鏈式存儲結(jié)構(gòu),簡稱鏈表。線性表鏈式存儲結(jié)構(gòu)的基本單位稱為存儲結(jié)點,每個存儲結(jié)點包括數(shù)據(jù)域和指針域兩個組成部分。棧、隊列和雙向鏈表是線性結(jié)構(gòu),二叉樹是非線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個元素沒有關系,即使是空的二叉樹也是非線性結(jié)構(gòu)。
(6)【答案】 D)
【解析】后序遍歷可以描述為:若二叉樹為空,則空操作;否則:
①后序遍歷左子樹;
②后序遍歷右子樹;
③訪問根結(jié)點。
對于后序遍歷,第一個訪問的結(jié)點一定是最左下的結(jié)點,最后一個訪問的結(jié)點一定是根結(jié)點,如果知道這個小技巧,可以迅速確定本題的答案為選項D)。
(7)【答案】 C)
【解析】滿二叉樹是指除最后一層外,每一層上的所有結(jié)點都有兩個子結(jié)點的二叉樹。滿二叉樹在其第i層上有2i-1個結(jié)點,即每一層上的結(jié)點數(shù)都是結(jié)點數(shù)。對于深度為7的滿二叉樹,葉子結(jié)點所在的是第7層,一共有27-1=64個葉子結(jié)點。
(8)【答案】 D)
【解析】兩個實體集之間的聯(lián)系實際上是實體集間的函數(shù)關系,主要有3種:一對一的聯(lián)系、一對多的聯(lián)系、多對多的聯(lián)系!吧唐贰迸c“顧客”兩個實體集之間的聯(lián)系一般是多對多,因為一種 “商品”可以被多個“顧客”購買,而一個“顧客”也可以購買多個“商品”。
(9)【答案】 A)
【解析】在ER圖中,用矩形表示實體集,用橢圓形表示屬性,用菱形(內(nèi)部寫上聯(lián)系名)表示聯(lián)系。
(10)【答案】 C)
【解析】DB即數(shù)據(jù)庫(DataBase),是統(tǒng)一管理的相關數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(Database System)由如下5部分組成:數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺之一——硬件平臺(硬件)、系統(tǒng)平臺之二——軟件平臺(軟件)。 ‘
(11)【答案】 D)
【解析】Visual Basic是在BASIC和Quick BASIC語言中發(fā)展起來的,因此具有高級程序設計語言的語句結(jié)構(gòu),Visual Basic是結(jié)構(gòu)化程序。
(12)【答案】 C)
【解析】標準模塊也稱全局模塊或總模塊,由全局變量聲明、模塊層聲明及通用過程等幾部分組成,因此標準模塊不能屬于某個特定的窗體文件。
(13)【答案】 B)
【解析】大部分屬性既可以通過屬性窗口設置,也可以通過程序代碼來進行設置,而有些屬性只能使用程序代碼或者屬性窗口設置。如Name屬性只能通過屬性窗口來進行設置。
(14)【答案】 A)
【解析】在一個Dim語句中定義多個變量時,每個變量都要用As子句聲明其類型,否則該變量被看作是變體類型,在該語句中,a即被定義為變體類型。
(15)【答案】 B)
【解析】通過字符串函數(shù)Mid即可以實現(xiàn)字符串“Basic”的提取,提取過程如下:c=“VisualBasic”:print Mid(c,7,5)。
(16)【答案】 D)
【解析】運算符的優(yōu)先順序是:算術(shù)運算符>關系運算符>邏輯運算符
算術(shù)運算符的優(yōu)先順序是:^>->(*與/)>\>Mod>(+與-)。
關系運算符的優(yōu)先順序是:=>(<>或><)>(>)>(>=)>(<=)>(<)>Is>Like
邏輯運算符的優(yōu)先順序是:非(Not)>與(And)>或(Or)>異或(Xor)>等價(Epv)>蘊涵(Imp)。
根據(jù)運算符的優(yōu)先級計算本題中的表達式最后結(jié)果為0。
(17)【答案】 B)
【解析】在Visual Basic中,變量名只能由字母、數(shù)字和下劃線組成,而且第一個字符必須是英文字母,而最后一個字符可以是類型說明符。由此得知counstA可以作為變量名。
(18)【答案】 A)
【解析】Print方法沒有賦值功能,因此A選項不能在窗體上顯示“A=10”,該選項的結(jié)果為False。
(19)【答案】 A)
【解析】在默認情況下,InputBox函數(shù)的返回值是一個字符串,如果沒有事先聲明返回值變量的類型,則把該函數(shù)的返回值賦給這個變量時,Visual Basic總是把它作為字符串來處理。因此x 的值是字符串10。
(20)【答案】 A)
【解析】該題考查的內(nèi)容為多分支控制結(jié)構(gòu)。在多分支控制結(jié)構(gòu)中,先對測試表達式進行求值,然后測試該值與哪個Case子句中的表達式表列相匹配,如果找到,則執(zhí)行與該Case子句有關的語句,下面的子句不再執(zhí)行,直接把控制轉(zhuǎn)移到End Select后面的語句。
(21)【答案】 B)
【解析】該題考查的是For Each…Next語句。該語句可用于對數(shù)組元素進行處理,重復執(zhí)行的次數(shù)由數(shù)組中元素的個數(shù)確定的,因此For Each arrItem In a是沒有語法錯誤的,相反,F(xiàn)or Each…Next語句比For…Next語句更方便,因為它不用指明循環(huán)結(jié)束的條件。
(22)【答案】 C)
【解析】經(jīng)賦值后數(shù)組a的元素為(2,3,4,4,6,8,6,9,12),而第三個For循環(huán)語句的作用是求次對角線上三個元素的和,即Sum=a(1,3)+a(2,2)+a(3,1)=4+6+6=16。
(23)【答案】 D)
【解析】由if語句知:當j為1或者3時,a減1,而j為1、2、3和4的時候a均加1,因此,實際上經(jīng)過For j=1 To 4后,a增加了2,而程序的最外部循環(huán)了兩次,因此結(jié)果應該為a=4。
(24)【答案】 A)
【解析】該程序?qū)嶋H上是通過檢驗單選按鈕數(shù)組的索引來確定相應的運算,當Index=1表示選定的是單選按鈕1,當Index=2表示選定的是單選按鈕2,當Index=3表示選定的是單選按鈕3。
(25)【答案】 D)
【解析】Function過程中的x與事件過程Command1_Click中的x使用的是同一地址,因此在Function過程中執(zhí)行x=x+3這一語句時,事件過程Command1_Click中的x也同時執(zhí)行該語句,因此Print函數(shù)的內(nèi)容是a(f(2)+2+3)=a(10),因而輸出應該為18。
(26)【答案】 B)
【解析】函數(shù)過程要返回一個值,而且只能返回一個值。
(27)【答案】 D)
【解析】Visual Basic通過關鍵字ByVal來實現(xiàn)傳值。這時候,Visual Basic為形參分配內(nèi)存,并將相應的實參值復制給形參。對于f,其參數(shù)分別為x=36,y=24,這里的x、y與事件過程中的x、y使用的不是同一個地址。f的返回值為12,因此Text3中的內(nèi)容是12。
(28)【答案】 C)
【解析】該題考查內(nèi)容為控件參數(shù)。在一個通用過程中設置相同性質(zhì)控件所需要的屬性,然后用不同的控件調(diào)用此過程。
(29)【答案】 C)
【解析】KeyDown和KeyUp都有兩個參數(shù),即KeyCode和Shift,KeyCode是按鍵的實際ASCII碼,Shift是轉(zhuǎn)換鍵。Chr函數(shù)為求ASCII字符,而ASC(C)=ASC(A)+2。因此輸出結(jié)果應該為A與C。
(30)【答案】 A)
【解析】Columns屬性為返回一個值,決定列表框是在一列中垂直滾動(這時值為0)還是多個列中水平滾動(這時值大于0)。
(31)【答案】 B)
【解析】由于窗體MouseUp事件將Flag置為True,因此Print f(intNum)能夠執(zhí)行。Function過程的形參為5,可以得到該過程的返回值為5,因此程序的輸出結(jié)果是5。
(32)【答案】 B)
【解析】鼠標鍵Button=1時,表示當前按下的是左鍵,該事件過程的作用是單擊鼠標左鍵的時候彈出一個菜單。
(33)【答案】 C)
【解析】FilterIndex屬性用于指定默認的過濾器。在用Filter屬性設置多個過濾器后,每個過濾器都有一個值,第一個為1,第二個為2,依次類推,當前的FilterIndex=2,因此默認的文件類型為*.doc。
(34)【答案】 C)
【解析】Static類型變量的作用域是它所在的過程,通常用來存放中間結(jié)果或用作臨時變量,因此,一般在過程中聲明定義該類型的變量。
(35)【答案】 B)
【解析】使用Open語句打開文件時,如果為“輸入”打開的文件不存在,則產(chǎn)生“文件未找到”錯誤,如果為“輸出”,附加或隨機訪問方式打開的文件不存在,則建立相應的文件。
二、填空題
(1)【答案】 【1】45
【解析】對長度n為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為n(n-1)/2=5×9=45。
(2)【答案】 【2】類
【解析】在面向?qū)ο蠓椒ㄖ? 類(Class)描述的是具有相似屬性與操作的一組對象,而一個具體對象則是其對應類的一個實例(Instance)。
(3)【答案】 【3】關系
【解析】在關系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個關系 。
(4)【答案】 【4】靜態(tài)分析(靜態(tài)測試)
【解析】原則上講,可以將軟件測試方法分為兩大類,即靜態(tài)測試和動態(tài)測試。靜態(tài)測試無須執(zhí)行被測代碼,而是借助專用的軟件測試工具評審軟件文檔或程序,度量程序靜態(tài)復雜度,檢查軟件是否符合編程標準,借以發(fā)現(xiàn)編寫的程序的不足之處,減少錯誤出現(xiàn)的概率。動態(tài)測試,是使被測代碼在相對真實環(huán)境下運行,從多角度觀察程序運行時能體現(xiàn)的功能、邏輯、行為、結(jié)構(gòu)等的行為,以發(fā)現(xiàn)其中的錯誤現(xiàn)象。程序測試分為靜態(tài)測試和動態(tài)測試。靜態(tài)測試一般是指人工評審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯誤。由于被評審的文檔或程序不必運行,所以稱為靜態(tài)測試。
(31)【答案】 B)
【解析】由于窗體MouseUp事件將Flag置為True,因此Print f(intNum)能夠執(zhí)行。Function過程的形參為5,可以得到該過程的返回值為5,因此程序的輸出結(jié)果是5。
(32)【答案】 B)
【解析】鼠標鍵Button=1時,表示當前按下的是左鍵,該事件過程的作用是單擊鼠標左鍵的時候彈出一個菜單。
(33)【答案】 C)
【解析】FilterIndex屬性用于指定默認的過濾器。在用Filter屬性設置多個過濾器后,每個過濾器都有一個值,第一個為1,第二個為2,依次類推,當前的FilterIndex=2,因此默認的文件類型為*.doc。
(34)【答案】 C)
【解析】Static類型變量的作用域是它所在的過程,通常用來存放中間結(jié)果或用作臨時變量,因此,一般在過程中聲明定義該類型的變量。
(35)【答案】 B)
【解析】使用Open語句打開文件時,如果為“輸入”打開的文件不存在,則產(chǎn)生“文件未找到”錯誤,如果為“輸出”,附加或隨機訪問方式打開的文件不存在,則建立相應的文件。
二、填空題
(1)【答案】 【1】45
【解析】對長度n為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為n(n-1)/2=5×9=45。
(2)【答案】 【2】類
【解析】在面向?qū)ο蠓椒ㄖ? 類(Class)描述的是具有相似屬性與操作的一組對象,而一個具體對象則是其對應類的一個實例(Instance)。
(3)【答案】 【3】關系
【解析】在關系模型中,把數(shù)據(jù)看成是二維表,每一個二維表稱為一個關系 。
(4)【答案】 【4】靜態(tài)分析(靜態(tài)測試)
【解析】原則上講,可以將軟件測試方法分為兩大類,即靜態(tài)測試和動態(tài)測試。靜態(tài)測試無須執(zhí)行被測代碼,而是借助專用的軟件測試工具評審軟件文檔或程序,度量程序靜態(tài)復雜度,檢查軟件是否符合編程標準,借以發(fā)現(xiàn)編寫的程序的不足之處,減少錯誤出現(xiàn)的概率。動態(tài)測試,是使被測代碼在相對真實環(huán)境下運行,從多角度觀察程序運行時能體現(xiàn)的功能、邏輯、行為、結(jié)構(gòu)等的行為,以發(fā)現(xiàn)其中的錯誤現(xiàn)象。程序測試分為靜態(tài)測試和動態(tài)測試。靜態(tài)測試一般是指人工評審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯誤。由于被評審的文檔或程序不必運行,所以稱為靜態(tài)測試。