国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VB語言筆試試題及答案

時(shí)間:2013-11-15 17:07:00   來源:無憂考網(wǎng)     [字體: ]
©憂考網(wǎng)為大家收集整理了《2006年9月全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)VB語言筆試試題及答案》供大家參考,希望對(duì)大家有所幫助!。

一、選擇題(每小題2分,共70分)
  下列各題A)、b)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是。
  A.自頂向下
  b.逐步求精
  C.模塊化
  D.可復(fù)用
(2)兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為。
  A.耦合度
  b.內(nèi)聚度
  C.復(fù)雜度
  D.?dāng)?shù)據(jù)傳輸特性
(3)下列敘述中正確的是。
  A.軟件測(cè)試應(yīng)該由程序開發(fā)者來完成
  B.程序經(jīng)調(diào)試后一般不需要再測(cè)試
  C.軟件維護(hù)只包括對(duì)程序代碼的維護(hù)
  D.以上三種說法都不對(duì)
(4)按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是。
  A.隊(duì)列
  b.棧
  C.雙向鏈表
  D.二叉樹
(5)下列敘述中正確的是。
  A.線性鏈表是線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
  B.棧與隊(duì)列是非線性結(jié)構(gòu)
  C.雙向鏈表是非線性結(jié)構(gòu)
  D.只有根結(jié)點(diǎn)的二叉樹是線性結(jié)構(gòu)
(6)對(duì)如下二叉樹
  ABDECF
  進(jìn)行后序遍歷的結(jié)果為。
  A.ABCDEF
  b.DBEAFC
  C.ABDECF
  D.DEBFCA
(7)在深度為7的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為。
  A.32
  b.31
  C.64
  D.63
(8)“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是。
  A.一對(duì)一
  b.一對(duì)多
  C.多對(duì)一
  D.多對(duì)多
(9)在E-R圖中,用來表示實(shí)體的圖形是。
  A.矩形
  b.橢圓形
  C.菱形
  D.三角形
(10)數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是。
  A.DB包含DBS和DBMS
  b.DBMS包含DB和DBS
  C.DBS包含DB和DBMS
  D.沒有任何關(guān)系
(11)以下關(guān)于Visual Basic特點(diǎn)的敘述中,錯(cuò)誤的是。
  A.Visual Basic是采用事件驅(qū)動(dòng)編程機(jī)制的語言
  B.Visual Basic程序既可以編譯運(yùn)行,也可以解釋運(yùn)行
  C.構(gòu)成Visual Basic程序的多個(gè)過程沒有固定的執(zhí)行順序
  D.Visual Basic程序不是結(jié)構(gòu)化程序,不具備結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)
(12)以下敘述中,錯(cuò)誤的是。
  A.一個(gè)Visual Basic應(yīng)用程序可以含有多個(gè)標(biāo)準(zhǔn)模塊文件
  B.一個(gè)Visual Basic工程可以含有多個(gè)窗體文件
  C.標(biāo)準(zhǔn)模塊文件可以屬于某個(gè)指定的窗體文件
  D.標(biāo)準(zhǔn)模塊文件的擴(kuò)展名是.bas
(13)以下敘述中,錯(cuò)誤的是。
  A.在Visual Basic中,對(duì)象所能響應(yīng)的事件是由系統(tǒng)定義的
  B.對(duì)象的任何屬性既可以通過屬性窗口設(shè)定,也可以通過程序語句設(shè)定
  C.Visual Basic中允許不同對(duì)象使用相同名稱的方法
  D.Visual Basic中的對(duì)象具有自己的屬性和方法
