一、 選擇題((1)~(20)每小題2分,(21)~(30)每小題3分,共70分)
牐牐1)以下敘述中錯誤的是
牐燼)visual basic 是事件驅動型可視化編程工具
牐燽)visual basic應用程式不具有明顯的開始和結束語句
牐燾)visual basic工具箱中的所有控制項都具有寬度(width)和高度(height)屬性
牐燿)visual basic中控制項的某些屬性只能在運行時設定
(2)以下敘述中錯誤的是
牐燼)在工程資源管理器視窗中只能包含一個工程檔案及屬於該工程的其他檔案
牐燽)以.bas為擴展名的檔案是標準模組檔案
牐燾)窗體檔案包含該窗體及其控制項的屬性
牐燿)一個工程中可以含有多個標準模組檔案
(3)以下敘述中錯誤的是
牐燼)雙擊滑鼠可以觸發dblclick事件
牐燽)窗體或控制項的事件的名稱可以由編程人員確定
牐燾)移動滑鼠時,會觸發mousemove事件
牐燿)控制項的名稱可以由編程人員設定
(4)以下不屬於visual basic系統的檔案類型是
牐燼).frm b).bat c).vbg d).vbp
(5)以下敘述中錯誤的是
牐燼)打開一個工程檔案時,系統自動裝入與該工程有關的窗體、標準模組等檔案
牐燽)保存visual basic程式時,應分別保存窗體檔案及工程檔案
牐燾)visual basic應用程式只能以解釋方式執行
牐燿)事件可以由用戶引發,也可以由系統引發
(5)以下敘述中錯誤的是
牐燼)打開一個工程檔案時,系統自動裝入與該工程有關的窗體、標準模組等檔案
牐燽)保存visual basic程式時,應分別保存窗體檔案及工程檔案
牐燾)visual basic應用程式只能以解釋方式執行
牐燿)事件可以由用戶引發,也可以由系統引發
(6)以下能正確定義數據類型telbook的代碼是
牐牐牐燼)type telbook b)type telbook
牐爊ame as string*10 name as string*10
牐爐elnum as integer telnum as integer
牐爀nd type end telbook
牐燾)type telbookd)typedef telbook
牐爊ame string*10 name string*10
牐爐elnum integer telnum integer
牐爀nd type telbook end type
(7)以下聲明語句中錯誤的是
牐燼)const var1=123 b)dim var2 = \'abc\'
牐燾)defint a-z d)static var3 as integer
(8)設窗體上有一個列表框控制項list1,且其中含有若干列表項。則以下能表示當前被選中的列表項內容的是
牐燼)list1.list b)list1.listindex c)list1.index d)list1. text
(9)程式運行後,在窗體上單擊滑鼠,此時窗體不會接收到的事件是
牐燼)mousedown b)mouseup c)load d)click
(10)設a=10,b=5,c=1,執行語句print a > b > c後,窗體上顯示的是
牐燼)true b)false c)1 d)出錯信息
(11)如果要改變窗體的標題,則需要設定的屬性是
牐燼)caption b)name c)backcolor d)borderstyle
(12)以下能判斷是否到達檔案尾的函式是
牐燼)bof b)loc c)lof d)eof
(13)如果一個工程含有多個窗體及標準模組,則以下敘述中錯誤的是
牐燼)如果工程中含有sub main過程,則程式一定首先執行該過程
牐燽)不能把標準模組設定為啟動模組
牐燾)用hide方法只是隱藏一個窗體,不能從記憶體中清除該窗體
牐燿)任何時刻最多只有一個窗體是活動窗體
(14)窗體的mousedown事件過程
牐爁orm_mousedown (button as integer, shift as integer, x as single, y as single)
牐犛4個參數,關於這些參數,正確的描述是
牐燼)通過button參數判定當前按下的是哪一個滑鼠鍵
牐燽)shift參數只能用來確定是否按下shift鍵
牐燾)shift參數只能用來確定是否按下alt和ctrl鍵
牐燿)參數x,y用來設定滑鼠當前位置的坐標
(15)設組合框combo1中有3個項目,則以下能刪除最後一項的語句是
牐燼)combo1.removeitem text
牐燽)combo1.removeitem 2
牐燾)combo1.removeitem 3
牐燿)combo1.removeitem combo1.listcount
(16)以下關於焦點的敘述中,錯誤的是
牐燼)如果文本框的tabstop屬性為false,則不能接收從鍵盤上輸入的數據
牐燽)當文本框失去焦點時,觸發lostfocus事件
牐燾)當文本框的enabled屬性為false時,其tab順序不起作用
牐燿)可以用tabindex屬性改變tab順序
(17)如果要在選單中添加一個分隔線,則應將其caption屬性設定為
牐燼)= b)* c)& d)-
(18)執行語句open "tel.dat" for random as #1 len = 50後,對檔案tel.dat中的數據能夠執行的操作是
牐燼)只能寫,不能讀 b)只能讀,不能寫
牐燾)既可以讀,也可以寫 d)不能讀,不能寫
(19)在窗體上畫一個名稱為command1的命令按鈕和兩個名稱分別為text1、text2的文本框,然後編寫如下事件過程:
牐爌rivate sub command1_click()
牐爊 = text1.text
牐爏elect case n
牐燾ase 1 to 20
牐爔 = 10
牐燾ase 2, 4, 6
牐爔 = 20
牐燾ase is < 10
牐爔 = 30
牐燾ase 10
牐爔 = 40
牐爀nd select
牐爐ext2.text = x
牐爀nd sub
牐牫絛蛟誦瀉螅如果在文本框text1中輸入10,然後單擊命令按鈕,則在text2中顯示的內容是
牐燼)10 b)20 c)30 d)40
(20)設有以下循環結構
牐燿o
牐犙環體
牐爈oop while <條件>
牐犜蛞韻灤鶚鮒寫砦蟮氖
牐燼)若"條件"是一個為0的常數,則一次也不執行循環體
牐燽)"條件"可以是關係表達式、邏輯表達式或常數
牐燾)循環體中可以使用exit do語句
牐燿)如果"條件"總是為true,則不停地執行循環體
(21)在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下事件過程:
牐爌rivate sub command1_click()
牐燿im num as integer
牐爊um = 1
牐燿o until num > 6
牐爌rint num;
牐爊um = num + 2.4
牐爈oop
牐爀nd sub
牐牫絛蛟誦瀉螅單擊命令按鈕,則窗體上顯示的內容是
牐燼)1 3.4 5.8 b)1 3 5
牐燾)1 4 7 d)無數據輸出
(22)在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下事件過程:
牐爌rivate sub command1_click()
牐燿im a as integer, s as integer
牐燼 = 8
牐爏 = 1
牐燿o
牐爏 = s + a
牐燼 = a-1
牐爈oop while a <= 0
牐爌rint s; a
牐爀nd sub
牐牫絛蛟誦瀉螅單擊命令按鈕,則窗體上顯示的內容是
牐燼) 7 9 b) 34 0
牐燾) 9 7 d)死循環
(23)設有如下通用過程:
牐爌ublic function f(x as integer)
牐燿im y as integer
牐爔 = 20
牐爕 = 2
牐爁 = x * y
牐爀nd function
牐犜詿疤逕匣一個名稱為command1的命令按鈕,然後編寫如下事件過程:
牐爌rivate sub command1_click()
牐爏tatic x as integer
牐爔 = 10
牐爕=5
牐爕 = f(x)
牐爌rint x; y
牐爀nd sub
牐牫絛蛟誦瀉螅如果單擊命令按鈕,則在窗體上顯示的內容是
牐燼)10 5 b)20 5
牐燾)20 40 d)10 40
(24)設有如下通用過程:
牐爌ublic sub fun(a(), byval x as integer)
牐爁or i = 1 to 5
牐爔 = x + a(i)
牐爊ext
牐爀nd sub
牐犜詿疤逕匣一個名稱為text1的文本框和一個名稱為command1的命令按鈕,然後編寫如下的事件過程:
牐爌rivate sub command1_click()
牐燿im arr(5) as variant
牐爁or i = 1 to 5
牐燼rr(i) = i
牐爊ext
牐爊 = 10
牐燾all fun(arr(), n)
牐爐ext1.text = n
牐爀nd sub
牐牫絛蛟誦瀉螅單擊命令按鈕,則在文本框中顯示的內容是
牐燼)10 b)15 c)25 d)24
(25)在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下代碼:
牐爋ption base 1
牐爌rivate sub command1_click()
牐燿 = 0
牐燾 = 10
牐爔 = array(10, 12, 21, 32, 24)
牐爁or i = 1 to 5
牐爄f x(i) > c then
牐燿 = d + x(i)
牐燾 = x(i)
牐爀lse
牐燿 = d-c
牐爀nd if
牐爊ext i
牐爌rint d
牐爀nd sub
牐牫絛蛟誦瀉螅如果單擊命令按鈕,則在窗體上輸出的內容為
牐燼)89 b)99 c)23 d)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中。以下不能實現上述功能的事件過程是
牐燼)private sub command1_click()
牐爈abel3.caption = str(val(label1.caption )*val( label2.caption))
牐爀nd sub
牐燽)private sub command1_click()
牐爈abel3.caption = hscroll1.value * hscroll2.value
牐爀nd sub
牐燾)private sub command1_click()
牐爈abel3.caption = hscroll1 * hscroll2
牐爀nd sub
牐燿)private sub command1_click()
牐爈abel3.caption = hscroll1. text * hscroll2.text
牐爀nd sub
(27)在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下事件過程:
牐爌rivate sub command1_click()
牐爁or n = 1 to 20
牐爄f n mod 3 <> 0 then m = m + n \ 3
牐爊ext n
牐爌rint n
牐爀nd sub
牐牫絛蛟誦瀉螅如果單擊命令按鈕,則窗體上顯示的內容是
牐燼)15 b)18 c)21 d)24
牐28)在窗體上畫一個名稱為text1的文本框,並編寫如下程式:
牐爌rivate sub form_load()
牐爏how
牐爐ext1.text = ""
牐爐ext1.setfocus
牐爀nd sub
牐爌rivate sub form_mouseup(button as integer, shift as integer, x as single, y as single)
牐爌rint "程式設計"
牐爀nd sub
牐爌rivate sub text1_keydown(keycode as integer, shift as integer)
牐爌rint "visual basic";
牐爀nd sub
牐牫絛蛟誦瀉螅如果按"a"鍵,然後單擊窗體,則在窗體上顯示的內容是
牐燼)visual basic b)程式設計
牐燾)a程式設計 d)visual basic程式設計
(29)設有如下程式:
牐爌rivate sub command1_click()
牐燿im sum as double, x as double
牐爏um = 0
牐爊 = 0
牐爁or i = 1 to 5
牐爔 = n / i
牐爊 = n + 1
牐爏um = sum + x
牐爊ext
牐爀nd sub
牐牳貿絛蟯ü齠or循環計算一個表達式的值,這個表達式是
牐燼)1+1/2+ 2/3+3/4+4/5 b)1+1/2+2/3+3/4
牐燾)1/2+2/3+3/4+4/5 d)1+1/2+1/3+1/4+1/5
(30)以下有關數組定義的語句序列中,錯誤的是
牐燼) static arr1(3)
牐燼rr1(1) = 100
牐燼rr1(2) = "hello"
牐燼rr1(3) = 123.45
牐燽)dim arr2() as integer
牐 dim size as integer
牐 private sub command2_click()
牐 size = inputbox("輸入:")
牐 redim arr2(size)
牐牐.....
牐爀nd sub
牐燾)option base 1
牐爌rivate sub command3_click()
牐燿im arr3(3) as integer
牐牐.....
牐爀nd sub
牐燿)dim n as integer
牐爌rivate sub command4_click()
牐燿im arr4(n) as integer
牐牐.....
牐爀nd sub
二、填空題(每空2分,共30分)
牐牐1)執行下面的程式段後,i的值為 〖1〗 ,s的值為 〖2〗 。
牐爏 = 2
牐爁or i = 3.2 to 4.9 step 0.8
牐爏 = s + 1
牐爊ext i
(2)把窗體的keypreview屬性設定為true,然後編寫如下兩個事件過程:
牐爌rivate sub form_keydown(keycode as integer, shift as integer)
牐爌rint chr(keycode)
牐爀nd sub
牐爌rivate sub form_keypress(keyascii as integer)
牐爌rint chr(keyascii)
牐爀nd sub
牐牫絛蛟誦瀉螅如果直接按鍵盤上的"a"鍵(即不按住shift鍵),則在窗體上輸出的字元分別是 〖3〗 和 〖4〗 。
(3)在窗體上畫一個標籤(名稱為label1)和一個計時器(名稱為timer1),然後編寫如下幾個事件過程:
牐爌rivate sub form_load()
牐爐imer1.enabled = false
牐爐imer1.interval = 〖5〗
牐爀nd sub
牐爌rivate sub form_click()
牐爐imer1.enabled = 〖6〗
牐爀nd sub
牐爌rivate sub timer1_timer()
牐爈abel1.caption = 〖7〗
牐爀nd sub
牐牫絛蛟誦瀉螅單擊窗體,將在標籤中顯示當前時間,每隔1秒鐘變換一次(見圖)。請填空。
牐4)在窗體上畫一個文本框、一個標籤和一個命令按鈕,其名稱分別為text1、label1和command1,然後編寫如下兩個事件過程:
牐爌rivate sub command1_click()
牐爏$ = inputbox("請輸入一個字元串")
牐爐ext1.text = s$
牐爀nd sub
牐爌rivate sub text1_change()
牐爈abel1.caption = ucase(mid(text1.text, 7))
牐爀nd sub
牐牫絛蛟誦瀉螅單擊命令按鈕,將顯示一個輸入對話框,如果在該對話框中輸入字元串"visualbasic",則在標籤中顯示的內容是 〖8〗 。
(5)在窗體上畫一個列表框、一個命令按鈕和一個標籤,其名稱分別為list1、command1和label1,通過屬性視窗把列表框中的項目設定為:"第一個項目"、"第二個項目"、"第三個項目"、"第四個項目"。程式運行後,在列表框中選擇一個項目,然後單擊命令按鈕,即可將所選擇的項目刪除,並在標籤中顯示列表框當前的項目數,運行情況如圖所示(選擇"第三個項目"的情況)。下面是實現上述功能的程式,請填空。
牐爌rivate sub command1_click()
牐爄f list1.listindex >= 〖9〗 then
牐爈ist1.removeitem 〖10〗
牐爈abel1.caption = 〖11〗
牐爀lse
牐爉sgbox "請選擇要刪除的項目"
牐爀nd if
牐爀nd sub
(6)設有程式:
牐爋ption base 1
牐爌rivate sub command1_click()
牐燿im arr1, max as integer
牐燼rr1 = array(12, 435, 76, 24, 78, 54, 866, 43)
牐牐ㄗ柿俠叢矗憾方教育網
牐牎12〗 = arr1(1)
牐爁or i = 1 to 8
牐爄f arr1(i) > max then 〖13〗
牐爊ext i
牐爌rint "最大值是: "; max
牐爀nd sub
牐犚隕銑絛虻墓δ蓯牽河胊rray函式建立一個含有8個元素的數組,然後查找並輸出該數組中元素的最大值。請填空。
(7)以下程式的功能是:把當前目錄下的順序檔案smtext1.txt的內容讀入記憶體,並在文本框text1中顯示出來。請填空。
牐爌rivate sub command1_click()
牐燿im indata as string
牐爐ext1.text = ""
牐爋pen ".\smtext1.txt" 〖14〗 as #1
牐燿o while 〖15〗
牐爄nput #1, indata
牐爐ext1.text = text1.text & indata
牐爈oop
牐燾lose #1
牐爀nd sub