23.在下列關于菜單的說法中,錯誤的是(B)
A)每一個菜單項都是一個控件,與其他控件一樣都有自己的屬性和事件
B)除了Click事件之外,菜單項還能響應其他的如 DblClick等事件過程
C)菜單項的快捷鍵不可以任意設置
D)在程序執(zhí)行時,如果菜單項的Enabled屬性為False,則該菜單項變成灰色,不能被用戶選擇
24.下面關于多重窗體的敘述中,正確的是(B)
A)作為啟動對象的Main 子過程只能放在窗體模塊內(nèi)
B)如果啟動對象是Main 子過程,則程序啟動時不加載任何窗體,以后由該過程根據(jù)不同情況決定是否加載窗體或加載哪一個窗體
C)沒有啟動窗體,程序不能執(zhí)行
D)以上都不對
25.與鍵盤操作有關的事件有KeyPress、KeyUp和KeyDown事件,當用戶按上并且釋放一個鍵后,這三個事件發(fā)生的順序是(A)
A)KeyDown、KeyPress、KeyUp
B)KeyDown、KeyUp、KeyPress
C)KeyPress、KeyDown、、KeyUp
D)沒有規(guī)律
26.要從磁盤上讀入一個文件名為“c:\filel.txt”的順序文件,下面程序段正確的是(A)
A)F="c:\filel.txt"
Open F For Input As # 1
B)F="c:\filel.txt"
Open "F" For Input As # 2
C)Open "c:\filel.txt" For Output As # 2
D)Open c:\filel.txt For Input As # 1
27.下列關于過程敘述不正確的是(D)
A)過程的傳值調(diào)用是將實參的具體值傳值遞給形參
B)過程的傳址調(diào)用是將實參在內(nèi)存的地址傳遞給形參
C)過程的傳值調(diào)用參數(shù)是單向傳遞的,過程的傳址調(diào)用參數(shù)是雙向傳遞的
D)無論過程傳值調(diào)用還是過程傳址調(diào)用,參數(shù)傳遞都是雙向的
28.執(zhí)行了下面程序后,組合框中數(shù)據(jù)項的值是(D)
Private Sub Form_Click()
For i=1 to 6
Combo1.AddItem i
Next i
For i= 1 to 3
Combo1.RemoveItem i
Next i
End Sub
A)1 5 6
B)1 3 5
C)4 5 6
D)2 4 6
29.若在Shape 控件內(nèi)以FillStyle屬性所指定的圖案填充區(qū)域,而填充圖案的線條顏色由FillColor屬性指定,非線條的區(qū)域由Back Color屬性填充,則應(A)
A)將Shape控件的FillSte屬性設置為2至7間的某個值,BackStyle屬性設置為1
B)將Shape控件的FillSte屬性設置為0或1,BackStyle屬性設置為1
C)將Shape控件的FillSte屬性設置為2至7間的某個值,BackStyle屬性設置為0
D)將Shape控件的FillSte屬性設置為0或1,BackStyle屬性設置為0
30.下列程序的執(zhí)行結(jié)果是(A)
Private Sub Form_Activate()
Dim score(3) As Integer, total As Integer
Dim aa_score As Variant
score(1)=50: score(2) =14:score(3)=36
tota=0: i=0
For Each aa_score In score
i=i+1
total=tota + aa+_score
Print i,aa_score,total
Next
End Sub
A)1 0 0
2 50 50
3 14 64
4 36 100
B)1 50 50
2 14 64
3 36 100
C)0 50 50
1 14 64
2 36 100
D)0 0 0
1 50 50
2 14 64
3 36 100
31.在Activate 事件過程中,寫入下面的程序:
Option Base 1
Private Sub Form_Activate()
Dim t As Integer
Dim a( ) As Variant
a=Array (2,4,6,8,10,1,3,5,7,9)
For i=1 to 10\2
t= a(i)
a(i)=a(10 - i + 1)
a(10 - i + 1)=t
Next i
For j= 1 to 10
Print a(j);
Next j
End Sub
運行程序后,顯示的結(jié)果是(C)
A)2 4 6 8 10 1 3 5 7 9
B)1 3 5 7 9 2 4 6 8 10
C)9 7 5 3 1 10 8 6 4 2
D)10 8 6 4 2 9 7 5 3 1
32.在Activate 事件過程中,寫入下面的程序:
Private Sub Form _Activate()
Dim S As String, a As String, b As String
a= "*" : b =" $"
For i= 1 to 4
If i / 2= Int(i / 2) Then
S=String(Len (a)+i , b)
Else
S=String(Len(a) + i, a)
End If
Print S;
Next i
End Sub
運行程序后,顯示結(jié)果是(C)
A)$$ ***$$$$*****
B)*$$**$$***$$$****$$$$
C)**$$$****$$$$$
D)$*$$**$$$***$$$$****
33.在窗體上設置相應的控件,并在代碼窗口編寫下列程序:
Printe Sub Form_Click()
Dim a As Long ,b As Long
a=InputBox("請輸入若干個整數(shù)")
Call P(a,b)
Print b
End Sub
Private Sub P(x As Long, y As Long)
Dim n As Integer, j As String*1, s As String
k=Len(Trim(Str(x)))
s=""
For i= K To 1 Step -1
j=Mid(x,i,1)
s=s+j
Next i
y=Val(s)
End Sub
運行程序,在InputBox框中輸入123456,然后單擊"確定"按鈕,則輸出結(jié)果是(B)
A)123456
B)654321
C)135246
D)246135
34.設定文本框內(nèi)的文字內(nèi)容是否允許修改的屬性是(B)
A)Text
B)Locked
C)PasswordChar
D)Multiline
35.要建立一個學生成績的隨機文件,如下定義了學生的記錄類型,由學號、姓名、三門課程成績(百分制)組成,下列程序段正確的是(C)
A)Type studl
no As Integer
name AS String
score(1 to 3) As Single
End Type
B)Type studl
no As Integer
name As String *10
score() As Single
End Type
C)Type studl
no As Integer
name As String *10
score(1 to 3) As Stngle
End Type
D)Type studl
no As Integer
name As String
score(1 to 3) As String
End Type
二、填空:每空2分,共30分。
1.有一圖書查詢系統(tǒng),當在組合框中選擇書名后,則在兩個文本框中顯示出作者和出版社,程序運行后的界面如圖2-1所示,當單擊“結(jié)束”按鈕時,結(jié)束程序。程序中有一個組合框、兩個文本框、三個標簽及一個命令按鈕。請__[1]__、_[2]__和__[3]__處填入適當?shù)膬?nèi)容,將程序補充完整。
Dim k As Integer
dim author(),b_concern
Privage Sub Combol_Click()
Dim n As Integer
n=Combol.ListIndex
Text(1)=[1]
Text(2)=[2]
End Sub
Private Sub Combol_Click()
[3]
End Sub
Private Sub Form_Load()
Combol.AddItem"哭泣的駱駝"
Combol.AddItem"雙城記"
Combol.AddItem"窗外"
Combol.AddItem"紅與黑"
Combol.AddItem"廢都"
author()=Array("三毛","荻更斯","瓊瑤","司湯達、"賈平凹")
b_concern()=Array("作家","商務","香江文藝","外國文學"、"上海")
End Sub
答案: author(n) ;b_concerm(n) ;End
2.在窗體上畫一個名稱為Timer1的計時器和一個名稱為Label1的標簽。當運行程序后,將在標簽中顯示當前時間的數(shù)字時鐘(包括時:分:秒)。程序運行后的結(jié)果如圖2-2所示。請在__[4]__處填入適當?shù)膬?nèi)容,將程序補充完整。
Private Sub Form_Load()
Timer1.Interval=1000
End Sub
Private Sub Timer1_timer()
__[4]__
End Sub
答案: Labell.Caption=Time
3.在剛建立工程時,使窗體上的所有控件具有區(qū)別于默認值的相同的字體格式,應對__[5]__的__[6]__屬性進行設置。
答案: Form窗體 、 Font
4.整形變量M中存放了一個兩位數(shù),要將兩位數(shù)交換位置,例如24變成42,實現(xiàn)的表達式為__[7]__
答案:((M mod 10)*10 + M\10)
5.下列程序運行時,當單擊窗體后,從鍵盤輸入一個字符,判斷該字符是字母字符、數(shù)字字符還是其他字符,并做相應的顯示。窗體上無任何控件,并禁用Asc和Chr函數(shù),Select Case 語句中禁用枚舉值。請在__[8]__、__[9]__、__[10]和__[11]__ 處填入適當?shù)膬?nèi)容,將程序補充完整。
Private Sub Form_Load()
Dim x As String*1
X=__[8]__(“請輸入單個字符”,“字符”)
Select Case UCase(__[9]__)
Case __[10]__
Print X+“是字母字符”
Case __[11]__
Print X+“是數(shù)字字符”
Case Else
Print X+“是其他字符”
End Select
End Sub
答案: InputBox; X"A"To"z" "0"To"9"
6.下列程序為求Sn=a+aa+aaa+……+aa…a(n個a),其中a為一個隨機數(shù)產(chǎn)生的1~9(包括1、9)中的一個正整數(shù),n是一個隨機數(shù)產(chǎn)生的5~10(包括5、10)中的一個正整數(shù),請在__[12]__和__[13]__處填入適當?shù)膬?nèi)容,將程序補充完整。
Private Sub Form_Load()
Dim a As Integer,n As Integer, S As Double,Sn As Double
a=Fix(9*Rnd)+1
n=Fix(6*Rnd)+5
Sn=0
S=0
For i=1 to __[12]__
S=S+a*10^(i-1)
__[13]__
print Sn
Next i
End Sub
答案: n;Sn = Sn + S
7.如果菜單標題的某個字母前輸入一個“__[14]__”符號,那么該字母就成了熱鍵字母;如果建立菜單時在標題文本框中輸入一個“__[15];[_16]”,那么顯示時將形成一行分隔符。
答案: & 、 - 、 _