(14)設(shè)有如下語句:
  Dim a,b As Integer
  c="VisualBasic"
  d=#7/20/2005#
  以下關(guān)于這段代碼的敘述中,錯(cuò)誤的是。
  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)設(shè)a=4,b=3,c=2,d=1,下列表達(dá)式的值是。
  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)設(shè)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
  程序運(yùn)行后,單擊命令按鈕,如果從鍵盤上輸入整數(shù)10,則以下敘述中錯(cuò)誤的是。
  A.x的值是數(shù)值10
  B.輸入對(duì)話框的標(biāo)題是“輸入整數(shù)”
  C.信息框的標(biāo)題是“輸入數(shù)據(jù):10”
  D.信息框中顯示的是“輸入的數(shù)據(jù)是:”
(20)在窗體上畫1個(gè)命令按鈕(名稱為Command1)和1個(gè)文本框(名稱為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
  程序運(yùn)行后,在文本框中輸入3,然后單擊命令按鈕,則以下敘述中正確的是。
  A.執(zhí)行y=x*x
  b.執(zhí)行y=-x
  C.先執(zhí)行y=x*x,再執(zhí)行y=-x
  D.程序出錯(cuò)
(21)設(shè)有命令按鈕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
  對(duì)于該事件過程,以下敘述中錯(cuò)誤的是。
  A.a(chǎn)數(shù)組中的數(shù)據(jù)是30個(gè)100以內(nèi)的整數(shù)
  B.語句For Each arrItem In a有語法錯(cuò)誤
  C.If arrItem Mod 7=0……語句的功能是輸出數(shù)組中能夠被7整除的數(shù)
  D.If arrItem>90……語句的作用是當(dāng)數(shù)組元素的值大于90時(shí)退出For循環(huán)
(22)設(shè)有命令按鈕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
  運(yùn)行程序,單擊命令按鈕,輸出結(jié)果是。
  A.20
  B.7
  C.16
  D.17
(23)在窗體上畫1個(gè)名稱為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
  程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果是。
  A.0
  b.2
  C.3
  D.4
(24)窗體上有名稱分別為Text1、Text2的2個(gè)文本框,有一個(gè)由3個(gè)單選按鈕構(gòu)成的控件數(shù)組Option1,如圖1所示。程序運(yùn)行后,如果單擊某個(gè)單選按鈕,則執(zhí)行Text1中的數(shù)值與該單選按鈕所對(duì)應(yīng)的運(yùn)算(乘以1、10或100),并將結(jié)果顯示在Text2中,如圖2所示。為了實(shí)現(xiàn)上述功能,在程序中的問號(hào)(?)處應(yīng)填入的內(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個(gè)命令按鈕,其名稱為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
  程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果為。
  A.12
  b.15
  C.17
  D.18
  2006年4月筆試試卷第5頁(共12頁)2006年4月筆試試卷第6頁(共12頁)(26)以下關(guān)于過程的敘述中,錯(cuò)誤的是。
  A.事件過程是由某個(gè)事件觸發(fā)而執(zhí)行的過程
  B.函數(shù)過程的返回值可以有多個(gè)
  C.可以在事件過程中調(diào)用通用過程
  D.不能在事件過程中定義函數(shù)過程
(27)在窗體上畫3個(gè)標(biāo)簽、3個(gè)文本框(名稱分別為Text1、Text2和Text3)和1個(gè)命令按鈕(名稱為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
  運(yùn)行程序,在Text1文本框中輸入36,在Text2文本框中輸入24,然后單擊命令按鈕,則在Text3文本框中顯示的內(nèi)容是。
  A.4
  b.6
  C.8
  D.12
(28)窗體上有名稱分別為Text1、Text2的2個(gè)文本框,要求文本框Text1中輸入的數(shù)據(jù)小于500,文本框Text2中輸入的數(shù)據(jù)小于1000,否則重新輸入。為了實(shí)現(xiàn)上述功能,在以下程序中問號(hào)(?)處應(yīng)填入的內(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"請(qǐng)重新輸入!"
  End If
  End Sub
  A.Text
  b.SelText
  C.Control
  D.Form
(29)在窗體上畫1個(gè)文本框,其名稱為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
  程序運(yùn)行后,把焦點(diǎn)移到文本框中,此時(shí)如果敲擊“A”鍵,則輸出結(jié)果為。
  A)A
  AB)A
  BC)A
  CD)A
  D
