(考試時(shí)間90分鐘,滿分100分)
一、選擇題((1)~(35)每小題2分,共70分)
下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指
A) 存儲(chǔ)在外存中的數(shù)據(jù) B) 數(shù)據(jù)所占的存儲(chǔ)空間量
C) 數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式 D) 數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
(2)下列關(guān)于棧的描述中錯(cuò)誤的是
A)棧是先進(jìn)后出的線性表 B) 棧只能順序存儲(chǔ)
C) 棧具有記憶作用 D) 對(duì)棧的插入與刪除操作中,不需要改變棧底指針
(3)對(duì)于長(zhǎng)度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是
A) 冒泡排序?yàn)閚/2 B) 冒泡排序?yàn)閚
C) 快速排序?yàn)閚 D) 快速排序?yàn)閚(n-1)/2
(4)對(duì)于長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為
A) log2n B) n/2 C) n D) n+1
(5)下列對(duì)于線性鏈表的描述中正確的是
A)存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的
B)存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C)存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
D)存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
(6)下列對(duì)于軟件測(cè)試的描述中正確的是
A)軟件測(cè)試的目的是證明程序是否正確
B)軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確
C)軟件測(cè)試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
D)軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則
(7)為了使模塊盡可能獨(dú)立,要求
A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
(8)下列描述中正確的是
A) 程序就是軟件
B) 軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
C) 軟件既是邏輯實(shí)體,又是物理實(shí)體
D) 軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
(9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指
A) 數(shù)據(jù)與程序獨(dú)立存放
B) 不同的數(shù)據(jù)被存放在不同的文件中
C) 不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
D) 以上三種說法都不對(duì)
(10) 用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是
A) 關(guān)系模型 B) 網(wǎng)狀模型 C) 層次模型 D) 以上三個(gè)都是
11、在窗體(名稱為Form1)上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕,然后編寫一個(gè)事件過程。程序運(yùn)行以后,如果在文本框中輸入一個(gè)字符,則把命令按鈕的標(biāo)題設(shè)置為“計(jì)算機(jī)等級(jí)考試”。以下能實(shí)現(xiàn)上述操作的事件過程是:
A)Private Sub Text1_Change()
Command1.Caption=”計(jì)算機(jī)等級(jí)考試”
End Sub
B) Private Sub Command1_Click()
Caption=”計(jì)算機(jī)等級(jí)考試”
End Sub
C) Private Sub Form1_Click()
Text1.Caption=”計(jì)算機(jī)等級(jí)考試”
End Sub
D) Private Sub Command1_Click()
Text1.Text=”計(jì)算機(jī)等級(jí)考試”
End Sub
(12)設(shè)a=5,b=4,c=3,d=2,下列表達(dá)式的值是 3>2*b Or a=c And b<>c Or c>d
A) 1 B) True C) False D) 2
(13)設(shè)a=”MicrosoftVisualBasic”, 則以下使變量b的值為”VisualBasic”的語句是
A)b=Left(a,10) B)b=Mid(a,10) C)b=Right(a,10) D)b=Mid(a,11,10)
(14)假定有如下的窗體事件過程:
Private Sub Form_Click()
a$ = "Microsoft Visual Basic"
b$ = Right(a$, 5)
c = Mid(a$, 1, 9)
MsgBox a$, 34, b$, c$, 5
End Sub
程序運(yùn)行后單擊窗體,則在彈出的信息框中的標(biāo)題欄中顯示的信息是:
A)Microsoft Visual B)Microsoft C)Basic D)5
(15)設(shè)a=”a”,b=”b”,c=”c”,d=”d”,執(zhí)行語句x=Iif((ad),”A”,”B”)后,x的值為:
A)”a” B)”b” C)”B” D)”A”
(16)為了使命令按鈕(名稱為Command1)右移200,應(yīng)使用的語句是
A)Command1.Move -200 B) Command1.Move 200
C) Command1.Left= Command1.Left+200 D) Command1.Left= Command1.Left-200
(17)在窗體上畫一個(gè)文本框,然后編寫如下事件過程:
Private Sub Form_Click()
x = InputBox("請(qǐng)輸入一個(gè)整數(shù)")
Print x + Text1.Text
End Sub
程序運(yùn)行時(shí),在文本框中輸入456,然后單擊窗體,在輸入對(duì)話框中輸入123,單擊“確定”按鈕后,在窗體上顯示的內(nèi)容是:
A)123 B)456 C)579 D)123456
(18)在窗體上畫一個(gè)文本框和一個(gè)計(jì)時(shí)器控件,名稱分別為Text1和Timer1,在屬性窗口中把計(jì)時(shí)器的Interval屬性設(shè)置為1000,Enabled屬性設(shè)置為False,程序運(yùn)行后,如果單擊命令按鈕,則每隔一秒鐘在文本框中顯示一次當(dāng)前的時(shí)間。以下是實(shí)現(xiàn)上述操作的程序:
Private Sub Command1_Click()
Timer1._________
End Sub
Private Sub Timer1_Timer()
Text1.Text = Time
End Sub
在______處應(yīng)填入的內(nèi)容是
A)Enabled=True B)Enabled=False C)Visible=True D)Visible=False
(19)假定在圖片框Picture1中裝入了一個(gè)圖形,為了清除該圖形(不刪除圖片框),應(yīng)采用的正確方法是:
A)選擇圖片框,然后按Del鍵 B)執(zhí)行語句Picture1.Picture=LoadPicture(“”)
C)執(zhí)行語句Picture1.Picture=”” D)選擇圖片框,在屬性窗口中選擇Picture屬性,然后按回車鍵
(20)在窗體上畫一個(gè)List1的列表框,一個(gè)名稱為L(zhǎng)abel1的標(biāo)簽,列表框中顯示若干個(gè)項(xiàng)目,當(dāng)單擊列表框中的某個(gè)項(xiàng)目時(shí),在標(biāo)簽中顯示被選中的項(xiàng)目的名稱,下列能正確實(shí)現(xiàn)上述操作的程序是
A) Private Sub List1_Click() Label1.Caption = List1.ListIndex End Sub
B) Private Sub List1_Click() Label1.Name = List1.ListIndex End Sub
C) Private Sub List1_Click() Label1.Name = List1.Text End Sub
D) Private Sub List1_Click() Label1.Caption = List1.Text End Sub
。21)在窗體上畫一個(gè)命令按鈕,名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim i As Integer, x As Integer
For i = 1 To 6
If i = 1 Then x = i
If i <= 4 Then
x = x + 1
Else
x = x + 2
End If
Next i
Print x
End Sub
程序運(yùn)行后,單擊命令按鈕,其輸出結(jié)果為
A)9 B)6 C)12 D)15
(22)在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
c = "ABCD"
For n = 1 To 4
Print _________
Next
End Sub
程序運(yùn)行后,單擊命令按鈕,要求在窗體上顯示如下內(nèi)容:
D
CD
BCD
ABCD
則在________處應(yīng)填入的內(nèi)容為
A)Left(c,n) B)Right(c,n) C)Mid(c,n,1) D)Mid(c,n,n)
(23)執(zhí)行以下程序段
Dim x As Integer, i As Integer
x=0
For i = 20 To 1 Step -2
x = x + i \ 5
Next I
后,x的值為
A)16 B)17 C)18 D)19
。24)在Visual Basic工程中,可以作為啟動(dòng)對(duì)象的程序是
A)任何窗體或標(biāo)準(zhǔn)模塊
B)任何窗體或過程
C)Sub Main過程或其他任何模塊
D)Sub Main過程或任何窗體
(25)假定建立了一個(gè)名為Command1的命令按鈕數(shù)組,則以下說法中錯(cuò)誤的是
A)數(shù)組中每個(gè)命令按鈕的名稱(名稱屬性)均為Command1
B)數(shù)組中每個(gè)命令按鈕的標(biāo)題(Caption屬性)都一樣
C)數(shù)組中所有命令按鈕可以使用同一個(gè)時(shí)間過程
D)用名稱Command1(下標(biāo))可以訪問數(shù)組中的每個(gè)命令按鈕
(26)把窗體的KeyPreview屬性設(shè)置為True,然后編寫如下事件過程:
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim ch As String
ch = Chr(KeyAscii)
KeyAscii = Asc(UCase(ch))
Print Chr(KeyAscii + 2)
End Sub
程序運(yùn)行后,按鍵盤上的”A”鍵,則在窗體上顯示的內(nèi)容是
A)A B)B C)C D)D
(27)在窗體上畫一個(gè)命令按鈕和一個(gè)文本框,名稱分別為Command1和Text1,然后編寫如下程序:
Private Sub Command1_Click()
a = InputBox("請(qǐng)輸入日期(1~31)")
t = "旅游景點(diǎn):" _
& IIf(a > 0 And a <= 10, "長(zhǎng)城", "") _
& IIf(a > 10 And a <= 20, "故宮", "") _
& IIf(a > 20 And a <= 30, "頤和園", "")
Text1.Text = t
End Sub
程序運(yùn)行后,如果從鍵盤輸入16,則在文本框中顯示的內(nèi)容是:
A)旅游景點(diǎn):長(zhǎng)城故宮
B)旅游景點(diǎn):長(zhǎng)城頤和園
C)旅游景點(diǎn):頤和園
D)旅游景點(diǎn):故宮
(28)在窗體上畫一個(gè)名稱為Label1的標(biāo)簽,然后編寫如下事件過程:
Private Sub Form_Click()
Dim arr(10, 10) As Integer
Dim i As Integer, j As Integer
For i = 2 To 4
For j = 2 To 4
arr(i, j) = i * j
Next j
Next i
Label1.Caption = Str(arr(2, 2) + arr(3, 3))
End Sub
程序運(yùn)行后,單擊窗體,在標(biāo)簽中顯示的內(nèi)容是
A)12
B)13
C)14
D)15
(29) 在窗體上畫一個(gè)名稱為Comamnd1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程:
Private Function fun(ByVal m As Integer)
If m Mod 2 = 0 Then
fun = 2
Else
fun = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, s As Integer
s = 0
For i = 1 To 5
s = s + fun(i)
Next
Print s
End Sub
程序運(yùn)行后,單擊命令按鈕,則窗體上顯示的是:
A)6
B)7
C)8
D)9
(30)閱讀程序:
Option Base 1
Dim arr() As Integer
Private Sub Form_Click()
Dim i As Integer, j As Integer
ReDim arr(3, 2)
For i = 1 To 3
For j = 1 To 2
arr(i, j) = i * 2 + j
Next j
Next i
ReDim Preserve arr(3, 4)
For j = 3 To 4
arr(3, j) = j + 9
Next j
Print arr(3, 2) + arr(3, 4)
End Sub
程序運(yùn)行后,單擊窗體,輸出結(jié)果為:
A)21
B)13
C)8
D)25
31)在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下程序:
Option Base 1
Private Sub Command1_Click()
Dim c As Integer, d As Integer
d = 0
c = 6
x = Array(2, 4, 6, 8, 10, 12)
For i = 1 To 6
If x(i) > c Then
d = d + x(i)
c = x(i)
Else
d = d - c
End If
Next i
Print d
End Sub
程序運(yùn)行后,如果單擊命令按鈕,則在窗體上輸入的內(nèi)容為
A)10
B)16
C)12
D)20
(32)設(shè)有如下程序:
Private Sub Command1_Click()
Dim c As Integer, d As Integer
c = 4
d = InputBox("請(qǐng)輸入一個(gè)整數(shù)")
Do While d > 0
If d > c Then
c = c + 1
End If
d = InputBox("請(qǐng)輸入一個(gè)整數(shù)")
Print c + d
End Sub
程序運(yùn)行后,單擊命令按鈕如果在輸入對(duì)話框中依次輸入1、2、3、4、5、6、7、8、9、0,則輸出結(jié)果是:
A)12
B)11
C)10
D)9
(33)在窗體上畫一個(gè)名稱為Command1的命令按鈕和一個(gè)名稱為Text1的文本框,在文本框中輸入以下字符串:
Microsoft Visual Basic Programming
然后編寫如下事件過程:
Private Sub Command1_Click()
Open "d:\temp\outf.txt" For Output As #1
For i = 1 To Len(Text1.Text)
c = Mid(Text1.Text, i, 1)
If c >= "A" And c <= "Z" Then
Print #1, LCase(c)
End If
Next i
Close
End Sub
程序運(yùn)行后,單擊命令按狃,文件outf.txt中的內(nèi)容是:
A)MVBP
B)mvbp
C)M
V
B
P
D)m
v
b
p
(34)在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下程序:
Dim SW As Boolean
Function func(X As Integer) As Integer
If X < 20 Then
Y = X
Else
Y = 20 + X
End If
func = Y
End Function
Private Sub Command1_Click()
Dim intNum As Integer
intNum = InputBox("")
If SW Then
Print func(intNum)
End If
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = False
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
SW = True
End Sub
程序運(yùn)行后,單擊命令按鈕,將顯示一個(gè)輸入對(duì)話框,如果在對(duì)話框中輸入25,則程序的執(zhí)行結(jié)果是:
A)輸出0
B)輸出25
C)輸出45
D)無任何輸出
(35) 設(shè)有如下通用過程:
Public Sub fun(a() As Integer, x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗體上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim arr(5) As Integer, n As Integer
For i = 1 To 5
arr(i) = i + i
Next
fun arr, n
Text1.Text = Str(n)
End Sub
程序運(yùn)行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是
A)30
B)25
C)20
D)15
二、填空題(每空2分,共30分)
請(qǐng)將每一個(gè)空的正確答案寫在答題卡【1】~【15】序號(hào)的橫線上,答在試卷上不得分。注意:以命令關(guān)鍵字填空的必須拼寫完整。
(1) 某二*樹中度為2的結(jié)點(diǎn)有18個(gè),則該二*樹中有 【1】 個(gè)葉子結(jié)點(diǎn)。
(2) 在面向?qū)ο蠓椒ㄖ校惖膶?shí)例稱為 【2】 。
(3) 診斷和改正程序中錯(cuò)誤的工作通常稱為 【3】 。
(4) 在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為 【4】 。
(5) 問題處理方案的正確而完整的描述稱為 【5】 。
(6)以下語句的輸出結(jié)果是: 【6】
Print Int(12345.6789*100+0.5)/100
(7)在窗體上畫一個(gè)文本框和一個(gè)圖片框,然后編寫如下兩個(gè)事件過程:
Private Sub Form_Click()
Text1.Text = "VB程序設(shè)計(jì)"
End Sub
Private Sub Text1_Change()
Picture1.Print "VBProgramming"
End Sub
程序運(yùn)行后,單擊窗體,在文本框中顯示的內(nèi)容是【7】,而在圖片框中顯示的內(nèi)容是【8】
(8)閱讀下面的程序
Private Sub Form_Click()
Dim Check As Boolean, Counter As Integer
Check = True
Counter = 5
Do
Do While Counter < 20
Counter = Counter + 1
If Counter = 10 Then
Check = False
Exit Do
End If
Loop Until Check = False
Print Counter
End Sub
程序運(yùn)行后,單擊窗體,輸出結(jié)果是【9】
(9)設(shè)有如下程序
Private Sub Form_Click()
Dim a As Integer, s As Integer
n = 8
s = 0
Do
s = s + n
n = n - 1
Loop While n > 0
Print s
End Sub
以上程序的功能是【10】,程序運(yùn)行后,單擊窗體,輸出結(jié)果為【11】
(10)設(shè)有如下程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1
Dim Min As Integer, i As Integer
arr1 = Array(12, 435, 76, -24, 78, 54, 866, 43)
Min = 【12】
For i = 2 To 8
If arr1(i) < Min Then 【13】
Next i
Print "最小值是:"; Min
End Sub
以上程序的功能是用Array函數(shù)建立一個(gè)含有8個(gè)元素的數(shù)組,然后查找并輸出該數(shù)組中的最小值,請(qǐng)?zhí)羁?BR>
(11)在名稱為Form1 的窗體上畫一個(gè)文本框,其名稱為Text1,在屬性窗口中把文本框的MultiLine屬性設(shè)置為True,然后編寫如下事件過程:
Private Sub Form_Click()
Open "d:\test\smtext1.txt" For Input As #1
Do While Not 【14】
Line Input #1, aspect$
whole$ = whole$ + aspect$ + Chr(13) + Chr(10)
Text1.Text = whole$
Close #1
Open "d:\test\smtext2.txt" For Output As #1
Print #1, 【15】
Close #1
End Sub
上述程序的功能是,把磁盤文件smtext1.txt 的內(nèi)容讀到內(nèi)存并在文本框中顯示出來,然后把該文本框中的內(nèi)容存入磁盤文件smtext2.txt .請(qǐng)?zhí)羁?BR>
以下答案僅供參考
選擇題:
1---5DBDCA
6---10 CBDDC
11--15 ABBCD
16--20 CDABD
21--25 ABCDB
26--30 CDBBA
31--35 CDDDA
填空題:
【1】19
【2】 對(duì)象
【3】 程序調(diào)試
【4】 關(guān)系
【5】 算法
【6】12345.68
【7】VB程序設(shè)計(jì)
【8】 VB Programming
【9】 10
【10】 求1-8的和
【11】36
【12】 arr1(1)
【13】min=arr1(i)
【14】 EOF(1)
【15】text1.text(或whole$)