為大家收集整理了《2007年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)下列敘述中正確的是(B)
A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)
B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的
D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)
(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是(D)
A)各模塊應(yīng)包括盡量多的功能
B)各模塊的規(guī)模應(yīng)盡量大
C)各模塊之間的聯(lián)系應(yīng)盡量緊密
D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度
(3)下列敘述中正確的是(A)
A)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B)軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置
C)為了提高軟件測(cè)試的效率,由程序編制者自己來完成軟件的測(cè)試工作
D)軟件測(cè)試是證明軟件沒有錯(cuò)誤
(4) 下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是(C)
A)繼承性
B)多態(tài)性
C)類比性
D)封裝性
(5) 下列對(duì)隊(duì)列的敘述正確的是(D)
A)隊(duì)列屬于非線性表
B)隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)
C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)
D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)
(6) 對(duì)下列二叉樹(C)
A
B C
D E F X
Y Z
進(jìn)行前序遍歷的結(jié)果為
A)DYBEAFCZX
B)YDEBFZXCA
C)ABDYECFXZ
D)ABCDEFXYZ
(7)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為(A)
A)n+1
B)n-1
C)2n
D)n/2
(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是(B)
A)并
B)交
C)投影
D)笛卡兒乘積
(9)在E—R圖中,用來表示實(shí)體之間聯(lián)系的圖形是(C)
A)矩形
B)橢圓形
C)菱形
D)平行四邊形
(10)下列敘述中錯(cuò)誤的是(A)
A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是解決數(shù)據(jù)共享問題
C)數(shù)據(jù)庫技術(shù)是指己有數(shù)據(jù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
(11)下面可以正確定義2個(gè)整形變量和1個(gè)字符串變量的語句的是(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是否為偶數(shù)的是(D)
A)x/2=Int(x/2)
B)x Mod 2=0
C)Fix(x/2)=x/2
D)x\2=0
13)設(shè)在名稱為Myform的窗體上只有1個(gè)名稱為C1的命令按鈕,下面敘述中正確的是(B)
A)窗體的Click事件過程的過程名是Myform_Click
B)命令按鈕的Click事件過程名是C1_Click
C)命令按鈕的Click事件過程的過程名是Command1_Click
(14)設(shè)窗體上有1個(gè)滾動(dòng)條,要求單擊滾動(dòng)條右端的◢按鈕一次,滾動(dòng)條移動(dòng)一定的刻度值,決定此刻度的屬性是(C)
A)Max
B)Min
C)SmallChange
D)LargeChang
(15)1個(gè)二維數(shù)組可以存放1個(gè)矩形.在程序開始有語句Option Base 0,則下面定義的數(shù)組中正好可以存放1個(gè)4*3矩陣(即只有12個(gè)元素)的是(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)若設(shè)置了文本框的屬性PasswordChar=”$”,則運(yùn)行程序時(shí)向文本框中輸入8個(gè)任意字符后,文本框中顯示的是(A)
A)8個(gè)”$”
B)1個(gè)”$”
C)8個(gè)”*”
D)無任何內(nèi)容
(17)設(shè)在窗體上有1個(gè)名稱為Combo1的組合框,含有5個(gè)項(xiàng)目,要?jiǎng)h除最后一項(xiàng),正確的語句是(B)
A)Combo1.RemoveItem Combo1.Text
B) Combo1.RemoveItem4
C) Combo1.RemoveItem Combo1.ListCount
D) Combo1.RemoveItem5
(18)工程中有2個(gè)窗體,名稱分別為Form1.Form2,Form1為啟動(dòng)窗體,該窗體上有命令按鈕Command1,要求程序運(yùn)行后單擊該命令按鈕時(shí)顯示Form2,則按鈕的Click事件過程應(yīng)該是(A)
A)Private Sub Command1_Click( ) B) Private Sub Command1_Click( )
Form2.Show Form2.Visible
End Sub End Sub
C) Private Sub Command1_Click( ) D)Private Sub Command1_Click( )
Load Form2 Form2.Load
End Sub End Sub
(19)若在某窗體模塊中有如下事件過程(D)
Private Sub Command1_Click(Index AS Integer)
……
End Sub
則以下敘述中正確的是
A) 此事件過程與不帶參數(shù)的事件過程沒有區(qū)別
B) 有1個(gè)名稱為Command1的窗體,單擊此窗體則執(zhí)行此事件過程
C) 有1個(gè)名稱為Command1的空件數(shù)組,數(shù)組中有多個(gè)不同類型控件
D) 有1個(gè)名稱為Command1的空件數(shù)組,數(shù)組中有多個(gè)相同類型控件
(20)以下循環(huán)語句中在任何情況下都至少執(zhí)行一次循環(huán)體的是(C)
A)Do While <條件> B)While <條件>
循環(huán)體 循環(huán)體
Loop Wend
C)Do D)Do Until <條件>
循環(huán)體 循環(huán)體
Loop Until <條件> Loop
(21)在窗體上有1個(gè)名為Cd1的通用對(duì)話框,為了在運(yùn)行程序時(shí)打開保存文件對(duì)話框,則在程序總應(yīng)使用的語句是(A)
A)Cd1.Action=2
B)Cd1.Action=1
C)Cd1.ShowSave=Ture
D)Cd1.ShowSave=0
(22)下面關(guān)于菜單的敘述中錯(cuò)誤的是(B)
A)各級(jí)菜單中的所有菜單項(xiàng)的名稱必須
B)同一子菜單中的菜單項(xiàng)名稱必須,但不同子菜單中的菜單項(xiàng)名稱可以相同
C)彈出式菜單也用菜單編輯器編輯
(23)已知有下面的過程(D)
Private Sub proc1(a As Integer,b As String,Optional x As Boolean)
……
End Sub
正確調(diào)用此過程的語句是
A)Call procl(5)
B)Call proc1 5,”abc”,False
C)proc1(12,”abc”,True)
D)proc1 5, “abc”
(24)在窗體上有一個(gè)文件名稱為Text1的文本框和1個(gè)名稱為Command1的命令按鈕,要求在程序執(zhí)行時(shí),每單擊命令按鈕一次,文本框向右移動(dòng)一定距離。下面能夠正確實(shí)現(xiàn)上述功能的程序是(C)
A)Private Sub Command1_Click() B) Private Sub Command1_Click()
Text1.Left=100 T ext1.Left= Text1.Left-100
End Sub End Sub
C)Private Sub Command1_Click() D) Private Sub Command1_Click()
Text1.Move.Text.Left+100 Text1.Move.Text.Left
End Sub End Sub
(25)某人創(chuàng)建了1個(gè)工程,其中的窗體名稱為Form1;之后又添加了1個(gè)名為Form2的窗體,并希望程序執(zhí)行時(shí)先顯示Form2窗體,那么,他需要做的工作是(A)
A)在工程屬性對(duì)話框中把“啟動(dòng)對(duì)象”設(shè)置為Form2
B)在Form1的Load事件過程中加入語句 Load Form2
C)在Form2的Load事件過程中加入語句Form2.Show
D)在Form2的TabIndex屬性設(shè)置為1,把Form1的TabIndex屬性設(shè)置為2
(26)窗體上有1個(gè)名稱為Text1的文本框和1個(gè)名稱為Command1的命令按鈕。要求程序運(yùn)行時(shí),單擊命令按鈕,就可以把文本框中的內(nèi)容寫到文件out.txt中,每次寫入的內(nèi)容附加到文件原有內(nèi)容之后。下面能夠?qū)崿F(xiàn)上述功能的程序是(C)
A)Private Sub Command1_Click() B) Private Sub Command1_Click()
Open “out.txt” For Inpit As#1 Open “out.txt” For Outpit As#1
Print#1,Text1.Text Print#1,Text1.Text
Close#1 Close#1
End Sub End Sub
C) Private Sub Command1_Click() D) Private Sub Command1_Click()
Open “out.txt” For Append As#1 Open “out.txt” For Random As#1
Print#1,Text1.Text Print#1,Text1.Text
Close#1 Close#1
End Sub End Sub
(27)為計(jì)算1+3+5+……+99的值,某人編程如下
k=1
s=0
While k<=99
k=k+2 : s=s+k
Wend
Print s
在調(diào)試時(shí)發(fā)現(xiàn)運(yùn)行結(jié)果有錯(cuò)誤,需要修改。下列錯(cuò)誤原因和修改方案中正確的是(D)
A)While …Wend循環(huán)語句錯(cuò)誤,應(yīng)改為For k=1 To 99 …Next k
B)循環(huán)條件錯(cuò)誤,應(yīng)改為Whlie k<99
C)循環(huán)前的賦值語句k=1錯(cuò)誤,應(yīng)改為k=0
D)循環(huán)中兩條賦值語句的順序錯(cuò)誤,應(yīng)改為s=s+k : k=k+2
(28)下面程序在調(diào)試時(shí)出現(xiàn)了死循環(huán)
Private Sub Command1_Click()
n=InputBox(“請(qǐng)輸入一個(gè)整數(shù)”)
Do
If n Mod 2=0 Then
n=n+1
Else
n=n+2
Else If
Loop Until n=1000
End Sub
下面關(guān)于死循環(huán)的敘述中正確的是(D)
A)只有輸入的n是偶數(shù)時(shí)才會(huì)出現(xiàn)死循環(huán),否則不會(huì)
B)只有輸入的n是奇數(shù)時(shí)才會(huì)出現(xiàn)死循環(huán),否則不會(huì)
C)只有輸入的n是大于1000的整數(shù)時(shí)才會(huì)出現(xiàn)死循環(huán),否則不會(huì)
D)輸入任何整數(shù)都會(huì)出現(xiàn)死循環(huán)
(29)在窗體上有1個(gè)名稱為CommonDialog1的通用對(duì)話框和1個(gè)名稱為Command1的命令按鈕,以及其他一些控件。要求在程序運(yùn)行時(shí),單擊Command1按鈕,則顯示打開文件對(duì)話框,并在選擇或輸入了1個(gè)文件名后,就可以打開該文件。以下是Command1_Click事件過程的兩種算法
算法1:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As#1
End Sub
算法2:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
IfCommonDialog1.FileName<>””Then
Open CommonDialog1.FileName For Input As#1
End If
End Sub
下面關(guān)于這兩種算法的敘述中正確的是(B)
A) 顯示打開文件對(duì)話框后若未選擇或輸入任何文件名,則算法2會(huì)出錯(cuò),算法1不會(huì)
B) 顯示打開文件對(duì)話框后若未選擇或輸入任何文件名,則算法1會(huì)出錯(cuò),算法2不會(huì)
C) 兩種算法的執(zhí)行結(jié)果完全一樣
D) 算法1允許輸入的文件名中含有空格,而算法2不允許
(30)窗體上有1個(gè)名稱為L(zhǎng)ist的列表框,其中已經(jīng)輸入了若干個(gè)項(xiàng)目(如圖所示):還有2個(gè)文本框,名稱分別為Text1、Text2, 1個(gè)名稱為 Command1的命令按鈕,并有以下程序
Private Sub Command1_Click()
Dim str As String, s As String, k As Integer
s=Text1
Str=””
For k=List1.ListCount-1 to 0 Step-1
If InStr(List.List(k),s)>0 then
str=str&List.List(k)&” ”
End If
Next k
If str=””Then
Text2=”沒有匹配的項(xiàng)目”
Else
Text2=str
End If
End Sub
程序運(yùn)行時(shí),在Text1中輸入“京”,單擊命令按鈕,則在Text2中顯示的內(nèi)容是(C)
A) 京
B) 北京 南京
C) 南京
D) 沒有匹配的項(xiàng)目
(31)在窗體上畫1一個(gè)名稱為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
程序運(yùn)行時(shí),單擊命令按鈕,則窗體上顯示的是(B)
A)ABCDEFG
B)AGBFCE
C)GFEDCBA
D)AGBFCED
(32)在窗體上先后畫2個(gè)圖片框,名稱分別為Picture1和banana,banana中添加了香蕉圖片(見圖1),且將banana.DragMode屬性設(shè)置為1。要求程序運(yùn)行時(shí),可以用鼠標(biāo)把banana拖拽到Picture1中(見圖2)。能實(shí)現(xiàn)此功能的事件過程是(C)
A) Priate Sub Form_DragDrop(Source As Control,X As Single,Y As Single banana.Move Picture1.Left+X,Picture1.Top+Y)
End Sub
B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single )
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
C) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
D) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )
banana.Move banana.Left+X, banana.Top+Y
End Sub
(33)在窗體上畫1個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程
Option Base 1
Pribate Sub Command1_Click()
Dim a(5.5) As Integer
For i=1 To 5
a(I,j)*5\10
Next j
Next i
S=0
For i=1 To 5
S=s+a(i,i)
Next i
Print s
End Sub
程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果是(A)
A) 15
B)13
C)11
D)9
(34)在窗體上從左到右有Text1、Text2兩個(gè)文本框(見圖),要求程序運(yùn)行時(shí),在Text1中輸入1個(gè)分?jǐn)?shù)后按回車鍵,則判斷分?jǐn)?shù)的合法性,若分?jǐn)?shù)為0~100中的1個(gè)數(shù),周圍光標(biāo)移到Text2中;否則光標(biāo)不動(dòng),并彈出對(duì)話框顯示“分?jǐn)?shù)錯(cuò)”,下面程序中正確的是(D)
A)Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 or a<=100 Then
Text2.SetFocus
Else
Text1. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
B) Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 And a<=100 Then
Text1.SetFocus
Else
Text2. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
C) Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a<0 And a>100 Then
Text2.SetFocus
Else
Text1. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
D) Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 And a<=100 Then
Text2.SetFocus
Else
Text1. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
(35)在窗體上畫2個(gè)命令按鈕,名稱分別為Command1、command2,并編寫如下程序
Const n=5,m=4
Dim a(m,n)
Private Sub Command1_Click()
K=1
For i=1 To m
For j=1 To n
a(i,j)=k
k=k+1
Next j
Next i
Private Sub Command2_Click()
Summ=0
For i=1 To m
For j=1 To n
If i=1 Or i=m Then
Summ=summ+a(i,j)
Else
If j=I Or j=n Then
Summ=summ+a(i,j)
End If
End If
Next j
Next i
Print summ
End Sub
過程Command1_Click()的作用是二維數(shù)組a 中存放1個(gè) m行n列的矩陣;過程Command2_Click()的作用是(A)
A) 計(jì)算矩陣外圍一圈元素的累加和
B) 計(jì)算矩陣除外一圈以外的所有元素的累加和
C) 計(jì)算矩陣第1列和最后一列元素的累加和
D) 計(jì)算矩陣第1行和最后一行元素的累加和
二、填空題(每空2分,共30分)
請(qǐng)將每一個(gè)空的正確答案寫在答題紙上[1]~[15]序號(hào)的橫線上,答在試卷上,答在試卷上不得分,
注意:以命令關(guān)鍵字填空的必須寫完整
(1) 在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為___63_____。
(2) 軟件測(cè)試分為白箱(盒)測(cè)試和黑箱(盒)測(cè)試,等價(jià)類劃分法屬于__黑箱(或黑盒) 測(cè)試。
(3) 在數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為 數(shù)據(jù)庫管理系統(tǒng)(DBMS)_____。
(4) 軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測(cè)試屬于 開發(fā)_____階段。
(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用 數(shù)據(jù)字典 對(duì)其中的圖形元素進(jìn)行確切解釋。
(6)1+ + + +…….n 的n。請(qǐng)?zhí)羁?BR> Private Sub Command1__Click()
Dim s ,m,n AS Integer
m=Val(InputBox(“請(qǐng)輸入一個(gè)大于100的整數(shù)”))
n= 0
s=0
Do While s N=n+1
S=s+n*n
Loop
Print “滿足不等式的n是 n-1
End Sub
(7)下面程序的功能是把文件file11.txt中重復(fù)字符去掉后(即若有多個(gè)字符相同,則只保留1個(gè))寫入文件file2.txt。請(qǐng)?zhí)羁铡?BR> Private Sub Command1__Click()
Dim inchar AS String,temp AS String,outchar AS String
Outchar=” ”
Open=”file1.txt” For Input AS #1
Open=”file2.txt” For Output AS #2
n=LOF( 1 )
inchar=Input$(n,1)
For k=1 To n
temp=Mid(inchar,k,1)
If InStr(outchar,temp)= 0 Then
outchar=outchar & temp
End If
Next k
print #2, outchar
close #2
close #1
End Sub
(8)在窗體上先畫1個(gè)名為Text1的文本框和平個(gè)名為L(zhǎng)abel1的標(biāo)簽,再畫1個(gè)名為OP1的有4個(gè)單選按鈕數(shù)組,其Index屬性按季度順序?yàn)?∽3(見圖1)。在文件sales.txt中按月份順序存有某企業(yè)某年12個(gè)月的銷售額。要求在程序執(zhí)行時(shí),鼠標(biāo)單擊1個(gè)單選按鈕,則Text1中顯示相應(yīng)季度的銷售總額,并把相應(yīng)的文字顯示在標(biāo)簽上。圖2是單擊“第3季度”單選按鈕產(chǎn)生的結(jié)果。請(qǐng)?zhí)羁铡?BR> Dim sales(12) As Long
Private Sub Form__Load()
open “sales.txt” For Input AS #1
For k=1 To 12
Input #1,sales(k)
Next k
Close #1
End Sub
Private Sub Op1_Click (Index, AS Integer)
Dim sum AS Long ,k AS Ingeger,month AS Ingeger
sum=0
month=Index* 3
For k=1 To 3
month=month+1
sum=sum+sales(month)
Next k
Label1.Caption=Opl(Index). Caption & “銷售總額:”
Text1=sum
End Sub
(9)某人編寫如下函數(shù)來判斷a是否為素?cái)?shù),若是,則函數(shù)返回True;否則返回False
Function Prime(a As Integer)AS Boolean
Dim k As Interger,isprime AS Boolean
If a<2 Then
isprime=False
Else
isprime=True
k=2
Do While k If a Mod k=0 Then
isprime=False
ELSE
k=k+1
End IF
LOOP
End If
prime=isprime
End Function
在測(cè)試時(shí)發(fā)現(xiàn)有1個(gè)非素?cái)?shù)也被判斷為素?cái)?shù),這個(gè)錯(cuò)判的數(shù)是 4
選擇題:
1-10 cdacd cabaa
11-20 ddbcd abadc
21-30 bbdca cddbc
31-35 bcada
填空:
63 黑盒測(cè)試 DBMS 開發(fā)階段 數(shù)據(jù)詞典 0 N-1 #2 1 0
outchar op1_click 3 caption 4
一、 選擇題(第小題2分,共70分) 下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。請(qǐng)將正確選項(xiàng)填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列敘述中正確的是(B)
A)算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)
B)算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
C)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的
D)算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)
(2)在結(jié)構(gòu)化程序設(shè)計(jì)中,模塊劃分的原則是(D)
A)各模塊應(yīng)包括盡量多的功能
B)各模塊的規(guī)模應(yīng)盡量大
C)各模塊之間的聯(lián)系應(yīng)盡量緊密
D)模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度
(3)下列敘述中正確的是(A)
A)軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B)軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置
C)為了提高軟件測(cè)試的效率,由程序編制者自己來完成軟件的測(cè)試工作
D)軟件測(cè)試是證明軟件沒有錯(cuò)誤
(4) 下面選項(xiàng)中不屬于面向?qū)ο蟪绦蛟O(shè)計(jì)特征的是(C)
A)繼承性
B)多態(tài)性
C)類比性
D)封裝性
(5) 下列對(duì)隊(duì)列的敘述正確的是(D)
A)隊(duì)列屬于非線性表
B)隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)
C)隊(duì)列在隊(duì)尾刪除數(shù)據(jù)
D)隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)
(6) 對(duì)下列二叉樹(C)
A
B C
D E F X
Y Z
進(jìn)行前序遍歷的結(jié)果為
A)DYBEAFCZX
B)YDEBFZXCA
C)ABDYECFXZ
D)ABCDEFXYZ
(7)某二叉樹中有n個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)為(A)
A)n+1
B)n-1
C)2n
D)n/2
(8)在下列關(guān)系運(yùn)算中,不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是(B)
A)并
B)交
C)投影
D)笛卡兒乘積
(9)在E—R圖中,用來表示實(shí)體之間聯(lián)系的圖形是(C)
A)矩形
B)橢圓形
C)菱形
D)平行四邊形
(10)下列敘述中錯(cuò)誤的是(A)
A)在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是解決數(shù)據(jù)共享問題
C)數(shù)據(jù)庫技術(shù)是指己有數(shù)據(jù)管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D)數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
(11)下面可以正確定義2個(gè)整形變量和1個(gè)字符串變量的語句的是(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是否為偶數(shù)的是(D)
A)x/2=Int(x/2)
B)x Mod 2=0
C)Fix(x/2)=x/2
D)x\2=0
13)設(shè)在名稱為Myform的窗體上只有1個(gè)名稱為C1的命令按鈕,下面敘述中正確的是(B)
A)窗體的Click事件過程的過程名是Myform_Click
B)命令按鈕的Click事件過程名是C1_Click
C)命令按鈕的Click事件過程的過程名是Command1_Click
(14)設(shè)窗體上有1個(gè)滾動(dòng)條,要求單擊滾動(dòng)條右端的◢按鈕一次,滾動(dòng)條移動(dòng)一定的刻度值,決定此刻度的屬性是(C)
A)Max
B)Min
C)SmallChange
D)LargeChang
(15)1個(gè)二維數(shù)組可以存放1個(gè)矩形.在程序開始有語句Option Base 0,則下面定義的數(shù)組中正好可以存放1個(gè)4*3矩陣(即只有12個(gè)元素)的是(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)若設(shè)置了文本框的屬性PasswordChar=”$”,則運(yùn)行程序時(shí)向文本框中輸入8個(gè)任意字符后,文本框中顯示的是(A)
A)8個(gè)”$”
B)1個(gè)”$”
C)8個(gè)”*”
D)無任何內(nèi)容
(17)設(shè)在窗體上有1個(gè)名稱為Combo1的組合框,含有5個(gè)項(xiàng)目,要?jiǎng)h除最后一項(xiàng),正確的語句是(B)
A)Combo1.RemoveItem Combo1.Text
B) Combo1.RemoveItem4
C) Combo1.RemoveItem Combo1.ListCount
D) Combo1.RemoveItem5
(18)工程中有2個(gè)窗體,名稱分別為Form1.Form2,Form1為啟動(dòng)窗體,該窗體上有命令按鈕Command1,要求程序運(yùn)行后單擊該命令按鈕時(shí)顯示Form2,則按鈕的Click事件過程應(yīng)該是(A)
A)Private Sub Command1_Click( ) B) Private Sub Command1_Click( )
Form2.Show Form2.Visible
End Sub End Sub
C) Private Sub Command1_Click( ) D)Private Sub Command1_Click( )
Load Form2 Form2.Load
End Sub End Sub
(19)若在某窗體模塊中有如下事件過程(D)
Private Sub Command1_Click(Index AS Integer)
……
End Sub
則以下敘述中正確的是
A) 此事件過程與不帶參數(shù)的事件過程沒有區(qū)別
B) 有1個(gè)名稱為Command1的窗體,單擊此窗體則執(zhí)行此事件過程
C) 有1個(gè)名稱為Command1的空件數(shù)組,數(shù)組中有多個(gè)不同類型控件
D) 有1個(gè)名稱為Command1的空件數(shù)組,數(shù)組中有多個(gè)相同類型控件
(20)以下循環(huán)語句中在任何情況下都至少執(zhí)行一次循環(huán)體的是(C)
A)Do While <條件> B)While <條件>
循環(huán)體 循環(huán)體
Loop Wend
C)Do D)Do Until <條件>
循環(huán)體 循環(huán)體
Loop Until <條件> Loop
(21)在窗體上有1個(gè)名為Cd1的通用對(duì)話框,為了在運(yùn)行程序時(shí)打開保存文件對(duì)話框,則在程序總應(yīng)使用的語句是(A)
A)Cd1.Action=2
B)Cd1.Action=1
C)Cd1.ShowSave=Ture
D)Cd1.ShowSave=0
(22)下面關(guān)于菜單的敘述中錯(cuò)誤的是(B)
A)各級(jí)菜單中的所有菜單項(xiàng)的名稱必須
B)同一子菜單中的菜單項(xiàng)名稱必須,但不同子菜單中的菜單項(xiàng)名稱可以相同
C)彈出式菜單也用菜單編輯器編輯
(23)已知有下面的過程(D)
Private Sub proc1(a As Integer,b As String,Optional x As Boolean)
……
End Sub
正確調(diào)用此過程的語句是
A)Call procl(5)
B)Call proc1 5,”abc”,False
C)proc1(12,”abc”,True)
D)proc1 5, “abc”
(24)在窗體上有一個(gè)文件名稱為Text1的文本框和1個(gè)名稱為Command1的命令按鈕,要求在程序執(zhí)行時(shí),每單擊命令按鈕一次,文本框向右移動(dòng)一定距離。下面能夠正確實(shí)現(xiàn)上述功能的程序是(C)
A)Private Sub Command1_Click() B) Private Sub Command1_Click()
Text1.Left=100 T ext1.Left= Text1.Left-100
End Sub End Sub
C)Private Sub Command1_Click() D) Private Sub Command1_Click()
Text1.Move.Text.Left+100 Text1.Move.Text.Left
End Sub End Sub
(25)某人創(chuàng)建了1個(gè)工程,其中的窗體名稱為Form1;之后又添加了1個(gè)名為Form2的窗體,并希望程序執(zhí)行時(shí)先顯示Form2窗體,那么,他需要做的工作是(A)
A)在工程屬性對(duì)話框中把“啟動(dòng)對(duì)象”設(shè)置為Form2
B)在Form1的Load事件過程中加入語句 Load Form2
C)在Form2的Load事件過程中加入語句Form2.Show
D)在Form2的TabIndex屬性設(shè)置為1,把Form1的TabIndex屬性設(shè)置為2
(26)窗體上有1個(gè)名稱為Text1的文本框和1個(gè)名稱為Command1的命令按鈕。要求程序運(yùn)行時(shí),單擊命令按鈕,就可以把文本框中的內(nèi)容寫到文件out.txt中,每次寫入的內(nèi)容附加到文件原有內(nèi)容之后。下面能夠?qū)崿F(xiàn)上述功能的程序是(C)
A)Private Sub Command1_Click() B) Private Sub Command1_Click()
Open “out.txt” For Inpit As#1 Open “out.txt” For Outpit As#1
Print#1,Text1.Text Print#1,Text1.Text
Close#1 Close#1
End Sub End Sub
C) Private Sub Command1_Click() D) Private Sub Command1_Click()
Open “out.txt” For Append As#1 Open “out.txt” For Random As#1
Print#1,Text1.Text Print#1,Text1.Text
Close#1 Close#1
End Sub End Sub
(27)為計(jì)算1+3+5+……+99的值,某人編程如下
k=1
s=0
While k<=99
k=k+2 : s=s+k
Wend
Print s
在調(diào)試時(shí)發(fā)現(xiàn)運(yùn)行結(jié)果有錯(cuò)誤,需要修改。下列錯(cuò)誤原因和修改方案中正確的是(D)
A)While …Wend循環(huán)語句錯(cuò)誤,應(yīng)改為For k=1 To 99 …Next k
B)循環(huán)條件錯(cuò)誤,應(yīng)改為Whlie k<99
C)循環(huán)前的賦值語句k=1錯(cuò)誤,應(yīng)改為k=0
D)循環(huán)中兩條賦值語句的順序錯(cuò)誤,應(yīng)改為s=s+k : k=k+2
(28)下面程序在調(diào)試時(shí)出現(xiàn)了死循環(huán)
Private Sub Command1_Click()
n=InputBox(“請(qǐng)輸入一個(gè)整數(shù)”)
Do
If n Mod 2=0 Then
n=n+1
Else
n=n+2
Else If
Loop Until n=1000
End Sub
下面關(guān)于死循環(huán)的敘述中正確的是(D)
A)只有輸入的n是偶數(shù)時(shí)才會(huì)出現(xiàn)死循環(huán),否則不會(huì)
B)只有輸入的n是奇數(shù)時(shí)才會(huì)出現(xiàn)死循環(huán),否則不會(huì)
C)只有輸入的n是大于1000的整數(shù)時(shí)才會(huì)出現(xiàn)死循環(huán),否則不會(huì)
D)輸入任何整數(shù)都會(huì)出現(xiàn)死循環(huán)
(29)在窗體上有1個(gè)名稱為CommonDialog1的通用對(duì)話框和1個(gè)名稱為Command1的命令按鈕,以及其他一些控件。要求在程序運(yùn)行時(shí),單擊Command1按鈕,則顯示打開文件對(duì)話框,并在選擇或輸入了1個(gè)文件名后,就可以打開該文件。以下是Command1_Click事件過程的兩種算法
算法1:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Open CommonDialog1.FileName For Input As#1
End Sub
算法2:
Private Sub Command1_Click()
CommonDialog1.ShowOpen
IfCommonDialog1.FileName<>””Then
Open CommonDialog1.FileName For Input As#1
End If
End Sub
下面關(guān)于這兩種算法的敘述中正確的是(B)
A) 顯示打開文件對(duì)話框后若未選擇或輸入任何文件名,則算法2會(huì)出錯(cuò),算法1不會(huì)
B) 顯示打開文件對(duì)話框后若未選擇或輸入任何文件名,則算法1會(huì)出錯(cuò),算法2不會(huì)
C) 兩種算法的執(zhí)行結(jié)果完全一樣
D) 算法1允許輸入的文件名中含有空格,而算法2不允許
(30)窗體上有1個(gè)名稱為L(zhǎng)ist的列表框,其中已經(jīng)輸入了若干個(gè)項(xiàng)目(如圖所示):還有2個(gè)文本框,名稱分別為Text1、Text2, 1個(gè)名稱為 Command1的命令按鈕,并有以下程序
Private Sub Command1_Click()
Dim str As String, s As String, k As Integer
s=Text1
Str=””
For k=List1.ListCount-1 to 0 Step-1
If InStr(List.List(k),s)>0 then
str=str&List.List(k)&” ”
End If
Next k
If str=””Then
Text2=”沒有匹配的項(xiàng)目”
Else
Text2=str
End If
End Sub
程序運(yùn)行時(shí),在Text1中輸入“京”,單擊命令按鈕,則在Text2中顯示的內(nèi)容是(C)
A) 京
B) 北京 南京
C) 南京
D) 沒有匹配的項(xiàng)目
(31)在窗體上畫1一個(gè)名稱為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
程序運(yùn)行時(shí),單擊命令按鈕,則窗體上顯示的是(B)
A)ABCDEFG
B)AGBFCE
C)GFEDCBA
D)AGBFCED
(32)在窗體上先后畫2個(gè)圖片框,名稱分別為Picture1和banana,banana中添加了香蕉圖片(見圖1),且將banana.DragMode屬性設(shè)置為1。要求程序運(yùn)行時(shí),可以用鼠標(biāo)把banana拖拽到Picture1中(見圖2)。能實(shí)現(xiàn)此功能的事件過程是(C)
A) Priate Sub Form_DragDrop(Source As Control,X As Single,Y As Single banana.Move Picture1.Left+X,Picture1.Top+Y)
End Sub
B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single )
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
C) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )
Source.Move Picture1.Left+X.Picture1.Top+Y
End Sub
D) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single )
banana.Move banana.Left+X, banana.Top+Y
End Sub
(33)在窗體上畫1個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程
Option Base 1
Pribate Sub Command1_Click()
Dim a(5.5) As Integer
For i=1 To 5
a(I,j)*5\10
Next j
Next i
S=0
For i=1 To 5
S=s+a(i,i)
Next i
Print s
End Sub
程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果是(A)
A) 15
B)13
C)11
D)9
(34)在窗體上從左到右有Text1、Text2兩個(gè)文本框(見圖),要求程序運(yùn)行時(shí),在Text1中輸入1個(gè)分?jǐn)?shù)后按回車鍵,則判斷分?jǐn)?shù)的合法性,若分?jǐn)?shù)為0~100中的1個(gè)數(shù),周圍光標(biāo)移到Text2中;否則光標(biāo)不動(dòng),并彈出對(duì)話框顯示“分?jǐn)?shù)錯(cuò)”,下面程序中正確的是(D)
A)Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 or a<=100 Then
Text2.SetFocus
Else
Text1. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
B) Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 And a<=100 Then
Text1.SetFocus
Else
Text2. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
C) Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a<0 And a>100 Then
Text2.SetFocus
Else
Text1. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
D) Private Sub Text1__KeyPress(KeyAscii AS Integer)
If KeyAscii=13 Then ‘回車符的ACSII碼是13
a=Val(Text1)
If a>=0 And a<=100 Then
Text2.SetFocus
Else
Text1. SetFocus ; MsgBox(“分?jǐn)?shù)錯(cuò)”)
End If
End If
End Sub
(35)在窗體上畫2個(gè)命令按鈕,名稱分別為Command1、command2,并編寫如下程序
Const n=5,m=4
Dim a(m,n)
Private Sub Command1_Click()
K=1
For i=1 To m
For j=1 To n
a(i,j)=k
k=k+1
Next j
Next i
Private Sub Command2_Click()
Summ=0
For i=1 To m
For j=1 To n
If i=1 Or i=m Then
Summ=summ+a(i,j)
Else
If j=I Or j=n Then
Summ=summ+a(i,j)
End If
End If
Next j
Next i
Print summ
End Sub
過程Command1_Click()的作用是二維數(shù)組a 中存放1個(gè) m行n列的矩陣;過程Command2_Click()的作用是(A)
A) 計(jì)算矩陣外圍一圈元素的累加和
B) 計(jì)算矩陣除外一圈以外的所有元素的累加和
C) 計(jì)算矩陣第1列和最后一列元素的累加和
D) 計(jì)算矩陣第1行和最后一行元素的累加和
二、填空題(每空2分,共30分)
請(qǐng)將每一個(gè)空的正確答案寫在答題紙上[1]~[15]序號(hào)的橫線上,答在試卷上,答在試卷上不得分,
注意:以命令關(guān)鍵字填空的必須寫完整
(1) 在深度為7的滿二叉樹中,度為2的結(jié)點(diǎn)個(gè)數(shù)為___63_____。
(2) 軟件測(cè)試分為白箱(盒)測(cè)試和黑箱(盒)測(cè)試,等價(jià)類劃分法屬于__黑箱(或黑盒) 測(cè)試。
(3) 在數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為 數(shù)據(jù)庫管理系統(tǒng)(DBMS)_____。
(4) 軟件生命周期可分為多個(gè)階段,一般分為定義階段、開發(fā)階段和維護(hù)階段。編碼和測(cè)試屬于 開發(fā)_____階段。
(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用 數(shù)據(jù)字典 對(duì)其中的圖形元素進(jìn)行確切解釋。
(6)1+ + + +…….n 的n。請(qǐng)?zhí)羁?BR> Private Sub Command1__Click()
Dim s ,m,n AS Integer
m=Val(InputBox(“請(qǐng)輸入一個(gè)大于100的整數(shù)”))
n= 0
s=0
Do While s N=n+1
S=s+n*n
Loop
Print “滿足不等式的n是 n-1
End Sub
(7)下面程序的功能是把文件file11.txt中重復(fù)字符去掉后(即若有多個(gè)字符相同,則只保留1個(gè))寫入文件file2.txt。請(qǐng)?zhí)羁铡?BR> Private Sub Command1__Click()
Dim inchar AS String,temp AS String,outchar AS String
Outchar=” ”
Open=”file1.txt” For Input AS #1
Open=”file2.txt” For Output AS #2
n=LOF( 1 )
inchar=Input$(n,1)
For k=1 To n
temp=Mid(inchar,k,1)
If InStr(outchar,temp)= 0 Then
outchar=outchar & temp
End If
Next k
print #2, outchar
close #2
close #1
End Sub
(8)在窗體上先畫1個(gè)名為Text1的文本框和平個(gè)名為L(zhǎng)abel1的標(biāo)簽,再畫1個(gè)名為OP1的有4個(gè)單選按鈕數(shù)組,其Index屬性按季度順序?yàn)?∽3(見圖1)。在文件sales.txt中按月份順序存有某企業(yè)某年12個(gè)月的銷售額。要求在程序執(zhí)行時(shí),鼠標(biāo)單擊1個(gè)單選按鈕,則Text1中顯示相應(yīng)季度的銷售總額,并把相應(yīng)的文字顯示在標(biāo)簽上。圖2是單擊“第3季度”單選按鈕產(chǎn)生的結(jié)果。請(qǐng)?zhí)羁铡?BR> Dim sales(12) As Long
Private Sub Form__Load()
open “sales.txt” For Input AS #1
For k=1 To 12
Input #1,sales(k)
Next k
Close #1
End Sub
Private Sub Op1_Click (Index, AS Integer)
Dim sum AS Long ,k AS Ingeger,month AS Ingeger
sum=0
month=Index* 3
For k=1 To 3
month=month+1
sum=sum+sales(month)
Next k
Label1.Caption=Opl(Index). Caption & “銷售總額:”
Text1=sum
End Sub
(9)某人編寫如下函數(shù)來判斷a是否為素?cái)?shù),若是,則函數(shù)返回True;否則返回False
Function Prime(a As Integer)AS Boolean
Dim k As Interger,isprime AS Boolean
If a<2 Then
isprime=False
Else
isprime=True
k=2
Do While k If a Mod k=0 Then
isprime=False
ELSE
k=k+1
End IF
LOOP
End If
prime=isprime
End Function
在測(cè)試時(shí)發(fā)現(xiàn)有1個(gè)非素?cái)?shù)也被判斷為素?cái)?shù),這個(gè)錯(cuò)判的數(shù)是 4
選擇題:
1-10 cdacd cabaa
11-20 ddbcd abadc
21-30 bbdca cddbc
31-35 bcada
填空:
63 黑盒測(cè)試 DBMS 開發(fā)階段 數(shù)據(jù)詞典 0 N-1 #2 1 0
outchar op1_click 3 caption 4