(30)為了使列表框中的項(xiàng)目呈多列顯示,需要設(shè)置的屬性為。
  A.Columns
  b.Style
  C.List
  D.MultiSelect
(31)在窗體上畫1個(gè)命令按鈕,名稱為Command1,然后編寫如下程序:
  Dim Flag As Boolean
  Private Sub Command1_Click()
  Dim intNum As Integer
  intNum=InputBox("請(qǐng)輸入:")
  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
  運(yùn)行程序,首先單擊窗體,然后單擊命令按鈕,在輸入對(duì)話框中輸入5,則程序的輸出結(jié)果為。
  A.0
  b.5
  C.15
  D.無任何輸出
(32)在菜單編輯器中建立1個(gè)名稱為Menu0的菜單項(xiàng),將其“可見”屬性設(shè)置為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
  則以下敘述中錯(cuò)誤的是。
  A.該過程的作用是彈出一個(gè)菜單
  B.單擊鼠標(biāo)右鍵時(shí)彈出菜單
  C.Menu0是在菜單編輯器中定義的彈出菜單的名稱
  D.參數(shù)X、Y指明鼠標(biāo)當(dāng)前位置的坐標(biāo)
(33)窗體上有1個(gè)名稱為CD1的通用對(duì)話框,1個(gè)名稱為Command1的命令按鈕。命令按鈕的單擊事件過程如下:
  Private Sub Command1_Click()
  CD1.FileName=""
  CD1.Filter="All Files|*.*|(*.Do
  C.|*.Doc|(*.Txt)|*.txt"
  CD1.FilterIndex=2
  CD1.Action=1
  End Sub
  關(guān)于以上代碼,錯(cuò)誤的敘述是。
  A.執(zhí)行以上事件過程,通用對(duì)話框被設(shè)置為“打開”文件對(duì)話框
  B.通用對(duì)話框的初始路徑為當(dāng)前路徑
  C.通用對(duì)話框的默認(rèn)文件類型為*.Txt
  D.以上代碼不對(duì)文件執(zhí)行讀寫操作
(34)以下敘述中錯(cuò)誤的是。
  A.用Shell函數(shù)可以執(zhí)行擴(kuò)展名為.exe的應(yīng)用程序
  B.若用Static定義通用過程,則該過程中的局部變量都被默認(rèn)為Static類型
  C.Static類型的變量可以在標(biāo)準(zhǔn)模塊的聲明部分定義
  D.全局變量必須在標(biāo)準(zhǔn)模塊中用Public或Global聲明
(35)以下關(guān)于文件的敘述中,錯(cuò)誤的是。
  A.使用Append方式打開文件時(shí),文件指針被定位于文件尾
  B.當(dāng)以輸入方式(Input)打開文件時(shí),如果文件不存在,則建立一個(gè)新文件
  C.順序文件各記錄的長(zhǎng)度可以不同
  D.隨機(jī)文件打開后,既可以進(jìn)行讀操作,也可以進(jìn)行寫操作
二、填空題(每空2分,共30分)

請(qǐng)將每空的正確答案寫在答題卡【1】~【15】序號(hào)的橫線上,答在試卷上不得分。

(1)對(duì)長(zhǎng)度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為【1】。

(2)在面向?qū)ο蠓椒ㄖ校?】描述的是具有相似屬性與操作的一組對(duì)象。

(3)在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)【3】。

(4)程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【4】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。

(5)數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【5】。

(6)下列語句的輸出結(jié)果是【6】。

Print Format(Int(12345.6789*100+0.5)/100,"0000,0.00")

(7)在窗體上畫1個(gè)命令按鈕,其名稱為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

