第一篇:全國計算機二級VB筆試試題總結
2002年4月二級VB筆試試題
一、選擇題1~35題每題2分,共70分。
下列各題A)、B)、C)、D)四個選項中,只有一個選擇是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
1.下列不能打開屬性窗口的操作是()。
A)執行“視圖”菜單中的“屬性窗口”命令
B)按F4鍵
C)按Ctrl+T
D)單擊工具欄上的“屬性窗口”按鈕。
2.下列可以打開立即窗口的操作是()。
A)Ctrl+D
B)Ctrl+E
C)Ctrl+F
D)Ctrl+G 3.InputBox函數返回值的類型為()。
A)數值 B)字符串 C)變體 D)數值或字符串(視輸入的數據而定)
4.可以同時刪除字符串前導和尾部空白的函數是()。
A)Ltrim
B)Rtrim
C)Trim
D)Mid 5.表達式4+5 6 * 7 / 8 Mod 9 的值是()。
A)4
B)5
C)6
D)7 6.如果在立即窗口中執行以下操作:
a=8
b=9
print a>b
A)-1
B)0
C)False
D)True 7.以下語句的輸出結果是()。
Print Format $(32548.5,“000,000.00”)
A)32548.5
B)32,548.5 C)032,548.50
D)32,548.50 8.執行以下程序段后,變量c$的值為()。
a$=“Visual Basic Programing” b$=“Quick”
c$=b$ & UCase(Mid$(a$,7,6))& Right $(a$,11)
A)Visual BASIC Programing B)Quick Basic Programing C)QUICK Basic Programing
D)Quick BASIC Programing
9.為了在按下回車鍵時執行某個命令按鈕的事件過程,需要把該命令按鈕的一個屬性設置為True,這個屬性是()。
A)Value
B)Default C)Cancel
D)Enabled 10.為了把焦點移到某個指定的控件,所使用的方法是()。
A)SetFocus
B)Visible C)Refresh
D)GetFocus 11.設a=6,則執行 x=IIf(a>5,-1,0)后,x 的值為()。
A)5 B)6 C)0
D)-1
12.執行下面的程序段后,x 的值為()。
x=5
For i=1 To 20 Step 2 x=x+i5 Next i A)21
B)22 C)23
D)24
13.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()For i=1 To 4 x=4
For j =1 To 3? x=3
For k=1 To 2 x=x+6 Next k Next j Next i Print x End Sub
程序運行后,單擊命令按鈕,輸出結果是()。
A)7 B)15 C)157 D)538
14.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()x=0
Do Until x=-1
a = InputBox(“請輸入A的值”)a = Val(a)
b = InputBox(“請輸入B的值”)b = Val(b)
x = InputBox(“請輸入x的值”)x = Val(x)a = a+b+x Loop Print a End Sub
程序運行后,單擊命令按鈕,依次在輸入對話框中輸入5、4、3、2、1、-1,則輸出結果為()。
A)2 B)3
C)14
D)15
15.在窗體(Name屬性為Form1)上畫兩個文本框(其Name屬性分別為Text1和Text2)和一個命令按鈕(Name屬性為Command1),然后編寫如下兩個事件過程:
Private Sub Command1_Click()a=Text1.Text+Text2.Text Print a End Sub
Private Sub Form_Load()Text1.Text=”“ Text2.Text=”“ End sub
程序運行后,在第一個文本框(Text1)和第二個文本框(Text2)中分別輸入123和321,然后單擊命令按鈕,則輸出結果為()。
A)444 B)321123 C)123
321 D)132231 16.閱讀下面的程序段:
For i=1 To 3 For j=1 To i For k=j To 3 a=a+1 Next k Next j Next i
執行上面的三重循環后,a 的值為()。
A)3 B)9 C)14
D)21
17.在窗體上畫一個文本框(其中Name屬性為Text1),然后編寫如下事件過程:
Private Sub Form_Load()Text1.Text=”“ Text1.SetFocus For i=1 To 10 Sum=Sum+i Next i
Text1.Text=Sum End Sub
上述程序的運行結果是()。
A)在文本框Text1中輸出55 B)在文本框Text1中輸出0 C)出錯
D)在文本框Text1中輸出不定值
18.在窗體上畫兩個文本框(其Name屬性分別為Text1和Text2)和一個命令按鈕(其Name屬性為Command1),然后編寫如下事件過程: Private Sub Command1_Click()x=0
Do While x<50 x=(x+2)*(x+3)n=n+1 Loop
Text1.Text=Str(n)Text2.Text=Str(x)End Sub
程序運行后,單擊命令按鈕,在兩個文本框中顯示的值分別為()。
A)1和0 B)2和72 C)3和50
D)4和168 19.用下面語句定義的數組的元素個數是()。
Dim A(-3 To 5)As Integer
A)6 B)7 C)8
D)9 20.以下程序的輸出結果是()。
Option Base 1
Private Sub Command1_Click()Dim a(10),p(3)As Integer k=5 For i=1 To 10 a(i)=i Next i
For i=1 To 3 p(i)=a(i*i)Next i
For i=1 To 3 k=k+p(i)*2 Next i Print k End sub
A)33 B)28 C)35 D)37
21.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Option Base 1
Private Sub Commandl_Click()Dim a
a = Array(1,2,3,4)j = 1
For i = 4 To Step-1 s = s + a(i)*j j =j*10 Next i Print s End Sub
運行上面的程序,單擊命令按鈕,其輸出結果是()。
A)4321 B)12 C)3D)1234
22.在窗體上畫一個命令按鈕(其Name屬性為Commandl),然后編寫如下代碼:
Option Base 1
Private Sub Commandl_Click()Dim a(4,4)For i =1 To 4 For j =1 To 4 a(i,j)=(i-1)*3+j Next j Next i
For i =3 To 4 For j =3 To 4 Print a(j,i);Next j Print Next i End Sub
程序運行后,單擊命令按鈕,其輸出結果為()。
A)6 9
B)7 10
7&n
bsp;10 11
C)8 11
D)9 12 12
23.假定有如下的Sub過程:
Sub S(x As Single,y As Single)
t = x x =t/y
y =t Mod y End Sub
在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Commandl_Click()Dim a As Single Dim b As Single a =5 b =4 S a,b Print a,b End Sub
程序運行后,單擊命令按鈕,輸出結果為()。
A)5 4 B)1 1 C)1.25 4
D)1.25 1 24.閱讀程序:
Function F(a As Integer)b = 0 Static c b = b+1 c = c+1 F = a+b+c End Function
Private Sub Commandl_Click()Dim a As Integer a =2
For i =1 To 3 Print F(a)Next i End Sub
運行上面的程序,單擊命令按鈕,輸出結果為()。
A)4 B)4
C)4
D)4
7
25.閱讀程序:
Sub subP(b()As Integer)For i =1 To 4 b(i)=2*i Next i End Sub
Private Sub Commandl_Click()Dim a(1 To 4)As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a()For i =1 To 4 Print a(i)Next i End Sub
運行上面的程序,單擊命令按鈕,輸出結果為()。
A)2 B)5
C)10 D)出錯
26.下列不能打開菜單編輯器的操作是()。
A)按Ctrl+E B)單擊工具欄中的“菜單編輯器”按鈕
C)執行“工具”菜單中的“菜單編輯器”命令 D)按Shift + Alt + M
27.假定有一個菜單項,名為MenuItem,為了在運行時使該菜單項失效(變灰),應使用的語句為()。
A)MenuItem.Enabled=False B)MenuItem.Enabled=True C)MenuItem.Visible=True
D)MenuItem.Visible=False
28.在程序運行期間,如果拖動滾動條上的滾動塊,則觸發的滾動條事件是()。
A)Move B)Change C)Scroll
D)GetFocus
29.假定窗體上有一個標簽,名為Labell,為了使該標簽透明并且沒有邊框,則正確的屬性設置為()。
A)Label1.BackStyle=0
Label1.Borderstyle=0
B)Label1.BackStyle=1
Label1.Borderstyle=1
C)Label1.BackStyle=True
Label1.BorderStyle=True
D)Label1.BackStyle=False
Label1.Borderstyle=False
30.在窗體上畫一個列表框和一個文本框,然后編寫如下兩個事件過程:
Private Sub Form_Load()List1.AddItem”357“ List1.AddItem”246“ List1.AddItem”123“ Listl.AddItem”456“ Text1.Text=”“ End Sub
Private Sub List1_ DblClick()a =List1.Text
Print a+Text1.Text End Sub
程序運行后,在文本框中輸入“789”(見圖附錄-1),然后雙擊列表框中的“456”,則輸出結果為()。
圖附錄-1
A)1245
B)456789
C)789456
D)0
31.為了暫時關閉計時器,應把該計時器的某個屬性設置為False,這個屬性是()。
A)Visible
B)Timer
C)Enabled
D)Interval
32.為了把一個記錄型變量的內容寫入文件中指定的位置,所使用的語句的格式為()。
A)Get文件號,記錄號,變量名
B)Get文件號,變量名,記錄號
C)Put文件號,變量名,記錄號
D)Put文件號,記錄號,變量名
33.對窗體編寫如下事件過程:
Private Sub Form _MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button =2 Then Print ”AAAAA“ End If End Sub
Private Sub Form _ MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Print ”BB BBB“ End Sub
程序運行后,如果右擊鼠標,則輸出結果為()。
A)AAAAA B)BBBBB
BBBBB
C)AAAAA D)BBBBB
AAAAA
34.為了在運行時能顯示窗體左上角的控制框(系統菜單),必須()。
A)把窗體的Contro1Box屬性設置為False,其他屬性任意
B)把窗體的ControlBox屬性設置為True,并且把Boder Style屬性設置為1-5
C)把窗體的ControlBox屬性設置為False,同時把BoderStyle屬性調協為非0值
D)把窗體的ControlBox屬性設置為True,同時把BoderStyle屬性設置為0值
35.對窗體編寫如下代碼:
Option Base 1 Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1
If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(i)m2 =i End If Next i End If Print m1 Print m2 End Sub
程序運行后,按回車鍵,輸出結果為()。
A)48
B)237
C)498
D)498
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡[1]~[15]序號的橫線上,答在試卷上不得分。
1.設有如下的Visual Basic表達式: 5 * x^2 – 3 * x – 2 * Sin(a)/3 它相當于代數式 [1]。
2.執行下面的程序段后,s的值為 [2]。
s = 5
For i = 2.6 To 4.9 Step 0.6 s = s+1 Next i
3.表達式Fix(-32.68)+Int(-23.02)的值為 [3]。
4.為了在運行時把圖形文件picfile.jpg裝入圖片框Picture1,所使用的語句為 [4]。
5.在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()a = InputBox(”請輸入一個整數“)b = InputBox(”請輸入一個整數“)Print a + b End Sub
程序運行后,單擊命令按鈕,在輸入對話框中分別輸入321和456,輸出結果為 [5]。
6.執行下面的程序段后,b的值為 [6]。
a=300 b=20 a=a+b b=a-b a=a-b
7.以下程序段的輸出結果是 [7]。num=0 &nb sp;
While num<=2 num=num+1 Print num Wend
8.在窗體畫一個命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()Dim a(1 To 10)Dim p(1 To 3)k=5
For i=1 To 10 a(i)=i Next i
For i=1 To 3 p(i)=a(i*i)Next i
For i=1 To 3 k=k+p(i)*2 Next i Print k End Sub
程序運行后,單擊命令按鈕,輸出結果是 [8]。
9.下面的程序用“冒泡”法將數組a中的10個整數按升序排列,請在 [9]、處將程序補充完整。
Option Base 1
Private Sub Command1_Click()Dim a
a=Array(678,45,324,528,439,387,87,875,273,823)For i= [9] For j= [10]
If a(i)[11] a(j)Then a1=a(i)a(i)=a(j)a(j)=a1 End If Next j Next i
For i=1 To 10 Print a(i)Next i End Sub
10.在窗體上畫一個命令按鈕,然后編寫如下過程:
Function fun(ByVal num As Long)As Long
[10]、[11] Dim k As Long k=1
num=Abs(num)Do While num k=k*(num Mod 10)num=num10 Loop fun=k
End Function
Private Sub Command1_Click()Dim n As Long Dim r As Long
n=InputBox(”請輸入一個數“)n=CLng(n)r=fun(n)Print r End Sub
程序運行后,單擊命令按鈕,在輸入對話框中輸入234,輸出結果為 [12]。
11.如果要將某個菜單項設計為分隔線,則該菜單項的標題應設置為 [13]。
12.假定建立了一個工程,該工程包括兩個窗體,其名稱(Name屬性)分別為Form1和Form2,啟動窗體為Form1。在Form1上畫一個命令按鈕Command1,程序運行后,要求當單擊該命令按鈕時,Form1窗體消失,顯示窗體Form2,請在 [14] 和 [15] 處將程序補充完整。
Private Sub Command1_Click();[14] Form1 Form2.[15] End Sub
2002年9月二級VB筆試試題
一、選擇題(每題2分,共70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
(1)在設計階段,當雙擊窗體上的某個控件時,所打開的窗口是()。
A)工程資源管理器窗口
B)工具箱窗口
C)代碼窗口
D)屬性窗口
(2)以下敘述中正確的是()。
A)窗體的Name屬性指定窗體的名稱,用來標識一個窗體
B)窗體的Name屬性的值是顯示在窗體標題欄中的文本
C)可以在運行期間改變對象的Name屬性的值
D)對象的Name屬性值可以為空
(3)剛建立一個新的標準EXE工程后,不在工具箱中出現的控件是()。
A)單選按鈕
B)圖片框
C)通用對話框
D)文本框
(4)設有如下變量聲明
Dim TestDate As Date
為變量TestDate正確賦值的表達方式是()。
A)TextDate=#1/1/200
2# B)TestDate=#“1/1/2002”#
C)TextDate=date(“1/1/2002”)
D)TestDate=Format(“m/d/yy”,“1/1/2002”)
(5)設有如下聲明:
Dim X As Integer
如果Sgn(X)的值為-1,則X的值是()。
A)整數
B)大于0的整數
C)等于0的整數
D)小于0的數
(6)在窗體上畫一個名稱為Commandl的命令按鈕,然后編寫如下程序:
Private Sub Command1_Click()
Static X As Integer
Static Y As Integer
Cls
Y=1
Y=Y+5
X=5+X
Print X,Y
End Sub
程序運行時,三次單擊命令按鈕Commandl后,窗體上顯示的結果為()。
A)15 16
B)15 6
C)15 1D)5 6
(7)設a=3,b=5,則以下表達式值為真的是()。
A)a>=b And b>10
B)(a>b)Or(b>0)
C)(a<0)Eqv(b>0)
D)(-3+5>a)And(b>0)
(8)設有語句
x=InputBox(“輸入數值”,“0”,“示例”)
程序運行后,如果從鍵盤上輸入數值10并按回車鍵,則下列敘述中正確的是()。
A)變量X的值是數值10
B)在InputBox對話框標題欄中顯示的是“示例”
C)0是默認值
D)變量X的值是字符串“10”
(9)從鍵盤上輸入兩個字符串,分別保存在變量str1、str2中。確定第二個字符串在第一個字符串中起始位置的函數是()。
A)Left
B)Mid
C)String
D)Instr
(10)設a=“Visual Basic”,下面使b=“Basic”的語句是()。
A)b=Left(a,8,12)
B)b=Mid(a,8,5)
C)b=Rigth(a,5,5)
D)b=Left(a,8,5)
(11)以下能夠觸發文本框Change事件的操作是()。
A)文本框失去焦點
B)文本框獲得焦點
C)設置文本框的焦點
D)改變文本框的內容
(12)在窗體上有一個文本框控件,名稱為TxtTime:一個計時器控件,名稱為Timerl,要求每一秒鐘在文本框中顯示一次當前的時間。程序為:
Private Sub Timer1_()
TxtTime.text=Time
End Sub
在下劃線上應填入的內容是()。
A)Enabled
B)Visible
C)Interval
D)Timer
(13)在窗體上畫兩個單選按鈕,名稱分別為Option1、Option2,標題分別為“宋體”和“黑體”;一個復選框,名稱為Check1,標題為“粗體”;一個文本框,名稱為Text1,Text屬性為“改變文字字體”。要求程序運行時,“宋體”單選按鈕和“粗體”復選框被選中(窗體外觀如下圖),則能夠實現上述要求的語句序列是()。
A)Option1.value=True
B)Option1.Value=True
Check1.Value=False
Check1.Value=True
C)Option2.Value=False D)Option1.Value=True
Check1.Value=True
Check1.Value=1
(14)為了在按下Esc鍵時執行某個命令按鈕的Click事件過程,需要把該命令按鈕的一個屬性設置為True,這個屬性是()。
A)Value
B)Default
C)Cancel
D)Enabled
(15)在窗體上畫一個命令按鈕,名稱為Command1。然后編寫如下程序:
Private Sub Command1_Click()
For I=1 To 4
For J=0 To 1
Print Chr$(65+I);
Next J
Next I
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是()。
A)BB
B)A
C)B
D)AA
CC
BB
CC
BBB
DDDD
CCC
DDD
CCCC
EEEEE
DDDD
EEEE
DDDDD
(16)圖像框有一個屬性,可以自動調整圖形的大小,以適應圖像框的尺寸,這個屬性是()。
A)Autosize
B)Stretch
C)AutoRedraw
D)Appearance
(17)在窗體上畫兩個名稱分別為Text1、Texte2的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim x As Integer,n As Integer
x=1
n=0
Do While x<20
x=x*3
n=n+1
Loop
Text1.Text=Str(x)
Text2.Text=Str(n)
End Sub
程序運行后,單擊命令按鈕,在兩個文本框中顯示的值分別是()。
A)15和1
B)27和C)195和3
D)600和4
(18)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim i As Integer,n As Integer
For I=0 To 50
i=i+3
n=n+1
If i>10 Then xit for
Next
Text1.Text=Str(n)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是()。
A)B)3
D)4
D)5
(19)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10,10)As Integer
Dim i,j As Integer
For i=1 To 3
For j=2 To 4
array1(i,j)=i+j
Next j
Next I
Text1.Text=array1(2,3)+array1(3,4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是()。
A)12
B)13
C)1D)15
(20)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
Private Sub Command1_Click()
Dim i As Integer,j As Integer
Dim a(10,10)As Integer
For i=1 To 3
For j=1 To 3
a(i,j)=(i-1)*3+j
Print a(i,j);
Next j
Next j
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是()。
A)123 B)234 C)147 D)123
246
345
258
456
369 456
369
789
(21)設有如下程序:
Option Base 0
Private Sub Form_Click()
Dim a
Dim i As Integer
a=Array(1,2,3,4,5,6,7,8,9)
For i=0 To 3
Print a(5-i);
Next
End Sub
程序運行后,單擊窗體,則在窗體上顯示的是()。
A)4 3 2 1 B)5 4 3 2 C)6 5 4 3 D)7 6 5 4
(22)下列敘述中正確的是()。
A)在窗體的Form_Load事件過程中定義的變量是全局變量
B)局部變量的作用域可以超出所定義的過程
C)在某個Sub過程中定義的局部變量可以與其它事件過程中定義的局部變量同名,但其作用域只限于該過程
D)在調用過程時,所有局部變量被系統初始化為0或空字符串
(23)在窗體上畫一個命令按鈕,名稱為Command1。程序運行后,如果單擊命令按鈕,則顯示一個輸入對話框,在該對話框中輸入一個整數,并用這個整數作為實參調用函數過程F1。在F1中判斷所輸入的整數是否是奇數,如果是奇數,過程F1返回1,否則返回0。能夠正確實現上述功能的代碼是()。
A)Private Sub Command1_Click()
x=InputBox(“請輸入整數”)
a=F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
Return 0
Else
Return 1
End If
End Function
B)Private Sub Command1_Click()
x=InputBox(“請輸入整數”)
a=F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
F1=0
Else
F1=1
End If
End Function
C)Private Sub Command1_Click()
x=InputBox(“請輸入整數”)
F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
F1=1
Else
F1=0
End If
End Function
D)Private Sub Command1_Click()
x=InputBox(“請輸入整數”)
F1(Val(x))
Print a
End Sub
Function F1(ByRef b As Integer)
If b Mod 2=0 Then
Return 0
Else
Return 1
End If
End Function
(24)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,然后編寫如下程序:
Private Sub Command1_Click()
Dim x,y,z As Integer
x=5
y=7
z=0
Text1.text=“”
Call P1(x,y,z)
Text1.Text=Str(x)
End Sub
Sub P1(ByVal a As Integer,ByVal b As Integer,c As Integer)
c=a+b
End Sub
程序運行后,如果單擊命令按鈕,則在文本框中顯示的內容是()。
A)0
B)12
C)Str(z)
D)沒有顯示
(25)以下敘述中錯誤的是()。
A)如果過程被定義為Static類型,則該過程中的局部變量都是Static類型
B)Sub過程中不能嵌套定義Sub過程
C)Sub過程中可以嵌套調用Sub過程
D)事件過程可以像通用過程一樣由用戶定義過程名
(26)以下敘述中錯誤的是()。
A)在KeyUp和KeyDown事件過程中,從鍵盤上輸入A或a被視作相同的字母(即具有相同的KeyCode)
B)在KeyUp和KeyDown事件過程中,將鍵盤上的“1”和右側小鍵盤上的“1”視作不同的數字(具有不同的KeyCode)
C)KeyPress事件中不能識別鍵盤上某個鍵的按下與釋放
D)KeyPress事件中可以識別鍵盤上某個鍵的按下與釋放
(27)以下敘述中錯誤的是()。
A)在同一窗體的菜單項中,不允許出現標題相同的菜單項
B)在菜單的標題欄中,“&”所引導的字母指明了訪問該菜單項的訪問鍵
C)程序運行過程中,可以重新設置菜單的Visible屬性
D)彈出式菜單也在菜單編輯器中定義
(28)設在菜單編輯器中定義了一個菜單項,名為menu1。為了在運行時隱藏該菜單項,應使用的語句是()。
A)menu1.Enabled=True B)Munu1.Enabled=False
C)Menu1.Visible=True D)Menu1.Visible=False
(29)以下敘述中錯誤的是()。
A)在程序運行時,通用對話框控件是不可見的
B)在同一個程序中,用不同的方法(如ShowOpen或ShowSave等)打開的通用對話框具有不同的作用
C)調用通用對話框控件的ShowOpen方法,可以直接打開在該通用對話框中指定的文件
D)調用通用對話框控件的ShowColor方法,可以打開顏色對話框
(30)在用通用對話框控件建立“打開”或“保存”文件對話框時,如果需要指定文件列表框所列出的文件類型是文本文件(即.txt文件),則正確的描述格式是()。
A)“text(.txt)|(*.txt)” B)“文本文件(.txt)|(.txt)”
C)“text(.txt)||(*.txt)” D)“text(.txt)(*.txt)”
(31)以下敘述中錯誤的是()。
A)一個工程中只能有一個Sub Main過程
B)窗體的Show方法的作用是將指定的窗體裝入內存并顯示該窗體
C)窗體的Hide方法和Unload方法的作用完全相同
D)若工程文件中有多個窗體,可以根據需要指定一個窗體為啟動窗體
(32)以下敘述中錯誤的是()。
A)一個工程中可以包含多個窗體文件
B)在一個窗體文件中用Private定義的通用過程能被其他窗體調用
C)在設計VB程序時,窗體、標準模塊、類模塊等需要分別保存為不同類型的磁盤文件
D)全局變量必須在標準模塊中定義
(33)設在工程中有一個標準模塊,其中定義了如下記錄類型
Type Books
Name As String *10
TelNum As String *20
End Type
在窗體上畫一個名為Command1的命令按鈕。要求當執行事件過程Command1_Click時,在順序文件Person.txt中寫入一條記錄。下列能夠完成該操作的事件過程是()。
A)Private Sub Command1_Click()
Dim B As Books
Open “c:Person.txt”For Output As #1
B.Name=InputBox(“輸入姓名”)
B.TelNum=InputBox(“輸入電話號碼”)
Write #1,B.Name,B.TelNum
Close #1
End Sub
B)Private Sub Command1_Click()
Dim B As Books
Open “c:Person.txt”For Input As #1
B.Name=InputBox(“輸入姓名”)
B.TelNum=InputBox(“輸入電話號碼”)
Print #1,B.Name,B.TelNum
Close #1
End Sub
C)Private Sub Command1_Click()
Dim B As Books
Open “c:Person.txt”For Output As #1
B.Name=InputBox(“輸入姓名”)
B.TelNum=InputBox(“輸入電話號碼”)
Write #1,B
Close #1
End Sub
D)Private Sub Command1_Click()
Open “c:Person.txt”For Input As #1
Name=InputBox(“輸入姓名”)
TelNum=InputBox(“輸入電話號碼”)
Print #1,Name,TelNum
Close #1
End Sub
(34)以下敘述中正確的是()。
A)一個記錄中所包含的各個元素的數據類型必須相同
B)隨機文件中每個記錄的長度是固定的
C)Open命令的作用是打開一個已經存在的文件
D)使用Input #語句可以從隨機文件中讀取數據
(35)目錄列表框的Path屬性的作用是()。
A)顯示當前驅動器或指定驅動器上的目錄結構
B)顯示當前驅動器或指定驅動器上的某目錄下的文件名
C)顯示根目錄下的文件名
D)顯示該路徑下的文件
二、填空題(每空2分,共40分)
請將每空的正確答案寫在答題卡(1)至(15)的橫線上,答在試卷上不得分。
(1)在窗體上畫兩個標簽,其名稱分別為Label1和Label2,Caption屬性分別為“數值”及空白;然后畫一個名稱為Hscoll1的水平滾動條,其Min的值為0,Max的值為100。程序運行后,如果單擊滾動條兩端的箭頭,則在標簽Lable2中顯示滾動條的值,如圖所示。請在 [1] 和 [2] 處填入適當的內容,將程序補充完整。
Private Sub HScroll1_ [1]()
Labl2.Caption=HScroll1.[2]
End Sub
(2)在窗體上畫一個名稱為Command1、標題為“計算”的命令按鈕;畫兩個文本框,名稱分別為Text1和Text2;然后畫4個標簽,名稱分別為Label1、Label2、Label3和Label4,標題分別為“操作數1”、“操作數2”、“運算結果”和空白;再建立一個含有4個單選按紐的控件數組,名稱為Option1,標題分別為“+”、“-”、“*”和“/”。程序運行后,在Text1、Text2中輸入兩個數值,選中一個單選按鈕后單擊命令按鈕,相應的計算結果顯示在Label4,程序運行情況如圖所示。請在 [3]、[4] 和 [5] 處填入適當的內容,將程序補充完整。
Private Sub Command1_Click()
For i=0 To 3
If [3] =True then
opt=Option1(i).Caption
End If
Next
Select Case [4]
Case”+”
Result=Val(Text1.Text)+Val(Text2.Text)
Case”-”
Result=Val(Text1.Text)-Val(Text2.Text)
Case”*”
Result=Val(Text.Text)*Val(Text2.Text)
Case”/”
Result=Val(Text1.Text)/Val(Text2.Text)
End Select
[5] =Result
End Sub
(3)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框。程序運行后,Command1為禁用(灰色)。當向文框中輸入任何字符時,命令按鈕Command1變為可用。請在 [6] 處填入適當的內容,將程序補充完整。
Private Sub Form_Load()
Command1.Enabled=False
End Sub
Private Sub Text1_ [6]()
Command1.Enabled=True
End Sub
(4)在菜單編輯器中建立了一個菜單,名為pmenu,用下面的語句可以把它作為彈出式菜單彈出,請填空。
Form1.[7] Pmenu
(5)以下程序的功能是:從鍵盤上輸入若干個學生的考試分數,當輸入負數時結束輸入,然后輸出其中的最高分數和最低分數。請在 [8] 和 [9] 處填入適當的內容,將程序補充完整。
Private Sub Form_Click()
Dim x As Single,amax As Single,amin As Single
x=InputBox(“Enter a score”)
amax=x
amin=x
Do While [8]
If x>amax Then
Amax=x
End If
If [9]Then
Amin=x
End If
x=InputBox(“Enter a score”)
Loop
Print”Max=”;amax,”Min=”;amin
End Sub
(6)在窗體上畫一個文本框和一個圖片框,然后編寫如下兩個事件過程:
Private Sub Form_Load()
Text1.Text=”計算機”
End Sub
Private Sub Text1_Change()
Picture1.Print“等級考試”
End Sub
程序運行后,在文本框中顯示的內容是 [10],而在圖片框中顯示的內容是 [11]。
(7)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下程序:
Function M(x As Integer,y As Integer)As Integer
M=IIf(x>y,x,y)
End Function
Private Sub command1_Click()
Dim a As Integer,b As Integer
a=100
b=200
Print M(a,b)
End Sub
程序運行后,單擊命令按鈕,輸出結果為 [12]。
(8)為了改變計時器控件的時間間隔,應該修改該控件的 [13] 屬性。
(9)在窗體上畫一個名稱為Lable1的標簽和一個名稱為List1的列表框。程序運行后,在列表框中添加若干列表項。當雙擊列表框中的某個項目時,在標簽Label1中顯示所選中的項目,如圖所示。請在 [14] 和 [15] 處填入適當的內容將程序補充完整。
Private Sub Form_load()
List1.AddItem”北京”
List1.AddItem”上海”
List1.AddItem”湖北”
End Sub
Private Sub [14]()
Label1.Caption= [15]
End Sub
2003年4月二級VB筆試試題
一、選擇題((1)一(20)每小題2分,(21)一(30)每小題3分,共30題,70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂在答題卡的相應位置上,答在試卷上不得分。
(1)以下不能在”工程資源管理器“窗口中列出的文件類型是()。
A).bas
B).res
C).fnn
D).ocx
(2)以下關于窗體的描述中,錯誤的是()。
A)執行UnloadFoMl語句后,窗體Fonnl消失,但仍在內存中
B)窗體的Ioad事件在加載窗體時發生
C)當窗體的Enabled屬性為False時,通過鼠標和鍵盤對窗體的操作都被禁止
D)窗體的Height、width屬性用于設置窗體的高和寬
(3)下列可作為V2sualBasic變量名的是()。
A)A#A
B)4A
C)?xY
D)constA(4)設有如下的記錄類型
Type Student
numberAs string
name As String
age As Integer
End Type
則正確引用該記錄類型變量的代碼是()。
A)Student.name=”張紅“
B)Dim As Student
s.name=”張紅“ C)Dim s As Type Student
D)Dim s As Type
S.name=”張紅“
s.Dame=”張紅“
(5)函數String(n,”str“)的功能是()。
A)把數值型數據轉換為字符串 B)返回由n個字符組成的字符串
C)從字符串中取出n個字符
D)從字符串中第n個字符的位置開始取子字符串
(6)將數學表達式Cos2(a+b)+5e2寫成Visual Basic的表達式,其正確的形式是()。
A)Cos(a+b)A2十5。exp(2)
B)Cos^2(a+b)+5*exp(2)C)Cos(a+b)^2十5*ln(2)
D)Cos^2(a+b)+5*ln(2)
(7)在窗體上畫一個命令按鈕,名稱為Commandl。單擊命令按鈕時,執行如下事件過程:
PrlVate Sub Commandl_C1ick()
a$=”software and hardware“
b$=Right(a$,8)
c$=Mid(a$,1,8)
Msgbox a$,b$,c$,1
End Sub
則在彈出的信息框的標題欄中顯示的信息是()。
A)softWare and hardware
B)software
C)hardwafe
D)1
(8)執行如下語句:
a=inutBox(”Today“,”TomorroW,“Yesterday”,,“Day before yesterday”,5)
將顯示一個輸入對話框,在對話框的輸入區中顯示的信息是()。
A)Today
B)Tomorrow
C)Yesterday
D)Day before yesterday
(9)表示滾動條控件取值范圍最大值的屬性是()。
A)Max
B)LargeChange
C)Value
D)Max-Min
(10)在窗體上畫一個名稱為Listl的列表框,一個名稱為Labell的標簽。列表框中顯示若干城市的名稱。當單擊列表框中的某個城市名時,在標簽中顯示選中城市的名稱。下列能正確實現上述功能的程序是
A)Private Sub listl_Click()B)Private Sub Listl_C1ick()
Labell.Caption=list1.listlndex Labell.Nanle=Listl.listindex
End Sub .End Sub
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是()。A)空白
B)錯誤提示
C)北京
D)上海
(15)假定有以下函數過程:
Function Fun(S As String)As String
Dim s1 As String
For i=1 To Len(S)
s1=UCase(Mid(S,i,1))十s1
Next i
Fun=s1
End Function
在窗體上畫一個命令按鈕,然后編寫如下事件過程:
Prlvate Sub Commmldl_Click()
Dim Str1 As String,Str2 As String
Strl=inputbox(“請輸入一個字符串”)
Str2=Fun(Strl)
Print Str2
End Sub
程序運行后,單擊命令按鈕,如果在輸入對話框中輸入字符串“abcdefg”,則單擊“確定”按鈕后在窗體上的輸出結果為()。
A)abcdefg
B)ABCDEFG
C)gfedcba
D)GFEDCBA
(16)設有語句
open “c:Test.Dat” For OutPut As#1
則以下錯誤的敘述是()。
A)該語句打開C盤根目錄下一個己存在的文件Test.Dat B)該語句在C盤根目錄下建立一個名為Test.Dat的文件
C)該語句建立的文件的文件號為1 D)執行該語句后,就可以通過Print#語句向文件Test.Dat中寫入信息
(17)以下敘述中錯誤的是()。
A)用Shell函數可以調用能夠在Windows下運行的應用程序
B)用Shell函數可以調用可執行文件,也可以調用VisualBasic的內部函數
C)調用Shell函數的格式應為:<變量名>=Shell(……)
D)用Shell函數不能執行DoS命令
(18)以下關于過程及過程參數的描述中,錯誤的是()。
A)過程的參數可以是控件名稱 B)用數組作為過程的參數時,使用的是“傳地址”方式
C)只有函數過程能夠將過程中處理的信息傳回到調用的程序中
D)窗體可以作為過程的參數
(19)在窗體上畫一個名稱為TxtA的文本框,然后編寫如下的事件過程:
Private Sub Txta_KeyPress(keyascii as integer)
End Sub
若焦點位于文本框中,則能夠觸發KeyPress事件的操作是()。
A)單擊鼠標
B)雙擊文本框
C)鼠標滑過文本框
D)按下鍵盤上的某個鍵
(20)目錄列表框的Path屬性的作用是()。
A)顯示當前驅動器或指定驅動器上的路徑
B)顯示當前驅動器或指定驅動器上的某目錄下的文件名
D)顯示根目錄下的文件名
D)只顯示當前路徑下的文件
(21)假定有如下事件過程:
PriVate Sub Form_MouseDown(button As Integer,Shift As Integer, x As Single,Y As
Single)
If Button=2 then
PopupMenu popForm
End if
End Sub
則以下描述中錯誤的是()。
A)該過程的功能是彈出一個菜單
B)popForm 是在菜單編輯器中定義的彈出式菜單的名稱
C)參數X、Y指明鼠標的當前位置
D)Button=2 表示按下的是鼠標左鍵
(22)以下能夠正確計算n!的程序是()。
A)Private Sub Commandl_ClicK()
n=5:x=1
Do
X=x*1
i=i十1
Loop While i<n
Print x
End Sub B)Private Sub Commandl_Click()
n=5: x=1:i=1
Do
X=X*1
i=i十1
Loop While i<n
Print x
End Sub C)Private Sub Commandl_Click()
n=5:x=1:i=1
Do
X=X*1
i=i十1
Loop while i<=n
Print x
End Sub D)Private Sub Commandl_C1ick()
n=5:x=1:i=1
Do
X=X*l
i=i十1
loop While i>n
Print x
End Sub
(23)在窗體上畫一個名稱為Commandl的命令按鈕,再畫兩個名稱分別為Labell、Label2的標簽,然后編寫如下程序代碼:
Private x As Integer
Private Sub Commandl-Click()
X=5:Y=3
Call proc(x,Y)
Labell.Caption=X
Label2.Caption=Y
End Sub
Private Sub proc(ByVal a As Integer,ByVal b As hteger)
x=a* a
Y=b十b
End Sub
程序運行后,單擊命令按鈕,則兩個標簽中顯示的內容分別是()。
A)5和3
B)25和3
C)25和6
D)5和6
(24)在窗體上畫一個名稱為Commandl的命令按鈕,一個名稱為Labell的標簽,然后編寫如下事件過程:
Private Sub Commandl_C1ick()
S=0
For i=1 T0 15
x=2*i一1
1f x Mod 3=0 Then s=s十1
Nexti
Labell.Caption=s
End Sub
程序運行后,單擊命令按鈕,則標簽中顯示的內容是()。
A)1
B)5
C)27
D)45
(25)在窗體上畫一個名稱為Commandl的命令按鈕和三個名稱分別為Labell、Label2、Label3的標簽,然后編寫如下代碼:
Private x As Integer
Private Sub Command1_C1ick()
Static y As Integer
Dimz As Integer
n=10
z=n十z
y=y十z
X=X十Z
Labell.Caption=x
Label2.Caption=y
Label3.Caption=z
End Sub
運行程序,連續三次單擊命令按鈕后,則三個標簽中顯示的內容分別是()。
A)10 10 10
B)30 30 30
C)30 30 10
D)10 30 30(26)設在窗體上有一個名稱為Commandl的命令按鈕,并有以下事件過程:
PriVate Sub Commandl_C1ick()
Static b As Variant
b=Array(1,3,5,7,9)
End Sub
此過程的功能是把數組b中的5個數逆序存放(即排列為9,7,5,3,1)。為實現此功能,省略號處的程序段應該是()。
A)For i=0 To 5-1\2
tmp=b(i)
b(i)=b(5-i-1)
b(5-i-1)=tmp
Next B)for i=0 To 5
tmp=b(i)
b(i)=b(5-i-1)
b(5-i-1)=tmp
Next C)For i=0 T0 5\2
tmp=b(i)
b(i)=b(5-i-1)
b(5-i-1);tmp
Next D)For i=1 T0 5\2
tmp=b(i)
b(i)=b(5一i一1)
b(5-i-1)=tmp
Next
(27)在窗體上畫一個名稱為Drivel的驅動器列表框,一個名稱為Dirl的目錄列表框,一個名稱為Filel的文件列表框,兩個名稱分別為Labell、Label2,標題分別為空白和“共有文件”的標簽。編寫程序,使得驅動器打開一個保存文件的通用對話框。該窗口的標題為“Save”,缺省文件名為“SaveFile”,在“文件類型”欄中顯示*.txt。則能夠滿足上述要求的程序是()。
A)Private Sub Command_C1ick()
Commondialogl.FileName=“Savefile”
Commondialogl.filter=“All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc”
CommonDialogl.Filterindex=2
CommonDialogl.Dial0g.title=“Save”
CommonDialogl.Action=2
End Sub B)Private Sub Commandl-Click()
CommonDialogl.FileName=“SaveFile”
CommonDiaLogl.Filter=“A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc”
C0mmonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=2
End Sub C)Private Sub Cmmandl_C1ick()
COmmonDialogl.FileName=“Save”
CommonDialogl.FiLter=“A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”
CommonDialogl.Filterindex=2
C0mmonDialogl.DialogTitle=“SaveFile”
CommonDialogl.Action=2
End Sub D)Private Sub Commandl_C1ick()
CommonDialogl.FileName=“SaveFile”
CommonDialogl.Filter=“All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc”
CommonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=1
End Sub
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡[1]一[15序號的橫線上,答在試卷上不得分。
(1)visual Basic中有一種控件組合了文本框和列表框的特性,這種控件是________
(2)Visual Basic提供的對數據文件的三種訪問方式為隨機訪問方式_____和二進制訪問方式。
(3)執行下面的程序段后,變量S的值為_______。
S=5
For i =2.6 To 4.9 Step 0.6
S=S十1
Next i
(4)為了在運行時把d:pic文件夾下的圖形文件a.jpg裝入圖片框Picturel,所使用的語句為_______。
(5)計時器控件能有規律的以一定時間間隔觸發_______事件,并執行該事件過程中的程序代碼。
(6)以下程序的功能是:生成20個200到300之間的隨機整數,輸出其中能被5整除的 數并求出它們的和。請填空。
Private Sub Commandl_C1ick()
Fori=1To 20
x=Int(____________*200+100)
If_______[7] =0 Then
Print x
S=S十 _________ [83
End If
Next i
Print “Sum=”:S
End Sub
(7)設有如下程序
Private Sub Form_Click()
Dim a AS Integer,b As integer
a=20:b=50R>
p2a,b
p3a,b
Print“a=”;a,“b=”;b
End Sub
Sub pl(x As Integer,ByVal y As Integer)
x=x十10.
v=v十20
End Sub
Sub p2(byVal x As Integer, y As Integer)
x=x十10
y=y十20
End Sub
Sub p3(ByValx As Integer, ByVal y As Integer)
x=x十10
y=y十20
End Sub
該程序運行后,單擊窗體,則在窗體上顯示的內容是:a=______和b=______。
(8)在窗體上畫一個名稱為Commandl的命令按鈕,編寫如下事件過程
Private Sub Commandl_C1icK()
Dim As String
a=_____[11]
For i =1 To 5
Print Space(6-i);Mid$3(a,6-i,2*i-1)
Nexti
End Sub
程序運行后,單擊命令按鈕,要求窗體上顯示的輸出結果為
456
34567
2345678
123456789
請填空。
(9)在窗體上畫一個名稱為Combo1的組合框,畫兩個名稱分別Label1和Label2及Caption屬性分別為“城市名稱”和空白的標簽。程序運行后,當在組合框中輸入一個新項后按回車鍵(ASCII碼為13)時,如果輸入的項在組合框的列表中不存在,則自動添加到組合框的列表中,并在Label2中給出提示“已成功添加輸入項”如圖所示; 如果存在,則在Label2中給出提示“輸入項已在組合框中”。請在[12>、[13]和[14]處將程序補充完整。
Private Sub Combol_________<12>(KeyAscii As integer)
1f KeyAscii=13 Then
Fori=0 To Combo1.listCount-1
1f Combo1.Text=______ [13] Ihen
Label2.Caption=“輸入項己在組合框中”
ExIt Sub
End lf
Next i
Label2.Caption=“已成功添加輸入項”
Combo1.______ [14] CombO1.Text
End lf
End Sub
(10)設有如下程序
Private sub search(a()As variant,ByVal key As Variant,index%)
Dim I%
ForI=LBound(a)To UBound(a)
If key=a(I)Then
index=I
Exit Sub
End If
Next I
Index=-1
End Sub
Private Sub Form_Load()
Show
Dtm b()As Variant
Dim n As Integer
b=Array(1,3,5,7,9,11,13,15)
Call search(b,11,n)
Printt n
End Sub
程序運行后,輸出結果是________。
2003年9月二級VB筆試試題
(考試時間90分鐘,滿分100分)
一、選擇題((1)~(20)每小題2分,(21)~(30)每小題3分,共70分)
(1)以下敘述中錯誤的是()。
A)Visual Basic 是事件驅動型可視化編程工具
B)Visual Basic應用程序不具有明顯的開始和結束語句
C)Visual Basic工具箱中的所有控件都具有寬度(Width)和高度(Height)屬性
D)Visual Basic中控件的某些屬性只能在運行時設置
(2)以下敘述中錯誤的是()。
A)在工程資源管理器窗口中只能包含一個工程文件及屬于該工程的其他文件
B)以.BAS為擴展名的文件是標準模塊文件
C)窗體文件包含該窗體及其控件的屬性
D)一個工程中可以含有多個標準模塊文件
(3)以下敘述中錯誤的是()。
A)雙擊鼠標可以觸發DblClick事件
B)窗體或控件的事件的名稱可以由編程人員確定
C)移動鼠標時,會觸發MouseMove事件
D)控件的名稱可以由編程人員設定
(4)以下不屬于Visual Basic系統的文件類型是()。
A).frm
B).bat
C).vbg
D).vbp
(5)以下敘述中錯誤的是()。
A)打開一個工程文件時,系統自動裝入與該工程有關的窗體、標準模塊等文件
B)保存Visual Basic程序時,應分別保存窗體文件及工程文件
C)Visual Basic應用程序只能以解釋方式執行
D)事件可以由用戶引發,也可以由系統引發
(6)以下能正確定義數據類型TelBook的代碼是()。
A)Type TelBook
B)Type TelBook
Name As String*10
Name As String*10
TelNum As Integer
TelNum As Integer
End Type
End TelBook
C)Type TelBook
D)Typedef TelBook
Name String*10
Name String*10
TelNum Integer
TelNum Integer
End Type TelBook
End Type
(7)以下聲明語句中錯誤的是()。
A)Const var1=123
B)Dim var2 = 'ABC'
C)DefInt a-z
D)Static var3 As Integer
(8)設窗體上有一個列表框控件List1,且其中含有若干列表項。則以下能表示當前被選中的列表項內容的是()。
A)List1.List
B)List1.ListIndex
C)List1.Index
D)List1.Text
(9)程序運行后,在窗體上單擊鼠標,此時窗體不會接收到的事件是()。
A)MouseDown B)MouseUp
C)Load
D)Click
(10)設a=10,b=5,c=1,執行語句Print a > b > c后,窗體上顯示的是()。
A)True
B)False
C)
1D)出錯信息
(11)如果要改變窗體的標題,則需要設置的屬性是()。
A)Caption
B)Name
C)BackColor D)BorderStyle
(12)以下能判斷是否到達文件尾的函數是()。
A)BOF
B)LOC
C)LOF
D)EOF
(13)如果一個工程含有多個窗體及標準模塊,則以下敘述中錯誤的是()。
A)如果工程中含有Sub Main過程,則程序一定首先執行該過程
B)不能把標準模塊設置為啟動模塊
C)用Hide方法只是隱藏一個窗體,不能從內存中清除該窗體
D)任何時刻最多只有一個窗體是活動窗體
(14)窗體的MouseDown事件過程
Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
有4個參數,關于這些參數,正確的描述是()。
A)通過Button參數判定當前按下的是哪一個鼠標鍵
B)Shift參數只能用來確定是否按下Shift鍵
C)Shift參數只能用來確定是否按下Alt和Ctrl鍵
D)參數x,y用來設置鼠標當前位置的坐標
(15)設組合框Combo1中有3個項目,則以下能刪除最后一項的語句是()。
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem 2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItem Combo1.Listcount
(16)以下關于焦點的敘述中,錯誤的是()。
A)如果文本框的TabStop屬性為False,則不能接收從鍵盤上輸入的數據
B)當文本框失去焦點時,觸發LostFocus事件
C)當文本框的Enabled屬性為False時,其Tab順序不起作用
D)可以用TabIndex屬性改變Tab順序
(17)如果要在菜單中添加一個分隔線,則應將其Caption屬性設置為()。
A)=
B)*
C)&
D)-
(18)執行語句Open “Tel.dat” For Random As #1 Len = 50后,對文件Tel.dat中的數據能夠執行的操作是()。
A)只能寫,不能讀
B)只能讀,不能寫
C)既可以讀,也可以寫
D)不能讀,不能寫
(19)在窗體上畫一個名稱為Command1的命令按鈕和兩個名稱分別為Text1、Text2的文本框,然后編寫如下事件過程:
Private Sub Command1_Click()
n = Text1.Text
Select Case n
Case 1 To 20
x = 10
Case 2, 4, 6
x = 20
Case Is < 10
x = 30
Case 10
x = 40
End Select
Text2.Text = x
End Sub
程序運行后,如果在文本框Text1中輸入10,然后單擊命令按鈕,則在Text2中顯示的內容是()。
A)10
B)20
C)30
D)40
(20)設有以下循環結構
Do
循環體
Loop While <條件>
則以下敘述中錯誤的是()。
A)若“條件”是一個為0的常數,則一次也不執行循環體
B)“條件”可以是關系表達式、邏輯表達式或常數
C)循環體中可以使用Exit Do語句
D)如果“條件”總是為True,則不停地執行循環體
(21)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim num As Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序運行后,單擊命令按鈕,則窗體上顯示的內容是()。
A)1 3.4 5.8
B)1 3 5
C)1 4 7
D)無數據輸出
(22)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a As Integer, s As Integer
a = 8
s = 1
Do
s = s + a
a = a-1
Loop While a <= 0
Print s;a
End Sub
程序運行后,單擊命令按鈕,則窗體上顯示的內容是()。
A)7 9
B)34 0
C)9 7
D)死循環
(23)設有如下通用過程:
Public Function f(x As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x;y
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是()。
A)10 5
B)20 5
C)20 40
D)10 40
(24)設有如下通用過程:
Public Sub Fun(a(), ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下的事件過程:
Private Sub Command1_Click()
Dim arr(5)As Variant
For i = 1 To 5
arr(i)= i
Next
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序運行后,單擊命令按鈕,則在文本框中顯示的內容是()。
A)10
B)1C)25
D)24
(25)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下代碼:
Option Base 1
Private Sub Command1_Click()
d = 0
c = 10
x = Array(10, 12, 21, 32, 24)
For i = 1 To 5
If x(i)> c Then
d = d + x(i)
c = x(i)
Else
d = d-c
End If
Next i
Print d
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上輸出的內容為()。
A)89
B)99
C)2D)77
(26)在窗體上畫兩個滾動條,名稱分別為Hscroll1、Hscroll2;六個標簽,名稱分別為Label1、Label2、Label3、Label4、Label5、Label6,其中標簽Label 4~ Label6分別顯示“A”、“B”、“A*B”等文字信息,標簽Label1、Label2分別顯示其右側的滾動條的數值,Label3 顯示A*B的計算結果。如圖所示。當移動滾動框時,在相應的標簽中顯示滾動條的值。當單擊命令按鈕“計算”時,對標簽Label1、Label2中顯示的兩個值求積,并將結果顯示在Label3中。以下不能實現上述功能的事件過程是()。
A)Private Sub Command1_Click()
Label3.Caption = Str(Val(Label1.Caption)*Val(Label2.Caption))
End Sub
B)Private Sub Command1_Click()
Label3.Caption = HScroll1.Value * HScroll2.Value
End Sub
C)Private Sub Command1_Click()
Label3.Caption = HScroll1 * HScroll2
End Sub
D)Private Sub Command1_Click()
Label3.Caption = HScroll1.Text * HScroll2.Text
End Sub
(27)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod 3 <> 0 Then m = m + n 3
Next n
Print n
End Sub
程序運行后,如果單擊命令按鈕,則窗體上顯示的內容是()。
A)15
B)18
C)D)24
(28)在窗體上畫一個名稱為Text1的文本框,并編寫如下程序:
Private Sub Form_Load()Show Text1.Text = “" Text1.SetFocus End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Print ”程序設計“ End Sub Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Print ”Visual Basic“;End Sub 程序運行后,如果按”A“鍵,然后單擊窗體,則在窗體上顯示的內容是(A)Visual Basic
B)程序設計
C)A程序設計
D)Visual Basic程序設計
(29)設有如下程序:
Private Sub Command1_Click()Dim sum As Double, x As Double sum = 0 n = 0 For i = 1 To 5 x = n / i n = n + 1 sum = sum + x Next End Sub 該程序通過For循環計算一個表達式的值,這個表達式是()。
A)1+1/2+ 2/3+3/4+4/5
B)1+1/2+2/3+3/4 C)1/2+2/3+3/4+4/
5D)1+1/2+1/3+1/4+1/5
(30)以下有關數組定義的語句序列中,錯誤的是()。
A)Static arr1(3)
arr1(1)= 100
arr1(2)= ”Hello“
arr1(3)= 123.45 B)Dim arr2()As Integer
Dim size As Integer
Private Sub Command2_Click()
size = InputBox(”輸入:“)
ReDim arr2(size)......
End Sub。)
C)Option Base 1
Private Sub Command3_Click()
Dim arr3(3)As Integer
......
End Sub
D)Dim n As Integer
Private Sub Command4_Click()
Dim arr4(n)As Integer
......
End Sub
二、填空題(每空2分,共30分)
(1)執行下面的程序段后,i的值為 〖1〗,s的值為 〖2〗。
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(2)把窗體的KeyPreview屬性設置為True,然后編寫如下兩個事件過程:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print Chr(KeyCode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Print Chr(KeyAscii)
End Sub
程序運行后,如果直接按鍵盤上的”A“鍵(即不按住Shift鍵),則在窗體上輸出的字符分別是 〖3〗 和 〖4〗。
(3)在窗體上畫一個標簽(名稱為Label1)和一個計時器(名稱為Timer1),然后編寫如下幾個事件過程:
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 〖5〗
End Sub
Private Sub Form_Click()
Timer1.Enabled = 〖6〗
End Sub
Private Sub Timer1_Timer()
Label1.Caption = 〖7〗
End Sub
程序運行后,單擊窗體,將在標簽中顯示當前時間,每隔1秒鐘變換一次(見圖)。請填空。
——————————————————————
14:54:41
——————————————————————
(4)在窗體上畫一個文本框、一個標簽和一個命令按鈕,其名稱分別為Text1、Label1和Command1,然后編寫如下兩個事件過程:
Private Sub Command1_Click()
S$ = InputBox(”請輸入一個字符串“)
Text1.Text = S$
End Sub
Private Sub Text1_Change()
Label1.Caption = UCase(Mid(Text1.Text, 7))
End Sub
程序運行后,單擊命令按鈕,將顯示一個輸入對話框,如果在該對話框中輸入字符串”VisualBasic“,則在標簽中顯示的內容是 〖8〗。
(5)在窗體上畫一個列表框、一個命令按鈕和一個標簽,其名稱分別為List1、Command1和Label1,通過屬性窗口把列表框中的項目設置為:”第一個項目“、”第二個項目“、”第三個項目“、”第四個項目“。程序運行后,在列表框中選擇一個項目,然后單擊命令按鈕,即可將所選擇的項目刪除,并在標簽中顯示列表框當前的項目數,運行情況如圖所示(選擇”第三個項目“的情況)。下面是實現上述功能的程序,請填空。
Private Sub Command1_Click()
If List1.ListIndex >= 〖9〗 Then
List1.RemoveItem 〖10〗
Label1.Caption = 〖11〗
Else
MsgBox ”請選擇要刪除的項目“
End If
End Sub
—————————————————————
第一個項目
第二個項目 COMMAND1
第三個項目 3
—————————————————————
(6)設有程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1, Max as Integer
arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)
(資料來源:東方教育網 http://www.tmdps.cn)
〖12〗 = arr1(1)
For i = 1 To 8
If arr1(i)> Max Then 〖13〗
Next i
Print ”最大值是: “;Max
End Sub
以上程序的功能是:用Array函數建立一個含有8個元素的數組,然后查找并輸出該數組中元素的最大值。請填空。
(7)以下程序的功能是:把當前目錄下的順序文件smtext1.txt的內容讀入內存,并在文本框Text1中顯示出來。請填空。
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ”“
Open ”.smtext1.txt“ 〖14〗 As #1
Do While 〖15〗
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
04年4月全國計算機等級考試二級VB筆試試卷
一、選擇題((1)—(20)每小題2分,(21)—(30)每小題3分,共70分)
下列各題 A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
(1)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Move 500,500
End Sub
程序運行后,單擊命令按鈕,執行的操作為()。
A)命令按鈕移動到距窗體左邊界、上邊界各500的位置
B)窗體移動到距屏幕左邊界、上邊界各500的位置
C)命令按鈕向左、上方向各移動500
D)窗體向左、上方向各移動500
(2)在窗體上有若干控件,其中有一個名稱為Text1的文本框。影響Text1的Tab順序的屬性是()。
A)TabStop
B)Enabled
C)Visible
D)TabIndex
(3)以下定義數組或給數組元素賦值的語句中,正確的是()。
(4)在窗體上畫一個名稱為List1的列表框,為了對列表框中的每個項目都能進行處理,應使用的循環語句為()。
A)For i=0 To List1.ListCount-1
??
Next
B)For i=0 To ListCount-1
??
Next
C)For i=1 To List1.listCount
??
Next
D)For i=1 To ListCount
??
Next
(5)以下Case語句中錯誤的是()。
A)Case 0 To 10
B)Case Is>10
C)Case Is>10 And Is<50
D)Case 3,5,Is>10
(6)以下關于圖片框控件的說法中,錯誤的是()。
A)可以通過Print方法在圖片框中輸出文本
B)清空圖片框控件中圖形的方法之一是加載一個空圖形
C)圖片框控件可以作為容器使用
D)用Stretch屬性可以自動調整圖片框中圖形的大小
(7)執行語句s=Len(Mid(”VisualBasic“,1,6))后,s的值是()。
A)Visual
B)Basic
C)6
D)11
(8)以下敘述中錯誤的是()。
A)下拉式菜單和彈出式菜單都用菜單編輯器建立
B)在多窗體程序中,每個窗體都可以建立自己的菜單系統
C)除分隔線外,所有菜單項都能接收Click事件
D)如果把一個菜單項的Enabled屬性設置為False,則該菜單項不可見
(9)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
a = 12345
Print Format$(a, ”000.00“)
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是()。
A)123.45
B)12345.00
C)12345
D)00123.45
(10)以下敘述中錯誤的是()。
A)一個工程可以包括多種類型的文件
B)Visual Basic應用程序既能以編譯方式執行,也能以解釋方式執行
C)程序運行后,在內存中只能駐留一個窗體
D)對于事件驅動型應用程序,每次運行時的執行順序可以不一樣
(11)以下關于函數過程的敘述中,正確的是()。
A)函數過程形參的類型與函數返回值的類型沒有關系
B)在函數過程中,過程的返回值可以有多個
C)當數組作為函數過程的參數時,既能以傳值方式傳遞,也能以傳址方式傳遞
D)如果不指明函數過程參數的類型,則該參數沒有數據類型
(12)以下關于變量作用域的敘述中,正確的是()。
A)窗體中凡被聲明為Private的變量只能在某個指定的過程中使用
B)全局變量必須在標準模塊中聲明
C)模塊級變量只能用Private關鍵字聲明
D)Static類型變量的作用域是它所在的窗體或模塊文件
(13)確定一個控件在窗體上的位置的屬性是()。
A)Width和Height
B)Width或Height
C)Top和Left
D)Top或Left
(14)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程
Private Sub Command1_Click()
Text1.Text = ”Visual“
Me.Text1 = ”Basic“
Text1 = ”Program“
End Sub
程序運行后,如果單擊命令按鈕,則在文本框中顯示的是()。
A)Visual
B)Basic
C)Program
D)出錯
(15)以下關系表達式中,其值為False的是()。
A)”ABC“>”AbC“
B)”the“<>”they“
C)”VISUAL“=UCase(”Visual“)
D)”Integer“>”Int“
(16)語句Print 5/4*65 Mod 2的輸出結果是()。
A)0
B)1
C)2
D)3
(17)在窗體上畫一個文本框、一個標簽和一個命令按鈕,其名稱分別為Text1Label1和Command1,然后編寫如下兩個事件過程:()。
Private Sub Command1_Click()
strText = InputBox(”請輸入“)
Text1.Text = strText
End Sub
Private Sub Text1_Change()
Label1.Caption = Right(Trim(Text1.Text), 3)
End Sub A)空
B)abcdef C)abc D)def
(18)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
x =-5
If Sgn(x)Then
y = Sgn(x ^ 2)
Else
y = Sgn(x)
End If
Print y
End Sub
程序運行后,單擊命令按鈕,窗體上顯示的是()。A)-5 B)25 C)1 D)-1
(19)一個工程中含有窗體Form1、Form2和標準模塊Model1,如果在Form1中有語句Pubilc X As Integer,在Model1中有語句Pubilc Y As Integer,則以下敘述中正確的是()。A)變量X、Y的作用域相同
B)Y的作用域是Model1 C)在Form1中可以直接使用X D)在Form2中可以直接使用X和Y
(20)在窗體上畫一個名稱為Drive1的驅動器列表框,一個名稱為Dir1的目錄列表框。當改變當前驅動器時,目錄列表框應該與之同步改變。設置兩個控件同步的命令放在一個事件過程中,這個事件過程是()。A)Drive1_Change B)Drive1_Click C)Dir1_Click D)Dir1_Change
(21)在窗體上畫一個命令按鈕(其NAME屬性為Command1),然后編寫如下代碼:
Option Base 1
Private Sub Command1_Click()
Dim a
s = 0
a = Array(1,2,3,4)
j = 1
For i = 4 To 1 Step-1
s = s + a(i)* j
j = j * 10
Next i
Print s
End Sub
運行上面的程序,單擊命令按鈕,其輸出結果是()。A)4321 B)1234 C)34 D)12
(22)在窗體上畫一個名稱為Text1的文本框,要求文本框只能接收大寫字母的輸入。以下能實現該操作的事件過程是()。
A)Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 65 Or KeyAscii > 90 Then
MsgBox ”請輸入大寫字母“
KeyAscii = 0
End If
End Sub
B)Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode < 65 Or KeyCode > 90 Then
MsgBox ”請輸入大寫字母“
KeyCode = 0
End If
End Sub
C)Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Asc(Text1.Text)< 65 Or Asc(Text1.Text)> 90 Then
MsgBox ”請輸入大寫字母“
End If
End Sub
D)Private Sub Text1_Change()
If Asc(Text1.Text)> 64 And Asc(Text1.Text)< 91 Then
MsgBox ”請輸入大寫字母“
End If
End Sub
(23)假定在窗體(名稱為Form1)的代碼窗口中定義如下記錄類型:
Private Type animal
AnimalName As String*20
AColor As String*10
End Type
在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim rec As animal
Open ”c:vbTest.dat“ For Random As #1 Len = Len(rec)
rec.animalName = ”Cat“
rec.aColor = ”White“
Put #1, , rec
Close #1
End Sub
則以下敘述中正確的是()。
A)記錄類型animal不能在Form1中定義,必須在標準模塊中定義 B)如果文件c:vbTest.dat不存在,則Open命令執行失敗
C)由于Put命令中沒有指明記錄號,因此每次都把記錄寫到文件的末尾 D)語句“Put #1, , rec”將animal類型的兩個數據元素寫到文件中
(24)在窗體上畫一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕,然后編寫如下事件過程和通用過程:
Private Sub Command1_Click()
n = Val(Text1.Text)
If n2 = n/2 Then
f = f1(n)
Else
f = f2(n)
End If
Print f;n
End Sub
Public Function f1(ByRef x)
x=x*x
f1=x+x
End Function
Public Function f2(ByVal x)
x=x*x
f2=x+x+x
End Function
程序運行后,在文本框中輸入6,然后單擊命令按鈕,窗體上顯示的是()。A)72 36 B)108 36 C)72 6 D)108 6
(25)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
c = 1234
c1 = Trim(Str(c))
For i = 1 To 4
Next
End Sub
程序運行后,單擊命令按鈕,要求在窗體上顯示如下內容
123
1234
則在下劃線處應填入的內容為()。A)Right(c1,i)B)Left(c1,i)C)Mid(c1,i,1)D)Mid(c1,i,i)
(26)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,然后編寫如下事件過程:
Private Sub Command1_Click()
n = Val(Text1.Text)
For i = 2 To n
For j = 2 To sqr(i)
If i Mod j = 0 Then Exit For
Next j
If j > Sqr(i)Then Print i
Next i
End Sub
該事件過程的功能是()。A)輸出n以內的奇數 B)輸出n以內的偶數 C)輸出n以內的素數
D)輸出n以內能被j整除的數
(27)在以下描述中正確的是()。
A)標準模塊中的任何過程都可以在整個工程范圍內被調用
B)在一個窗體模塊中可以調用在其他窗體中被定義為Public的通用過程 C)如果工程中包含Sub Main過程,則程序將首先執行該過程
D)如果工程中不包含Sub Main過程,則程序一定首先執行第一個建立的窗體
(28)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程:
Private Function f(m As Integer)
If m Mod 2 = 0 Then
f = m
Else
f = 1
End If
End Function
Private Sub Command1_Click()
Dim i As Integer
s = 0
For i = 1 To 5
s = s + f(i)
Next
Print s
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的是()。A)11 B)10 C)9 D)8
(29)在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim array1(10, 10)As Integer
Dim i As Integer, j As Integer
For i = 1 To 3
For j = 2 To 4
array1(i, j)= i + j
Next j
Next i
Text1.Text = array1(2, 3)+ array1(3, 4)
End Sub
程序運行后,單擊命令按鈕,在文本框中顯示的值是()。A)15 B)14 C)13 D)12
(30)在窗體上畫四個文本框(如圖所示),并用這四個文本框建立一個控件數組,名稱為Text1(下標從0開始,自左至右順序增大),然后編寫如下事件過程:
Private Sub Command1_Click()
For Each TextBox In Text1
Text1(i)= Text1(i).Index
i = i + 1
Next
End Sub
程序運行后,單擊命令按鈕,四個文本框中顯示的內容分別為()。A)0 1 2 3 B)1 2 3 4 C)0 1 3 2 D)出錯信息
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)Visual Basic應用程序中標準模塊文件的擴展名是【1】。
(2)在菜單編輯器中建立一個菜單,其主菜單項的名稱為mnuEdit,Visible屬性為False,程序運行后,如果用鼠標右鍵單擊
窗體,則彈出與mnuEdit相應的菜單。以下是實現上述功能的程序,請填空。
Private Sub Form 【2】(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button=2 Then
【3】 mnuEdit
End If
End Sub
(3)為了使計時器控件Timer1每隔0.5秒觸發一次Timer事件,應將Timer1控件的【4】屬性設置為【5】。
(4)與數學表達式 對應的Visual Basic表達式是【6】。
(5)將C盤根目錄下的圖形文件moon.jpg裝入圖片框Picture1的語句是【7】。
(6)在窗體上畫一個名稱為Text1的文本框,然后畫三個單選按鈕,并用這三個單選按鈕建立一個控件數組,名稱為
Option1,程序運行后,如果單擊某個單選按鈕,則文本框中的字體將根據所選擇的單選按鈕切換,如圖所示,請填空。
Private Sub Option1_Click(Index As Integer)
Select Case 【8】
Case 0
a = ”宋體“
Case 1
a = ”黑體“
Case 2
a = ”楷體_GB2312“
End Select
text1.【9】 =a
End Sub
(7)在窗體上畫兩個組合框,其名稱分別為Combo1、Combo2,然后畫兩個標簽,名稱分別為Label1、Label2,如圖所示,程
序運行后,如果在某個組合框中選擇一個項目,則把所選中的項目在其下面的標簽中顯示出來。請填空。
Private Sub Combo1_Click()
Call ShowItem(Combo1, Label1)
End Sub
Private Sub Combo2_Click()
Call ShowItem(Combo2, Label2)
End Sub
Public Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)
【10】.Caption =【11】.Text
End Sub
(8)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
n = 5
f = 1
s = 0
For i = 1 To n
f = f【12】
s = s + f
Next
Print s
End Sub
該事件過程的功能是計算的值。請填空。
(9)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a(10)As Integer
For i = 1 To 10
a(i)= i
Next
Call swap(【13】)
For i = 1 To 10
Print a(i);
Next
End Sub
Sub swap(b()As Integer)
n = 【14】
For i = 1 To n / 2
t = b(i)
b(i)= b(n)
b(n)= t
【15】
Next
End Sub
上述程序的功能是,通過調用過程swap,調換數組中數值的存放位置,即a(1)與a(10)的值互換,a(2)與a(9)的值互換,??,a(5)與a(6)的值互換。請填空。
04年9月全國計算機等級考試二級VB筆試試卷
一、選擇題((1)—(20)每小題2分,(21)—(30)每小題3分,共70分)
(1)設窗體上有一個文本框,名稱為text1,程序運行后,要求該文本框不能接受鍵盤輸入,但能輸出信息,以下屬性設置正確的是:()。A)text1.maxlength=0 B)text1.enabled=flase C)text1.visible=flase D)text1.width=0
(2)以下能在窗體Form1的標題欄中顯示“VisualBasic窗體”的語句是()。A)Form1.Name=“VisualBasic窗體” B)Form1.Title=“VisualBasic窗體” C)Form1.Caption=“VisualBasic窗體” D)Form1.Text=“VisualBasic窗體”
(3)在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為HScroll1的滾動條,其Min和Max屬性分別為0和100。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當前值,如圖所示:
以下能實現上述操作的程序段是()。A)Private Sub HScroll_Change()Text1.Text=HScroll1.value End Sub B)Private Sub HScroll_Click()Text1.Text=HScroll1.value End Sub C)Private Sub HScroll_Change()Text1.Text=HScroll.Caption D)Private Sub HScroll_Click()Text1.Text=HScroll.Caption End Sub
(4)設菜單中有一個菜單項為”Open“。若要為該菜單命令設計訪問鍵,即按下Alt及字母O時,能夠執行”Open“命令,則在菜單編輯器中設置“Open”命令的方式是()。A)把Caption屬性設置為&Open B)把Caption屬性設置為O&pen C)把Name屬性設置為&Open D)把Name屬性設置為O&pen
(5)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程: Private Sub Command1_Click()x=InputBox(“Input”)Select Case x Case 1,3 Print “分支 1” Case Is >4 Print “分支 2” Case Else Print “Else 分支 ” End Select End Sub 程序運行后,如果在輸入對話框中輸入2,則窗體上顯示的是()。A)分支1 B)分支2 C)Else分支
D)程序出錯
(6)以下關于MsgBox的敘述中,錯誤的是()。A)MsgBox函數返回一個整數
第二篇:2005年4月二級VB筆試試題
無憂考網
www.tmdps.cnmand1的命令按鈕,然后編寫一個事件過程。程序運行以后,如果在文本框中輸入一個字符,則把命令按鈕的標題設置為“計算機等級考試”。以下能實現上述操作的事件過程是:
A)Private Sub Text1_Change()
Command1.Caption=”計算機等級考試”
End Sub
B)Private Sub Command1_Click()
Caption=”計算機等級考試”
End Sub
C)Private Sub Form1_Click()
Text1.Caption=”計算機等級考試”
End Sub
D)Private Sub Command1_Click()
Text1.Text=”計算機等級考試”
End Sub
(12)設a=5,b=4,c=3,d=2,下列表達式的值是 3>2*b Or a=c And b<>c Or c>d
A)1
B)True
C)False
D)2
(13)設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
程序運行后單擊窗體,則在彈出的信息框中的標題欄中顯示的信息是:
A)Microsoft Visual
B)Microsoft
C)Basic
D)5
無憂考網
www.tmdps.cnmand1)右移200,應使用的語句是
A)Command1.Move-200
B)Command1.Move 200
C)Command1.Left= Command1.Left+200
D)Command1.Left= Command1.Left-200
(17)在窗體上畫一個文本框,然后編寫如下事件過程:
Private Sub Form_Click()
x = InputBox(“請輸入一個整數”)
Print x + Text1.Text
End Sub
程序運行時,在文本框中輸入456,然后單擊窗體,在輸入對話框中輸入123,單擊“確定”按鈕后,在窗體上顯示的內容是:
A)12
3B)456
C)579
D)123456
(18)在窗體上畫一個文本框和一個計時器控件,名稱分別為Text1和Timer1,在屬性窗口中把計時器的Interval屬性設置為1000,Enabled屬性設置為False,程序運行后,如果單擊命令按鈕,則每隔一秒鐘在文本框中顯示一次當前的時間。以下是實現上述操作的程序:
Private Sub Command1_Click()
Timer1._________
End Sub Private Sub Timer1_Timer()Text1.Text = Time End Sub 在______處應填入的內容是
A)Enabled=True
B)Enabled=False
C)Visible=True
D)Visible=False
(19)假定在圖片框Picture1中裝入了一個圖形,為了清除該圖形(不刪除圖片框),應采用的正確方法是:
A)選擇圖片框,然后按Del鍵
B)執行語句Picture1.Picture=LoadPicture(“”)
C)執行語句Picture1.Picture=””
D)選擇圖片框,在屬性窗口中選擇Picture屬性,然后按回車鍵
(20)在窗體上畫一個List1的列表框,一個名稱為Label1的標簽,列表框中顯示若干個項目,當單擊列表框中的某個項目時,在標簽中顯示被選中的項目的名稱,下列能正確實現上述操作的程序是
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)在窗體上畫一個命令按鈕,名稱為Command1,然后編寫如下事件過程:
Private Sub Command1_Click()
無憂考網
www.tmdps.cnmand1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
c = “ABCD”
For n = 1 To 4
Print _________
Next
End Sub
程序運行后,單擊命令按鈕,要求在窗體上顯示如下內容:
D
CD
BCD
ABCD
則在________處應填入的內容為
A)Left(c,n)
B)Right(c,n)
C)Mid(c,n,1)
D)Mid(c,n,n)
(23)執行以下程序段
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工程中,可以作為啟動對象的程序是
A)任何窗體或標準模塊
B)任何窗體或過程
C)Sub Main過程或其他任何模塊
D)Sub Main過程或任何窗體
無憂考網
www.tmdps.cnmand1的命令按鈕數組,則以下說法中錯誤的是
A)數組中每個命令按鈕的名稱(名稱屬性)均為Command1 B)數組中每個命令按鈕的標題(Caption屬性)都一樣 C)數組中所有命令按鈕可以使用同一個時間過程
D)用名稱Command1(下標)可以訪問數組中的每個命令按鈕
(26)把窗體的KeyPreview屬性設置為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
程序運行后,按鍵盤上的”A”鍵,則在窗體上顯示的內容是
A)A
B)B
C)C
D)D
(27)在窗體上畫一個命令按鈕和一個文本框,名稱分別為Command1和Text1,然后編寫如下程序:
Private Sub Command1_Click()
a = InputBox(“請輸入日期(1~31)”)
t = “旅游景點:” _
& IIf(a > 0 And a <= 10, “長城”, “")_
& IIf(a > 10 And a <= 20, ”故宮“, ”“)_
& IIf(a > 20 And a <= 30, ”頤和園“, ”“)
Text1.Text = t
End Sub
程序運行后,如果從鍵盤輸入16,則在文本框中顯示的內容是:
A)旅游景點:長城故宮
B)旅游景點:長城頤和園
C)旅游景點:頤和園
D)旅游景點:故宮
(28)在窗體上畫一個名稱為Label1的標簽,然后編寫如下事件過程:
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
程序運行后,單擊窗體,在標簽中顯示的內容是
無憂考網
www.tmdps.cnamnd1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程:
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
程序運行后,單擊命令按鈕,則窗體上顯示的是:
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)
無憂考網
www.tmdps.cnmand1的命令按鈕,然后編寫如下程序:
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 = d1
Loop While n > 0
Print s
End Sub
以上程序的功能是【10】,程序運行后,單擊窗體,輸出結果為【11】
(10)設有如下程序:
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函數建立一個含有8個元素的數組,然后查找并輸出該數組中的最小值,請填空
(11)在名稱為Form1的窗體上畫一個文本框,其名稱為Text1,在屬性窗口中把文本框的MultiLine屬性設置為True,然后編寫如下事件過程:
Private Sub Form_Click()
Open ”d:testsmtext1.txt“ For Input As #1
Do While Not 【14】
Line Input #1, aspect$
whole$ = whole$ + aspect$ + Chr(13)+ Chr(10)
Loop
Text1.Text = whole$
Close #1
Open ”d:testsmtext2.txt" For Output As #1
Print #1, 【15】
Close #1
End Sub
上述程序的功能是,把磁盤文件smtext1.txt 的內容讀到內存并在文本框中顯示出來,然后
無憂考網
www.51test.net 把該文本框中的內容存入磁盤文件smtext2.txt.請填空
以下答案僅供參考
選擇題:
1---5DBDCA
6---10 CBDDC
11--15 ABBCD
16--20 CDABD
21--25 ABCDB
26--30 CDBBA
31--35 CDDDA
填空題:
【1】19
【2】 對象
【3】
程序調試
【4】 關系
【5】 算法
【6】12345.68
【7】VB程序設計
【8】 VB Programming
【9】 10
【10】 求1-8的和
【11】36
【12】 arr1(1)
【13】min=arr1(i)
【14】 EOF(1)
【15】text1.text(或whole$)12
第三篇:2011河南省全國計算機等級考試二級VB筆試試卷及參考答案理論考試試題及答案
1、對建立良好的程序設計風格,下面描述正確的是(A)A.程序應簡單、清晰、可讀性好 B.符號名的命名要符合語法 C.充分考慮程序的執行效率 D.程序的注釋可有可無
2、下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是(A)A.內模式 B.外模式 C.概念模式 D.邏輯模式
3、數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是(A)A.控制流 B.加工 C.數據存儲 D.源和潭
4、下列關于棧的敘述中正確的是(D)A.在棧中只能插入數據 B.在棧中只能刪除數據
C.棧是先進先出的線性表 D.棧是先進后出的線性表
5、面向對象的設計方法與傳統的的面向過程的方法有本質不同,它的基本原理是(C)A.模擬現實世界中不同事物之間的聯系 B.強調模擬現實世界中的算法而不強調概念 C.使用現實世界的概念抽象地思考問題從而自然地解決問題 D.鼓勵開發者在軟件開發的絕大部分中都用實際領域的概念去思考
6、在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D)A.概要設計 B.詳細設計 C.可行性分析 D.需求分析
7、在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發送(D)A.調用語句 B.命令 C.口令 D.消息
8、程序流程圖(PFD)中的箭頭代表的是(B)A.數據流 B.控制流 C.調用關系 D.組成關系
9、設一棵完全二叉樹共有699個結點,則在該二叉樹中的葉子結點數為(B)注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉數的特點可求出 A.349 B.350 C.255 D.351
10、在結構化方法中,軟件功能分解屬于下列軟件開發中的階段是(C)注:總體設計也就是概要設計
A.詳細設計 B.需求分析 C.總體設計 D.編程調試
11、對建立良好的程序設計風格,下面描述正確的是(A)A.程序應簡單、清晰、可讀性好 B.符號名的命名要符合語法 C.充分考慮程序的執行效率 D.程序的注釋可有可無
12、在一棵二叉樹上第5層的結點數最多是(B)注:由公式2(k-1)得 A.8 B.16 C.32 D.15
13、數據庫系統的核心是(B)A.數據模型 B.數據庫管理系統 C.軟件工具 D.數據庫
14、將E-R圖轉換到關系模式時,實體與聯系都可以表示成(B)A.屬性 B.關系 C.鍵 D.域
15、將E-R圖轉換到關系模式時,實體與聯系都可以表示成(B)A.屬性 B.關系 C.鍵 D.域
16、軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規格說明書以及(B)A.階段性報告 B.需求評審 C.總結 D.都不正確
17、對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數為(B)注:要牢記 A.N+1 B.N C.(N+1)/2 D.N/2
18、在結構化方法中,軟件功能分解屬于下列軟件開發中的階段是(C)注:總體設計也就是概要設計
A.詳細設計 B.需求分析 C.總體設計 D.編程調試
19、在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D)A.概要設計 B.詳細設計 C.可行性分析 D.需求分析
20、下列敘述中正確的是(A)A.線性表是線性結構 B.棧與隊列是非線性結構 C.線性鏈表是非線性結構 D.二叉樹是線性結構
21、下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是(A)A.內模式 B.外模式 C.概念模式 D.邏輯模式
22、數據庫概念設計的過程中,視圖設計一般有三種設計次序,以下各項中不對的是(D)A.自頂向下 B.由底向上 C.由內向外 D.由整體到局部
23、算法一般都可以用哪幾種控制結構組合而成(D)A.循環、分支、遞歸 B.順序、循環、嵌套 C.循環、遞歸、選擇 D.順序、選擇、循環
24、下面不屬于軟件工程的3個要素的是(D)A.工具 B.過程 C.方法 D.環境
25、下列關于隊列的敘述中正確的是(C)A.在隊列中只能插入數據 B.在隊列中只能刪除數據 C.隊列是先進先出的線性表 D.隊列是先進后出的線性表
26、數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是(A)A.控制流 B.加工 C.數據存儲 D.源和潭
27、在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D)A.概要設計 B.詳細設計 C.可行性分析 D.需求分析
28、下面描述中,符合結構化程序設計風格的是(A)A.使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯 B.模塊只有一個入口,可以有多個出口 C.注重提高程序的執行效率 D.不使用goto語句
29、算法的空間復雜度是指(D)A.算法程序的長度 B.算法程序中的指令條數 C.算法程序所占的存儲空間 D.算法執行過程中所需要的存儲空間
30、在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是(D)A.概要設計 B.詳細設計 C.可行性分析 D.需求分析
31、下列敘述中正確的是(C)A.數據庫是一個獨立的系統,不需要操作系統的支持 B.數據庫設計是指設計數據庫管理系統C.數據庫技術的根本目標是要解決數據共享的問題 D.數據庫系統中,數據的物理結構必須與邏輯結構一致
32、在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發送(D)A.調用語句 B.命令 C.口令 D.消息
33、在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。其中數據獨立性最高的階段是(A)A.數據庫系統 B.文件系統 C.人工管理 D.數據項管理
34、在結構化方法中,軟件功能分解屬于下列軟件開發中的階段是(C)注:總體設計也就是概要設計
A.詳細設計 B.需求分析 C.總體設計 D.編程調試
35、在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。其中數據獨立性最高的階段是(A)A.數據庫系統 B.文件系統 C.人工管理 D.數據項管理
36、在下列選項中,哪個不是一個算法一般應該具有的基本特征(C)A.確定性 B.可行性 C.無窮性 D.擁有足夠的情報
37、在一棵二叉樹上第5層的結點數最多是(B)注:由公式2(k-1)得 A.8 B.16 C.32 D.15
38、算法的空間復雜度是指(D)A.算法程序的長度 B.算法程序中的指令條數 C.算法程序所占的存儲空間 D.算法執行過程中所需要的存儲空間
39、設有下列二叉樹:圖見書P46 對此二叉樹中序遍歷的結果為(B)A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA
第四篇:【考試大論壇】-全國計算機二級VB要點總結
VB程序設計的初步知識
1.VB的概述
VB是一種可視化、面向對象和采用事件驅動方式的結構化高級程序設計語言。特點:▲ 可視化編程
▲ 面向對象程序設計 ▲ 結構化的程序設計語言 ▲ 事件驅動編程機制 ▲ 訪問數據庫 2.VB的程序開發環境
(1)窗口設計器窗口。簡稱,窗體
(2)工程資源管理器窗口
▲ 工程文件和工程文件組
工程文件的擴展名是vbp,每個工程對應一個工程文件。▲ 窗體文件
擴展名是frm,每一個窗體對應一個窗體文件,一個應用程序可以有多個窗體。▲ 標準模塊文件
擴展名bas,不屬于任何一個窗體。▲ 類模塊文件
(3)屬性窗口和工具箱窗口 3.VB常用對象及操作
(1)對象事件的名稱Name是由VB預定的,不可以由編程者設定。
可以在運行期間改變窗體的Name屬性的值。(?)(2)控件
4.VB應用程序通常有3類模塊組成,即窗體模塊、標準模塊和類模塊。VB應用程序以解釋和編譯方式執行。
5.VB中的變量和常量(1)常量
▲ 文字常量:字符串和數值常量 ▲ 符號常量
格式:Const 變量名=表達式(2)變量
▲ 命名規則:名字只能由字母、數字和下劃線組成。
第一個字符必須是英文字母,最后一個字符可以是類型說明符。
▲變量的類型和定義
①類型說明符放在變量名的尾部。A#b(錯)%:整型 &:長整型!:單精度型 #:雙精度型 $:字符串型 ②在定義變量時指定類型。
格式:Declare 變量名 as 類型
Declare 可以是 Dim、Static、Public或Private(3)變量的作用域
變量分為:局部變量、模塊變量和全局變量
① 局部變量
在事件過程或通用過程內定義的變量叫局部變量。② 模塊變量
窗體變量可用于窗體內的所有過程.當同一個窗體內的不同過程使用相同的變量時,必須定義窗體層變量,在使用窗體層變量前,必須先聲明。
③ 全局變量
全局變量只能在標準模塊中聲明,不能在過程或窗體模塊中聲明。用Public 聲明。
1.VB常用內部函數
⑴ 轉換函數
? 取整函數Int和fix ? 數值轉換函數 ? 類型轉換函數 ? 格式轉換函數
⑵數學函數 ? 三角函數
? 絕對值函數(Abs)? 符號函數(Sgn)?平方根函數(Sqr)
? 指數和對數函數(Exp和Log)
⑶隨機數函數
? 隨機數函數(Rnd)? Randomize語句 ⑷ 時間函數
2.VB字符串處理
?左、中、右部截取 Left(字符串,n)Mid(字符串,n)Right(字符串,n)?字符串長度測量函數 Len(字符串)?Strings函數 Strings(n,ASCII碼)Strings(n,字符串)
?查找某個字符串函數 InStr(首字符位置,字符串1,字符串2[,n] ?字母大小轉換函數 Ucase(字符串)Lcase(字符串)?插入字符串語句 Mid(字符串,位置)=字符串 ?SetFocus語句
8.VB運算符與表達式(1)算術運算符
?求模運算 Mod求余.?算術運算符優先級 ^>>& 如:7^2 Mod 5^23=1(1)關系運算符和邏輯運算符(2)表達式的執行順序
? 關系運算(=,>,<,<>,≦,≧)
? 最后進行邏輯運算,順序為: Not→And→Or→Xor→Eqv
如:表達式: Not a<=c Or 4*c=b^2 And b<>a+c的值是(Flase)a=2,b=3,c=4
9.VB常用標準控件(1).標簽
●Alignment 確認標簽中標題放置的位置,可設置0、1、2,作用分別為標題設置在左、右、中。
●AutoSize 標題自動調整標簽的大小,可設置為True和False.●Borderstyle 設置標簽的邊框,可設置為0和1,0表示為無邊框。●Enabled 用于確定一個窗體或控件能否對用戶產生的事件作出反應。●BackStyle 設置標簽是否覆蓋背景,0表示為透明,1表示標簽覆蓋背景。●WordWrap 決定標簽的標題文本能否自動換行。
●其他:Height、Left、Top、Visible、Width等等。
(2)文本框
屬性:
●MaxLength 設置文本框中輸入的最大字符數。
●MultiLine 設置是否允許多行顯示。
●Passwordchar 用于口令輸入。
●Scrollbars 用來設置文本框中的滾動條。
事件:
◎ Change 事件 當用戶輸入新信息或把Text屬性設置為新值從而改變文本框的屬性時,將可觸發此事件。
◎ GotFocus事件 當文本框有輸入焦點時,鍵盤上輸入的字符都將在文本框中顯示出來,只有當一個文本框被激活并且可見性為TRUE是才能收到焦點。
◎ Setfocus 事件 該方法可以把輸入的光標(焦點)移到指定的文本框中。
格式: [對象.] Setfocus
(3)圖形控件
圖片框和圖像框:
▲ CurrentX和CurrentY屬性 ▲ Picture屬性
▲ Stretch屬性
用于自動調整圖像框中圖形內容的大小。
▲ 區別:① 圖片框是“容器”控件,可作為父控件,而圖像框不能。③ 圖片框可接受文本和圖片,圖像框不能。④ 圖像框占用內存少,顯示速度快。⑤ 圖片框更靈活,且適用于動態環境。▲ 運行期間裝入圖片
格式:[對象.] Picture=LoadPicture(”文件名”)
直線和形狀:
△ BorderColor屬性 △ Borderstyle
1—實線
2—虛線
3—點線
4—點劃線
△ BackStyle 設置標簽是否覆蓋背景,0表示為透明,1表示標簽覆蓋背景。
△ Shape 屬性
0—矩形 1—正方形 2—橢圓形 3—圓形 4—四角圓化的矩形 △ BorderWidth 指定線寬或界寬
(3)復選框和單選按鈕
Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width
單選按鈕:Value=True,表示選擇了該單選按鈕.Value=False, 表示沒有選擇該單選按鈕.復選框:Value=0,表示沒有選擇該復選框。
Value=1,表示選擇該復選框。
Value=2,表示該復選框被禁用。
(6)列表框和組合框
列表框方法:AddItem 添加文本內容到列表框中。
Clear
清除列表框中所有內容。
RemoveItem 刪除列表框中指定的項目。組合框(ComboBox):AddItem、Clear、RemoveItem同樣適用。
Style是組合框的一個重要屬性,其值可取0、1、2,決定組合框的3個類型。
注意: 屬性ListIndex和 ListCout的區別 108(7)
滾動條 屬性:
除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline Value、Alignment、Height、Left、Top、Visible、Width外,還有以下屬性: ? Max和Min ? LargeChange和SmallChange ? Value 表示滾動框在滾動條的位置。
事件:主要有Scroll和Change.當在滾動條內拖動滾動框時會觸發Scroll事件,而改變滾動框的位置時會觸發Change事件。
(8)
計時器
可以用Enabled和Name屬性,其最重要的是Interval屬性,取值范圍0~65535.(9)框架
(10)焦點與Tab順序
?設置焦點
格式: [對象.] Setfocus ? Tab順序
Tab順序是在按Tab鍵時焦點在控件間移動的順序。影響Tab順序的屬性是TabIndex。
數據輸入輸出
1.數據的輸出方法: ⑴ print方法
與print方法有關的函數:tab(n)函數 【print tab(24);800】
spc(n)函數
【print “china”;spc(4);”中國” 】用于跳出n個空格輸出
tab函數從第一列開始計數,n是絕對偏移量。spc(n)函數則是從前面的輸出內容開始計數,n是相對偏移量。⑵ 格式輸出()
#:表示數字,不補零
0:表示數字,在數字的前或后補零.:指定小數點的位置,:指定千分分隔符的位置
如:print format$(12345.6,”####,#.##”)12,345.(3)msgbox函數
信息框→ 返回值→標題 2.數據輸出方法(1)inputbox方法
Inputbox函數的返回值默認為字符串。如:a=inputbox(“Enter an integer”)b= inputbox(“Enter an integer”)
text1.text=b+a
如果在輸入對話框中輸入8和10,則文本框中顯示的內容為108
VB的控制結構
1.循環控制結構(1)For循環控制結構
使用Exit for 語句,可以在循環變量到達終值前就退出循環。(2)當循環結構
While 條件 [語句塊] Wend(3)Do循環結構
Do While……Loop
Do ……loop While(4)多分支控制結構
測試表達式=????→Select case 測試表達式(5)IIf函數
A=IIf(條件,true部分,false部分)
數組與過程
1.默認數組
默認數組就是數據類型為Variant的數組。
Static A(4)即為定義了四個默認數組。2.動態數組
? 用變量作為下標定位的數組時動態數組
? 用數值常量或符號常量作為下標定維的數組是靜態數組。
動態數組定義分兩步:首先在窗體層、標準模塊或過程中用DIM或Public聲明一個沒有下標的數組,然后再過程中在用ReDimd定義。3.數組的清除和重定義 Erase 數組名
Erase用于動態數組中,將刪除整個數組結構并釋放數組所占用的內存,即動態數組以后就
不復存在。用于靜態數組中只是內容清空,數組依然存在。4.數組元素的輸入及輸出
輸入:一般通過For循環和Inputbox函數輸出
如: Option base 1 Dim s()as string Sub Form_Click()
Redim s(4)as string For i= 1 to 4 Temp$=Inputbox(“Enter Name”)S(i)= Temp$
Next i End Sub 輸出:用Print方法結合For循環實現
Option base 1 Dim s(4,4)as Integer For i= 1 to 4 For j= 1 to 4 Print s(i,j);“ ” ;
Next j Next i
5.控件數組
控件數組是一組相同類型的控件組成,這些控件有一個相同的控件名稱,具有相同的屬性設置,所有元素的Name屬性相同,但Index屬性不同。6.Sub過程
● 通用過程:多個事件過程需要使用同一個程序代碼,他可以單獨建立,供事件過程或其他過程調用。
● 事件過程:當發生某個事件時,對事件作出響應的程序段。函數過程的返回值只能有一個。
調用Sub過程:① Call語句調用過程。
如:Call Tryout(a,b)② 把過程名作為一個語句使用。
如:Try out a,b 去掉call關鍵字,去掉“實際參數”括號。
7.通用sub過程和事件過程
?重點?難點?
事件過程是一種特殊的sub過程,他附加在窗體和控件上。窗體的事件過程不能由用戶任意定義,而是由系統指定。通常是在事件過程中調用通用過程,同時事件過程也可以被其他過程調用。
通用過程可以放在標準模塊中,也可以放在窗體模塊中,而事件過程只能放在窗體模塊中,不同模塊中的過程可以互相調用。
8.Function過程 ?重點?難點?
Sub過程不直接返回值,可以作為單獨的基本語句使用,而Function過程要返回一個值,通常出現在表達式中。
9.過程中的參數 ⑴ 形參與實參
形參:在Sub過程、Function過程的定義中出現的變量名。
實參:在調用Sub過程、Function過程中傳送給Sub過程、Function過程的常數、變量、表達式或數組。
⑵傳送方式:按位置傳送和指名傳送
▼ 按位置傳送(常考)
實際參數的次序必須和形式參數的次序相匹配 例如:
Private sub proc1(a as integer, b as string, optional x as boolean)??? End sub 正確調用此過程的語句是:proc1 5,”asd”
或
call proc1(5,”asd”,FALSE)▼ 指名傳送(3)引用
參數通過地址和傳值兩種方式傳送,其中傳送地址稱為引用。通過關鍵字ByRef實現。默認情況下,變量都是通過引用傳送給Sub過程、Function過程的。例如: Sub tryout(x as integer, y as integer)
X=x+100
Y=y*6
Print “x=”;x, ”y=”;y End sub Sub form_click()
Dim a as integer,b as integer
A=10;b=20 Tryout a,b
Print “a=”;a, ”b=”;b End sub 運行后輸出結果為: x=110
y=120
A=110
b=120
(4)傳值
由于通用過程沒有訪問實參的原始地址,因而不會改變原來變量的值,所用的變化都是在變量的副本上進行的。傳值方式通過關鍵字ByVal實現。例如:
Sub tryout(ByVal x as integer, ByVal y as integer)
X=x+100
Y=y*6
Print “x=”;x, ”y=”;y End sub Sub form_click()
Dim a as integer,b as integer
A=10;b=20 Tryout a,b
Print “a=”;a, ”b=”;b End sub 運行后輸出結果為: x=110
y=120
A=10
b=20 函數過程形參的類型與函數返回值的類型沒有關系。
鍵盤與鼠標事件
1.鍵盤事件 ⑴KeyPress事件
當壓下鍵盤上的某個鍵時,將發生KeyPress事件。該事件可以用于各控件。比如用在文本框上的格式:Private Sub Text-KeyPress(KeyAscii as integer)
KeyPress事件帶有一個參數,參數有兩種形式,第一種形式:Index As Integer,只用在控件數組。第二種形式是:KeyAscii As integer,用于單個控件。
KeyPress事件用于識別按鍵的Ascii碼,捕捉擊鍵動作,KeyAscii參數不能省略。
控件的鍵盤事件優先于窗體的鍵盤事件 ⑵KeyDown和KeyUP事件
KeyDown和KeyUP事件返回的是鍵盤的直接狀態。
KeyPress事件返回的是Ascii碼。當按鍵“A”時,KeyDown事件所得到的Keycode碼與鍵“a”的相同。2.鼠標事件
可視化程序設計
1.當窗體為活動窗體時,可以使用“工具”菜單中的“菜單編輯器”打開菜單編輯器。2.彈出式菜單:建立彈出式菜單首先用菜單編輯器建立菜單,然后用PopupMenu方法彈出顯示。
各級菜單中的所有菜單項的名稱必須唯一。
3.通用對話框: 對話框的類型可以通過Action屬性設置,也可以用相應的方法設置。可以通過DialogTitle屬性設置有實際意義的標題。
通用對話框,Action=1 打開文件;
=2 保存文件
方法:showopen;showsave 4.文件對話框: 格式:【窗體】對話框名,Fliter=描述符1|過濾器1| 描述符2|過濾器2|?
FliterIndex 用來指定默認的過濾器。
文件類型 5.多重窗體程序設計
Show方法:用來將指定的窗體裝入內存并顯示該窗體。
6.VB工程中,可以作為啟動對象的程序是Sub main 過程或任何窗體。
一個工程中可以包括多個窗體文件。
數據文件
1基本文件操作語句與函數
⑴ 打開文件 ?重點?難點?
格式:Open文件名【for 方式】 as #文件號
如果省略【for 方式】,則打開文件的存取方式是隨機存取方式。方式指文件的輸出方式,可以是Output(順序輸出)以寫的方式打開、input(順序輸入)、append(添加)。
使用open語句打開文件時,如果為輸入input打開的文件不存在,則產生“文件未找到”的錯誤;如果為Output(順序輸出)、append(添加)訪問方式打開的文件不存在,則建立相應的文件。(2)關閉文件(3)EOF函數
用來測試文件的結束狀態。利用EOF函數,可以避免在文件輸入時出現“輸入超出尾”錯誤。
DO While Not EOF 2.順序文件與隨機文件 ⑴ 順序文件寫操作 Print #文件號,表達式 Write #文件號, 表達式(2)順序文件讀操作 Input #文件號,變量表
(3)隨機文件的打開與讀寫操作
隨機文件的記錄是定長記錄。在用open語言打開文件時必須指定記錄的長度。
打開隨機文件: Open”文件名” for random As #文件號
對文件的操作既可以讀也可以寫。
第五篇:全國VB二級操作試題及答案2016
一、基本操作題
(1)在名稱為Forml,標題為“輸入”、最大化按鈕不可用的窗體上畫1個名稱為Framel的框架控件,其標題為“選擇性別”;再向框架內畫兩個名稱分別為Optionl和Option2的單選按鈕,其標題分別為“男”和“女”,并將單選按鈕Option2設置為選中狀態。請設置相應屬性使得程序執行時,窗體界面如圖所示。
注意:存盤時,將文件保存至考生文件夾下,窗體文件名為sjtl.frm,工程文件名為sjtl.vbp。
(2)在名稱為Forml的窗體上畫1個名稱為Labell的標簽,其標題為“計算機等級考試”,且能根據標題內容自動調整大小,有邊框(如圖所示);再在窗體上畫1個名稱為HScrolll的水平滾動條,并將滾動條所能表示的最小值設置為
10、最大值設置為20。
要求:編寫適當的事件過程,使得程序運行時,當單擊水平滾動條兩端的箭頭時,能將標簽中的文字大小設置為滾動框當前位置值,程序運行后的界面如圖所示。
注意:程序中不得使用變量,每個事件過程中只能寫一條語句(不得使用選擇語句或循環語句)。存盤時必須存放在考生文件夾下,工程文件名為sjt2.vbp,窗體文件名為sjt2.frm。
二、簡單應用題
(1)考生文件夾中有工程文件sjt3.vbv。窗體上顯示有一個列表框和一個文本框,且列表框中已有若干列表項。程序的功能是,程序運行時,當用戶在列表框中單擊并選中某個列表項時,該項的內容將顯示到文本框中,用戶可以在文本框中對相關內容進行編輯,按回車鍵后,能夠用編輯好的內容替換被選中的列表項,并自動清空文本框;當雙擊某個列表項時,則從列表框中刪除該列表項;當用戶直接在文本框中鍵入文本并按回車鍵后,則把該文本添加為列表框的一個新列表項,添加完成后,將文本框清空。運行窗體如圖所示。
要求:程序已經給出,但不完整,請將其中的注釋符去掉,把“?”改為正確的內容,以實現上述程序功能。
注意:考生不得修改窗體文件中已經存在的控件和程序。最后程序按原文件名存盤。
(2)考生文件夾中有一個工程文件sjt4.vbp。窗體上有兩個文本框和一個標題為“運算”的命令按鈕。程序的功能是,當程序運行時,單擊“運算”按鈕,能夠產生10個1~100之間的隨機整數,并顯示在上面一個文本框中,然后,程序從中找出一個最大值,并將最大值與第1個數互換位置,最后把結果顯示在下面一個文本框中。下圖為程序某次運行的結果。程序已經給出,但不完整,請將其中的注釋符去掉,把“?”改為正確的內容,以實現上述程序功能。
注意:考生不得修改窗體文件中已經存在的控件和程序,最后程序按原文件名存盤。
三、綜合應用題
考生文件夾下有工程文件sjt5.vbp,窗體界面如圖所示。考生文件夾下的in5.dat文件中有某次歌睦大獎賽10位選手的得分,文件中的每一行數據包含選手的編號及5位評委的打分。程序運行時,單擊“顯示數據”按鈕,則將in5.dat文件的內容讀入二維數組a中,并將數組a各元素的值顯示在Textl文本框中;單擊“計算并排序”按鈕,則先計算每位選手的平均分作為最后得分,再按最后得分從高到低排序,最后按序在Listl列表框中顯示各選手的編號和最后得分(每組編號和最后得分用空格隔開作為一行)。單擊“保存”按鈕,則保存結果。“顯示數據”和“保存”按鈕的Click事件過程已經給出,請編寫“計算并排序”按鈕的Click事件過程實現上述功能。
注意:考生不得修改窗體文件中已經存在的控件和程序,在結束程序運行之前,必須單擊“計算并排序”按鈕后,再單擊“保存”按鈕保存結果,否則無成績。最后,程序按原文件名存盤。
參考答案及解析
一、基本操作題
(1)【解題思路】新建一個空白窗體,添加一個框架控件和兩個單選按鈕控件,設置窗體和控件的相關屬性值。
【操作步驟】
步驟1:新建一個“輸入”、最大化按鈕不可用的窗體,相關屬性設置如表4.1所示。
步驟2:向窗體中添加一個框架控件和兩個選項按鈕,并設置好相關屬性,如表4.2所示。
設置完成后效果如圖4.1所示。
步驟3:調試并運行程序,關閉程序后按題目要求存盤。
(2)【解題思路】新建一個空白窗體,添加一個標簽控件和一個水平滾動條控件,設置好該控件的相關屬性,最后通過水平滾動條的change事件,將標簽控件的fontSize屬性設置為滾動條的value值。
步驟3:添加一個水平滾動條,設置控件的相關屬性,如
表4.4所示。
設置完成后,窗體運行效果如圖4.2所示。
步驟5:調試并運行程序,關閉程序后按題目要求存盤。
二、簡單應用題
(1)【解題思路】本題主要考查對列表框控件的使用,包括向列表框中增加項目,從列表框中刪除項目。修改列表框中選中項目的值。
第一個空使用列表框的Text屬性,該屬性的值為最后一次選中的表項的文本。
第二個空使用列表框的Lisflndex屬性,該屬性的值是已選中的表項的位置。
第三個空判斷Text1文本框中的內容是否為空。
第四個空表示當列表框中無選中項目時,將Text1中的內容添加到列表框的最后。
第五個空表示將Text1文本框中的文本替換為列表框中選中的項目,使用列表框的List和ListIndex屬性。
步驟3:調試并運行程序,關閉程序后按題目要求存盤
(2)【解題思路】本題主要考核對數組中元素的基本操作,利用循環語句找出數組中的最大值,并將保存最大值和其所對應的下標,然后將最大值與數組中的第一個元素進行互換操作。
三、綜合應用題
【解題思路】本題主要考核列表框控件的基本操作,在事件過程中利用循環結構對二維數組中的元素求平均值,并將結果添加到列表框中,然后利用二重循環結構對列表框中的元素進行降序排列。
步驟3:調試并運行程序,關閉程序后按題目要求存盤。