下列各題 a) 、b)、c)、d)四個選項中,只有一個選項是正確的,請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。(1) 在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下事件過程: private sub command1_click() move 500,500 end sub 程式運行後,單擊命令按鈕,執行的操作為a) 命令按鈕移動到距窗體左邊界、上邊界各500的位置b) 窗體移動到距螢幕左邊界、上邊界各500的位置c) 命令按鈕向左、上方向各移動500d) 窗體向左、上方向各移動500
(2) 在窗體上有若干控制項,其中有一個名稱為text1的文本框。影響text1的tab順序的屬性是
a) tabstop b)enabledc) visible d)tabindex(3) 以下定義數組或給數組元素賦值的語句中,正確的是
(4) 在窗體上畫一個名稱為list1的列表框,為了對列表框中的每個項目都能進行處理,應使用的循環語句為
a) for i=0 to list1.listcount-1……nextb) for i=0 to listcount-1……nextc) for i=1 to list1.listcount……nextd) for i=1 to listcount……next(5) 以下case語句中錯誤的是
a) case 0 to 10 b) case is>10c) 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 = 12345print 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或heightc) 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*6 mod 2的輸出結果是
a) 0 b) 1 c) 2 d) 3(17) 在窗體上畫一個文本框、一個標籤和一個命令按鈕,其名稱分別為text1、label1和command1,然後編寫如下兩個事件過程:
private sub command1_click() strtext = inputbox("請輸入") text1.text = strtextend sub private sub text1_change() label1.caption = right(trim(text1.text), 3)end sub程式運行後,單擊命令按鈕,如果在輸入對話框中輸入abcdef,則在標籤中顯示的內容是a)空 b) abcdef c) abc d) def(18) 在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下事件過程:
private sub command1_click()x = -5if sgn(x) then y = sgn(x ^ 2)else y = sgn(x)end ifprint yend 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的作用域是model1c) 在form1中可以直接使用x d) 在form2中可以直接使用x和y(20) 在窗體上畫一個名稱為drive1的驅動器列表框,一個名稱為dir1的目錄列表框。當改變當前驅動器時,目錄列表框應該與之同步改變。設定兩個控制項同步的命令放在一個事件過程中,這個事件過程是
a)drive1_change b) drive1_clickc) dir1_click d) dir1_change(21) 在窗體上畫一個命令按鈕(其name屬性為command1),然後編寫如下代碼:
option base 1private 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 send 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 ifend subb) private sub text1_keydown(keycode as integer, shift as integer) if keycode < 65 or keycode > 90 then msgbox "請輸入大寫字母" keycode = 0 end ifend subc) 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 ifend subd) private sub text1_change() if asc(text1.text) > 64 and asc(text1.text) < 91 then msgbox "請輸入大寫字母" end ifend sub(23) 假定在窗體(名稱為form1)的代碼視窗中定義如下記錄類型:
private type animal animalname as string*20 acolor as string*10end 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 #1end 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 n = n/2 then f = f1(n) else f = f2(n) end if print f; nend sub public function f1(byref x) x=x*x f1=x+xend function public function f2(byval x) x=x*x f2=x+x+xend 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 print nextend sub程式運行後,單擊命令按鈕,要求在窗體上顯示如下內容1121231234則在下劃線處應填入的內容為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 iend 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 ifend functionprivate sub command1_click() dim i as integer s = 0 for i = 1 to 5 s = s + f(i) next print send 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 nextend sub程式運行後,單擊命令按鈕,四個文本框中顯示的內容分別為a) 0 1 2 3 b) 1 2 3 4c) 0 1 3 2 d) 出錯信息二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(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】 mnueditend ifend 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】 =aend 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】.textend 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 send sub該事件過程的功能是計算 的值。請填空。(9)在窗體上畫一個名稱為command1的命令按鈕,然後編寫如下程式:
option base 1private 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); nextend subsub swap(b() as integer) n = 【14】 for i = 1 to n / 2 t = b(i) b(i) = b(n) b(n) = t 【15】 nextend sub上述程式的功能是,通過調用過程swap,調換數組中數值的存放位置,即a(1)與a(10)的值互換,a(2)與a(9)的值互換,……,a(5)與a(6)的值互換。請填空。