程序運(yùn)行后,單擊命令按鈕,將產(chǎn)生100個(gè)1000以內(nèi)的隨機(jī)整數(shù),放入數(shù)組arr中,然后查找并輸出這100個(gè)數(shù)中的值Max和最小值Min,請(qǐng)?zhí)羁铡?br>(8)在窗體上畫1個(gè)名稱為Command1的命令按鈕和2個(gè)名稱分別為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

程序運(yùn)行后,單擊命令按鈕,Text1和Text2文本框顯示的內(nèi)容分別是【9】和【10】。

(9)在窗體上畫1個(gè)命令按鈕和1個(gè)文本框,其名稱分別為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

程序運(yùn)行后,在文本框中輸入abcdefg,單擊命令按鈕,則文本框中顯示的內(nèi)容是【11】。

(10)在窗體上畫1個(gè)命令按鈕和1個(gè)通用對(duì)話框,其名稱分別為Command1和CommonDialog1,然后編寫如下事件過程:

Private Sub Command1_Click()

CommonDialog1.【12】="打開文件"

CommonDialog1.Filter="All Files(*.*)|*.*"

CommonDialog1.InitDir="C:\"

CommonDialog1.ShowOpen

End Sub

該程序的功能是,程序運(yùn)行后,單擊命令按鈕,將顯示“打開”文件對(duì)話框,其標(biāo)題是“打開文件”,在“文件類型”欄內(nèi)顯示“AIl Files(*.*)”,并顯示C盤根目錄下

的所有文件,請(qǐng)?zhí)羁铡?/p>

(11)在窗體上畫1個(gè)文本框,名稱為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個(gè)名為dat.txt的文件,在文本框中輸入字符,每次按回車鍵(回車符的ASCII碼是13)都把當(dāng)前文本框中的內(nèi)容寫入文件dat.txt,并清除文本框中的內(nèi)容;如果輸入“END”,則結(jié)束程序。請(qǐng)?zhí)羁铡?br>一、選擇題

(1)【答案】 D)

【解析】結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則是:自頂向下、逐步求精、模塊化及限制使用goto語句?蓮(fù)用性是指軟件元素不加修改和稍加修改可在不同的軟件開發(fā)過程中重復(fù)使用的性質(zhì)。軟件可復(fù)用性是軟件工程追求的目標(biāo)之一,是提高軟件生產(chǎn)效率的最主要方法。面向?qū)ο蟮某绦蛟O(shè)計(jì)具有可復(fù)用性的優(yōu)點(diǎn)。

(2)【答案】 A)

【解析】模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量:內(nèi)聚性和耦合性。耦合性衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚性衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。一般來說,要求模塊之間的耦合盡可能地弱,而模塊的內(nèi)聚程度要盡可能地高。

(3)【答案】 D)

【解析】因?yàn)闇y(cè)試的目的在于發(fā)現(xiàn)錯(cuò)誤,由程序的編寫者自己進(jìn)行測(cè)試是不合適的,為了達(dá)到好的測(cè)試效果,應(yīng)該由獨(dú)立的第三方進(jìn)行測(cè)試工作,所以選項(xiàng)A)錯(cuò)誤;程序調(diào)試,修改一個(gè)錯(cuò)誤的同時(shí)可能引入了新的錯(cuò)誤,解決的辦法是在修改了錯(cuò)誤之后,必須進(jìn)行回歸測(cè)試,所以選項(xiàng)B)錯(cuò)誤;所謂軟件維護(hù),就是在軟件已經(jīng)交付使用之后,為了改正錯(cuò)誤或滿足新的需要而修改軟件的過程,可見選項(xiàng)C)也是錯(cuò)誤的。

(4)【答案】 B)

【解析】棧的特點(diǎn)是棧頂元素總是最后被插入的元素,也是最早被刪除的元素;棧底元素總是最早被插入的元素,也是最晚才能被刪除的元素,即棧的修改原則是“后進(jìn)先出”(Last In First Out,簡(jiǎn)稱LIFO) 或“先進(jìn)后出”(First In Last Out,簡(jiǎn)稱FILO)。

(5)【答案】 A)

【解析】所謂線性鏈表,就是指線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),簡(jiǎn)稱鏈表。線性表鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的基本單位稱為存儲(chǔ)結(jié)點(diǎn),每個(gè)存儲(chǔ)結(jié)點(diǎn)包括數(shù)據(jù)域和指針域兩個(gè)組成部分。棧、隊(duì)列和雙向鏈表是線性結(jié)構(gòu),二叉樹是非線性結(jié)構(gòu)。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是從數(shù)據(jù)的邏輯結(jié)構(gòu)角度來講的,與該數(shù)據(jù)結(jié)構(gòu)中有多少個(gè)元素沒有關(guān)系,即使是空的二叉樹也是非線性結(jié)構(gòu)。

(6)【答案】 D)

【解析】后序遍歷可以描述為:若二叉樹為空,則空操作;否則:

①后序遍歷左子樹;

②后序遍歷右子樹;

③訪問根結(jié)點(diǎn)。

對(duì)于后序遍歷,第一個(gè)訪問的結(jié)點(diǎn)一定是最左下的結(jié)點(diǎn),最后一個(gè)訪問的結(jié)點(diǎn)一定是根結(jié)點(diǎn),如果知道這個(gè)小技巧,可以迅速確定本題的答案為選項(xiàng)D)。

(7)【答案】 C)

【解析】滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)子結(jié)點(diǎn)的二叉樹。滿二叉樹在其第i層上有2i-1個(gè)結(jié)點(diǎn),即每一層上的結(jié)點(diǎn)數(shù)都是結(jié)點(diǎn)數(shù)。對(duì)于深度為7的滿二叉樹,葉子結(jié)點(diǎn)所在的是第7層,一共有27-1=64個(gè)葉子結(jié)點(diǎn)。

(8)【答案】 D)

【解析】?jī)蓚(gè)實(shí)體集之間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,主要有3種:一對(duì)一的聯(lián)系、一對(duì)多的聯(lián)系、多對(duì)多的聯(lián)系。“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是多對(duì)多,因?yàn)橐环N “商品”可以被多個(gè)“顧客”購買,而一個(gè)“顧客”也可以購買多個(gè)“商品”。

(9)【答案】 A)

【解析】在ER圖中,用矩形表示實(shí)體集,用橢圓形表示屬性,用菱形(內(nèi)部寫上聯(lián)系名)表示聯(lián)系。

(10)【答案】 C)

【解析】DB即數(shù)據(jù)庫(DataBase),是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合;DBMS即數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System),是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,為用戶或應(yīng)用程序提供訪問DB的方法;DBS即數(shù)據(jù)庫系統(tǒng)(Database System)由如下5部分組成:數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、系統(tǒng)平臺(tái)之一——硬件平臺(tái)(硬件)、系統(tǒng)平臺(tái)之二——軟件平臺(tái)(軟件)。 ‘
(11)【答案】 D)
【解析】Visual Basic是在BASIC和Quick BASIC語言中發(fā)展起來的,因此具有高級(jí)程序設(shè)計(jì)語言的語句結(jié)構(gòu),Visual Basic是結(jié)構(gòu)化程序。

(12)【答案】 C)

【解析】標(biāo)準(zhǔn)模塊也稱全局模塊或總模塊,由全局變量聲明、模塊層聲明及通用過程等幾部分組成,因此標(biāo)準(zhǔn)模塊不能屬于某個(gè)特定的窗體文件。

(13)【答案】 B)

【解析】大部分屬性既可以通過屬性窗口設(shè)置,也可以通過程序代碼來進(jìn)行設(shè)置,而有些屬性只能使用程序代碼或者屬性窗口設(shè)置。如Name屬性只能通過屬性窗口來進(jìn)行設(shè)置。

(14)【答案】 A)

【解析】在一個(gè)Dim語句中定義多個(gè)變量時(shí),每個(gè)變量都要用As子句聲明其類型,否則該變量被看作是變體類型,在該語句中,a即被定義為變體類型。

(15)【答案】 B)

【解析】通過字符串函數(shù)Mid即可以實(shí)現(xiàn)字符串“Basic”的提取,提取過程如下:c=“VisualBasic”:print Mid(c,7,5)。

(16)【答案】 D)

【解析】運(yùn)算符的優(yōu)先順序是:算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符

算術(shù)運(yùn)算符的優(yōu)先順序是:^>->(*與/)>\>Mod>(+與-)。

關(guān)系運(yùn)算符的優(yōu)先順序是:=>(<>或><)>(>)>(>=)>(<=)>(<)>Is>Like

邏輯運(yùn)算符的優(yōu)先順序是:非(Not)>與(And)>或(Or)>異或(Xor)>等價(jià)(Epv)>蘊(yùn)涵(Imp)。

根據(jù)運(yùn)算符的優(yōu)先級(jí)計(jì)算本題中的表達(dá)式最后結(jié)果為0。

(17)【答案】 B)

【解析】在Visual Basic中,變量名只能由字母、數(shù)字和下劃線組成,而且第一個(gè)字符必須是英文字母,而最后一個(gè)字符可以是類型說明符。由此得知counstA可以作為變量名。

(18)【答案】 A)

【解析】Print方法沒有賦值功能,因此A選項(xiàng)不能在窗體上顯示“A=10”,該選項(xiàng)的結(jié)果為False。

(19)【答案】 A)

【解析】在默認(rèn)情況下,InputBox函數(shù)的返回值是一個(gè)字符串,如果沒有事先聲明返回值變量的類型,則把該函數(shù)的返回值賦給這個(gè)變量時(shí),Visual Basic總是把它作為字符串來處理。因此x 的值是字符串10。

(20)【答案】 A)

【解析】該題考查的內(nèi)容為多分支控制結(jié)構(gòu)。在多分支控制結(jié)構(gòu)中,先對(duì)測(cè)試表達(dá)式進(jìn)行求值,然后測(cè)試該值與哪個(gè)Case子句中的表達(dá)式表列相匹配,如果找到,則執(zhí)行與該Case子句有關(guān)的語句,下面的子句不再執(zhí)行,直接把控制轉(zhuǎn)移到End Select后面的語句。
(21)【答案】 B)
【解析】該題考查的是For Each…Next語句。該語句可用于對(duì)數(shù)組元素進(jìn)行處理,重復(fù)執(zhí)行的次數(shù)由數(shù)組中元素的個(gè)數(shù)確定的,因此For Each arrItem In a是沒有語法錯(cuò)誤的,相反,F(xiàn)or Each…Next語句比For…Next語句更方便,因?yàn)樗挥弥该餮h(huán)結(jié)束的條件。

(22)【答案】 C)

【解析】經(jīng)賦值后數(shù)組a的元素為(2,3,4,4,6,8,6,9,12),而第三個(gè)For循環(huán)語句的作用是求次對(duì)角線上三個(gè)元素的和,即Sum=a(1,3)+a(2,2)+a(3,1)=4+6+6=16。

(23)【答案】 D)

【解析】由if語句知:當(dāng)j為1或者3時(shí),a減1,而j為1、2、3和4的時(shí)候a均加1,因此,實(shí)際上經(jīng)過For j=1 To 4后,a增加了2,而程序的最外部循環(huán)了兩次,因此結(jié)果應(yīng)該為a=4。

(24)【答案】 A)

【解析】該程序?qū)嶋H上是通過檢驗(yàn)單選按鈕數(shù)組的索引來確定相應(yīng)的運(yùn)算,當(dāng)Index=1表示選定的是單選按鈕1,當(dāng)Index=2表示選定的是單選按鈕2,當(dāng)Index=3表示選定的是單選按鈕3。

(25)【答案】 D)

【解析】Function過程中的x與事件過程Command1_Click中的x使用的是同一地址,因此在Function過程中執(zhí)行x=x+3這一語句時(shí),事件過程Command1_Click中的x也同時(shí)執(zhí)行該語句,因此Print函數(shù)的內(nèi)容是a(f(2)+2+3)=a(10),因而輸出應(yīng)該為18。

(26)【答案】 B)

【解析】函數(shù)過程要返回一個(gè)值,而且只能返回一個(gè)值。

(27)【答案】 D)

【解析】Visual Basic通過關(guān)鍵字ByVal來實(shí)現(xiàn)傳值。這時(shí)候,Visual Basic為形參分配內(nèi)存,并將相應(yīng)的實(shí)參值復(fù)制給形參。對(duì)于f,其參數(shù)分別為x=36,y=24,這里的x、y與事件過程中的x、y使用的不是同一個(gè)地址。f的返回值為12,因此Text3中的內(nèi)容是12。

(28)【答案】 C)

【解析】該題考查內(nèi)容為控件參數(shù)。在一個(gè)通用過程中設(shè)置相同性質(zhì)控件所需要的屬性,然后用不同的控件調(diào)用此過程。

(29)【答案】 C)

【解析】KeyDown和KeyUp都有兩個(gè)參數(shù),即KeyCode和Shift,KeyCode是按鍵的實(shí)際ASCII碼,Shift是轉(zhuǎn)換鍵。Chr函數(shù)為求ASCII字符,而ASC(C)=ASC(A)+2。因此輸出結(jié)果應(yīng)該為A與C。

(30)【答案】 A)

【解析】Columns屬性為返回一個(gè)值,決定列表框是在一列中垂直滾動(dòng)(這時(shí)值為0)還是多個(gè)列中水平滾動(dòng)(這時(shí)值大于0)。
(31)【答案】 B)
【解析】由于窗體MouseUp事件將Flag置為True,因此Print f(intNum)能夠執(zhí)行。Function過程的形參為5,可以得到該過程的返回值為5,因此程序的輸出結(jié)果是5。

(32)【答案】 B)

【解析】鼠標(biāo)鍵Button=1時(shí),表示當(dāng)前按下的是左鍵,該事件過程的作用是單擊鼠標(biāo)左鍵的時(shí)候彈出一個(gè)菜單。

(33)【答案】 C)

【解析】FilterIndex屬性用于指定默認(rèn)的過濾器。在用Filter屬性設(shè)置多個(gè)過濾器后,每個(gè)過濾器都有一個(gè)值,第一個(gè)為1,第二個(gè)為2,依次類推,當(dāng)前的FilterIndex=2,因此默認(rèn)的文件類型為*.doc。

(34)【答案】 C)

【解析】Static類型變量的作用域是它所在的過程,通常用來存放中間結(jié)果或用作臨時(shí)變量,因此,一般在過程中聲明定義該類型的變量。

(35)【答案】 B)

【解析】使用Open語句打開文件時(shí),如果為“輸入”打開的文件不存在,則產(chǎn)生“文件未找到”錯(cuò)誤,如果為“輸出”,附加或隨機(jī)訪問方式打開的文件不存在,則建立相應(yīng)的文件。

二、填空題

(1)【答案】 【1】45

【解析】對(duì)長(zhǎng)度n為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為n(n-1)/2=5×9=45。

(2)【答案】 【2】類

【解析】在面向?qū)ο蠓椒ㄖ? 類(Class)描述的是具有相似屬性與操作的一組對(duì)象,而一個(gè)具體對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例(Instance)。

(3)【答案】 【3】關(guān)系

【解析】在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)關(guān)系 。

(4)【答案】 【4】靜態(tài)分析(靜態(tài)測(cè)試)

【解析】原則上講,可以將軟件測(cè)試方法分為兩大類,即靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試無須執(zhí)行被測(cè)代碼,而是借助專用的軟件測(cè)試工具評(píng)審軟件文檔或程序,度量程序靜態(tài)復(fù)雜度,檢查軟件是否符合編程標(biāo)準(zhǔn),借以發(fā)現(xiàn)編寫的程序的不足之處,減少錯(cuò)誤出現(xiàn)的概率。動(dòng)態(tài)測(cè)試,是使被測(cè)代碼在相對(duì)真實(shí)環(huán)境下運(yùn)行,從多角度觀察程序運(yùn)行時(shí)能體現(xiàn)的功能、邏輯、行為、結(jié)構(gòu)等的行為,以發(fā)現(xiàn)其中的錯(cuò)誤現(xiàn)象。程序測(cè)試分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試一般是指人工評(píng)審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯(cuò)誤。由于被評(píng)審的文檔或程序不必運(yùn)行,所以稱為靜態(tài)測(cè)試。
(31)【答案】 B)
【解析】由于窗體MouseUp事件將Flag置為True,因此Print f(intNum)能夠執(zhí)行。Function過程的形參為5,可以得到該過程的返回值為5,因此程序的輸出結(jié)果是5。

(32)【答案】 B)

【解析】鼠標(biāo)鍵Button=1時(shí),表示當(dāng)前按下的是左鍵,該事件過程的作用是單擊鼠標(biāo)左鍵的時(shí)候彈出一個(gè)菜單。

(33)【答案】 C)

【解析】FilterIndex屬性用于指定默認(rèn)的過濾器。在用Filter屬性設(shè)置多個(gè)過濾器后,每個(gè)過濾器都有一個(gè)值,第一個(gè)為1,第二個(gè)為2,依次類推,當(dāng)前的FilterIndex=2,因此默認(rèn)的文件類型為*.doc。

(34)【答案】 C)

【解析】Static類型變量的作用域是它所在的過程,通常用來存放中間結(jié)果或用作臨時(shí)變量,因此,一般在過程中聲明定義該類型的變量。

(35)【答案】 B)

【解析】使用Open語句打開文件時(shí),如果為“輸入”打開的文件不存在,則產(chǎn)生“文件未找到”錯(cuò)誤,如果為“輸出”,附加或隨機(jī)訪問方式打開的文件不存在,則建立相應(yīng)的文件。

二、填空題

(1)【答案】 【1】45

【解析】對(duì)長(zhǎng)度n為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為n(n-1)/2=5×9=45。

(2)【答案】 【2】類

【解析】在面向?qū)ο蠓椒ㄖ? 類(Class)描述的是具有相似屬性與操作的一組對(duì)象,而一個(gè)具體對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例(Instance)。

(3)【答案】 【3】關(guān)系

【解析】在關(guān)系模型中,把數(shù)據(jù)看成是二維表,每一個(gè)二維表稱為一個(gè)關(guān)系 。

(4)【答案】 【4】靜態(tài)分析(靜態(tài)測(cè)試)

【解析】原則上講,可以將軟件測(cè)試方法分為兩大類,即靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試無須執(zhí)行被測(cè)代碼,而是借助專用的軟件測(cè)試工具評(píng)審軟件文檔或程序,度量程序靜態(tài)復(fù)雜度,檢查軟件是否符合編程標(biāo)準(zhǔn),借以發(fā)現(xiàn)編寫的程序的不足之處,減少錯(cuò)誤出現(xiàn)的概率。動(dòng)態(tài)測(cè)試,是使被測(cè)代碼在相對(duì)真實(shí)環(huán)境下運(yùn)行,從多角度觀察程序運(yùn)行時(shí)能體現(xiàn)的功能、邏輯、行為、結(jié)構(gòu)等的行為,以發(fā)現(xiàn)其中的錯(cuò)誤現(xiàn)象。程序測(cè)試分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。靜態(tài)測(cè)試一般是指人工評(píng)審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯(cuò)誤。由于被評(píng)審的文檔或程序不必運(yùn)行,所以稱為靜態(tài)測(cè)試。