![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
vb考前模擬試題2 |
全國計算機(jī)等級考試二級Visual Basic語言程序設(shè)計考前沖刺試卷(2) 一、選擇題(每題2分,共35題,70分) (1)下列選項中,不是一個算法的基本特征的是( )。 A)完整性 B)可行性 C)有窮性 D)擁有足夠的情報 (2)下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性的是( )。 A)線性表 B)隊列 C)樹 D)棧 (3)下列敘述中錯誤的是( )。 A)線性表是由n個元素組成的一個有限序列 B)線性表是一種線性結(jié)構(gòu) C)線性表的所有結(jié)點有且僅有一個前件和后件 D)線性表可以是空表 (4)按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是( )。 A)隊列 B)棧 C)雙向鏈表 D)二叉樹 (5)下列關(guān)于線性鏈表的描述中正確的是( )。 A)存儲空間不一定連續(xù),且各元素的存儲順序是任意的 B)存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面 C)存儲空間必須連續(xù),且各前件元素一定存儲在后件元素的前面 D)存儲空間必須連續(xù),且各元素的存儲順序是任意的 (6)某二叉樹共有60個葉子結(jié)點與50個度為1的結(jié)點,則該二叉樹中的總結(jié)點數(shù)為( )。 A)148 B) (7)下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是( )。 A)順序存儲的有序線性表 B)結(jié)性鏈表 C)二叉鏈表 D)有序線性鏈表 (8)最簡單的交換排序方法是( )。 A)快速排序 B)選擇排序 C)堆排序 D)冒泡排序 (9)對于長度為n的線性表,在最壞情況下,下列各種排序法所對應(yīng)的比較次數(shù)中,正確的是( )。 A)冒泡排序為n /2 B)冒泡排序為n D)快速排序為n D)快速排序為n(n-1)/2 (10)結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)是( )。 A)過程、子程序和分程序 B)順序、選擇和重復(fù) C)遞歸、堆棧和隊列 D)調(diào)用、返回和轉(zhuǎn)移 (11)下面有( )對象不能作為容器。 A)Frame B)From C)PictureBox D)Image (12)關(guān)于自定義數(shù)據(jù)類型,下面敘述中不正確的是( )。 A)自定義數(shù)據(jù)類型必須在窗體模塊或標(biāo)準(zhǔn)模塊的通用聲明段進(jìn)行聲明 B)在窗體模塊中定義自定義數(shù)據(jù)類型時必須使用Private關(guān)鍵字 C)自定義數(shù)據(jù)類型只能在窗體模塊的通用聲明段進(jìn)行聲明 D)自定義數(shù)據(jù)類型中的元素的數(shù)據(jù)類型可以是系統(tǒng)提供的基本數(shù)據(jù)類型或已聲明的自定義數(shù)據(jù)類型 (13)8.6787E+8寫成普通的十進(jìn)制數(shù)是( )。 A)86787000 B) (14)設(shè)x=4,y=8,z=7,則以下表達(dá)式的運算結(jié)果是( )。 x<y And (Not y>z) Or z<x A)1 B) (15)將文本框的( )屬性設(shè)置為True時,文本框可以輸入或顯示多行文本,且會自動換行。 A)Text B)ScrollBars C)MultiLine D)Enabled (16)在窗體Form1上放一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫一個事件過程。要求程序運行以后,如果在文本框中輸入一個字符,則把命令按鈕的標(biāo)題設(shè)置為“VB等級考試二級”。以下正確實現(xiàn)上述操作的事件過程是( )。 A)Private Sub Text1_Change() Command1.Caption= " VB等級考試二級" End Sub B)Private Sub Command1_Click() Caption= " VB等級考試二級" End Sub C)Private Sub Form1_Click() Text1.Caption= " VB等級考試二級" End Sub D)Private Sub Command1_Click() Text1.Text= " VB等級考試二級" End Sub (17)以下( )控件可以使圖形根據(jù)按控件大小而改變的大小。 A)圖片框 B)標(biāo)簽框 C)圖像框 D)框架 (18)在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為Hscroll1的滾動條,其Min和Max屬性分別為0和1000。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當(dāng)前值。以下能實現(xiàn)上述操作的程序是( )。 A)Private Sub Hscroll1_Change() B)Private Sub Hscroll1_Click() Text1.Text=HScroll1.Value Text1.Text=HScroll1.Value End Sub End Sub C)Private Sub Hscroll1_Change() D)Private Sub Hscroll1_Click() Text1.Text=Hscroll1.Caption Text1.Text=Hscroll1.Caption End Sub End Sub (19)下列程序段的執(zhí)行結(jié)果為( )。 x = Int(Rnd + 4) Select Case x Case 5 Print "A Class" Case 4 Print "B Class" Case 3 Print "C Class" Case Else Print "D Class" End Select A)A Class B)B Class C)C Class D)D Class (20)以下能夠正確退出循環(huán)的是( )。 A)i=10 B)i=1 Do Do i=i+1 i=i+1 Loop Until i<10 Loop Until i=10 C)i=10 D)i=1 Do Do i=i+1 i=i-3 Loop Until i<0 Loop Until i=0 (21)下列程序執(zhí)行后,其輸出結(jié)果為( )。 Dim a(5) For i = 0 To 4 a(i) = i + 1 m = i + 1 If m = 3 Then a(m - 1) = a(i - 2) Else a(m) = a(i) If i = 2 Then a(i - 1) = a(m - 3) a(4) = i Print a(i); Next i A)1 1 1 4 4 B)1 2 3 4 1 C)1 2 1 4 4 D)1 1 1 4 1 (22)編寫如下事件過程: Private Sub Form_Activate() Dim score(1 To 3) As Integer Dim i As Integer,t As Variant For i = 3 To 1 Step -1 score(i) = 2 * i Next i For Each t In score Print t; Next End Sub 程序運行后窗體上顯示( )。 A)6 4 2 B)2 4 (23)設(shè)有如下程序: 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 (24)在窗體上有一個名稱為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 Exit For Next Text1.Text=Str(n) End Sub 程序運行后,單擊命令按鈕,在文本框中顯示的值是( )。 A)2 B) (25)在窗體上畫一個名稱為Text1的文本框,然后畫三個單選按鈕,并用這三個單選按鈕建立一個控件數(shù)組,名稱為Option1,程序運行后,如果單擊某個單選按鈕,則文本框中的字體將根據(jù)所選擇的單選按鈕切換,如圖所示。請選擇空白處合適的語句( )。 Select Case ___________ Case 0 : a = "宋體" Case 1 : a = "黑體" Case 2 : a = "楷體_GB2312" End Select Text1. ___________= a End Sub A)Option Text B)Index Text C)Index Font D)Option Font (26)設(shè)有如下通用過程: Public Sub Fun(a() As Integer, 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 Integer, n As Integer For i = 1 To 5 arr(i) = i + i Next Fun arr, n Text1.Text = Str(n) End Sub 程序運行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是( )。 A)30 B)25 C)20 D)15 (27)在窗體上畫一個文本框,然后編寫如下事件過程: Private Sub Textl_KeyPress(KeyAscii As Integer) Dim char As String char=Chr(KeyAscii) KeyAscii=Asc(UCase(char)) Textl.Text=String(6, KeyAscii) End Sub 程序運行后,如果在鍵盤上輸入字母“a”,則文本框中顯示的內(nèi)容為( )。 A)a B)A C)aaaaaa D)AAAAAA (28)以下對文件分類的劃分不正確的是( )。 A)文件分為程序文件和數(shù)據(jù)文件 B)文件分為有結(jié)構(gòu)文件和無結(jié)構(gòu)文件 C)文件分為ASCII文件和二進(jìn)制文件 D)文件分為順序文件和隨機(jī)文件 (29)在窗體上有一個名稱為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 記錄類型定義如下: Private Type animal animalName As String*20 aColor As String*10 End Type 下列敘述中正確的是( )。 A)記錄類型animal不能在Form1中定義,必須在標(biāo)準(zhǔn)模塊中定義 B)如果文件c:\vbTest.dat不存在,則Open命令執(zhí)行失敗 C)由于Put命令中沒有指明記錄號,因此每次都把記錄寫到文件的末尾 D)語句"Put #1,,rec"將animal類型的兩個數(shù)據(jù)元素寫到文件中 (30)以下事件過程的功能是:從已存在于磁盤上的順序文件Num1.txt中讀取數(shù)據(jù),計算讀出數(shù)據(jù)的平方值,將該數(shù)據(jù)及其平方值存入新的順序文件Num2.txt中。則在以下橫線處合適的語句是( )。 Private Sub Form_Click() Dim X As Single, y As Single Open "Num1.txt" For Input As #1 Open "Num2.txt" For Output As #2 Do While Not EOF(1) ___________ Print X y = X ^ 2 ___________ Print y Close #1, #2 End Sub A)Input #1,y Print #2,x,y B)Input #2,x Print #1,x,y C)Print #1,x Input #2,x,y D)Input #1,x Print #2,x,y (31)下列程序的執(zhí)行結(jié)果為( )。 n = 0 j = 1 Do Until n > 2 n = n + 1 : j = j + n * (n + 1) Loop Print n; j A)0 1 B)3 (32)下列程序在運行時輸出的結(jié)果是( )。 Option Base 1 Private Sub Form_Click() Dim x(10) For i = 1 To 10 x(i) = 10 - i + 1 Next i For i = 10 To 1 Step -2 Print x(i) Next i End Sub A)1 3 5 7 9 B)9 7 5 3 1 C)1 2 3 4 5 6 7 8 9 10 D)10 9 8 7 6 5 4 3 2 1 (33)運行下列程序時,輸出的結(jié)果是( )。 Private Sub Form_Click() Dim x x = Array("Software", "and", "Hardware", "System") For i = LBound(x, 1) To UBound(x, 1) If Left(x(i), 1) = "S" Then Print x(i); Next i End Sub A)Software B)SoftwareSystem C)出錯信息 D)SoftwareandHardwareSystem (34)窗體上命令按鈕Command1的事件過程如下: Option Base 1 Private Sub Command1_Click() Dim a(4, 4) As Variant 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(i, j) Next j Next i End Sub 該程序執(zhí)行后,輸出結(jié)果是( )。 A)9 B) 10 10 12 11 12 12 10 9 13 13 13 12 (35)用Line Input語句從順序文件讀出數(shù)據(jù)時,每次讀出一行數(shù)據(jù)。所謂一行是指遇到( )分隔符,即認(rèn)為一行的結(jié)束。 A)文件結(jié)束符 B)回車符 C)空格 D)Tab字符 二、填空題(每空2分,共30分) (1)軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計屬于___________中的一個階段。 (2)結(jié)構(gòu)化分析方法是面向___________進(jìn)行分析的方法。 (3)常用的軟件結(jié)構(gòu)設(shè)計工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示___________,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。 (4)在進(jìn)行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊,其中__________的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。 (5)診斷和改正程序中錯誤的工作通常稱為___________。 (6)以下程序的功能是將多維數(shù)組a(1 To m,1 To n)中的元素轉(zhuǎn)移到一個名為b(1 To n)的一維數(shù)組中,請?zhí)顚懣瞻滋,完成該程序?/SPAN> Option Base 1 Private Sub Command1_Click() Dim a(1 To 4, 1 To 5):Dim b() ReDim ___________ For i = 1 To 4 For j = 1 To 5 a(i, j) = i * j Next j Next i Call Transf(a, 4, 5, b) End Sub Sub Transf(a(), m, n, b()) Dim x As Integer x = 1 For i = 1 To m For j = 1 To n b(x) =___________ x = x + 1 Next j Next i End Sub (7)在窗體上有一個名稱為Label1的標(biāo)簽和一個名稱為Timer1的計時器,并編寫有如下幾個事件過程: Private Sub Form_Load() Timer1.Enabled=False Timer1.Interval=___________ End Sub Private Sub Form_Click() Timer1.Enabled=___________ End Sub Private Sub Timer1_Timer() Label1.Caption=___________ End Sub 程序運行后,單擊窗體,將在標(biāo)簽中顯示當(dāng)前時間,每隔1秒鐘變換一次,請?zhí)羁铡?/SPAN> (8)引用列表框(List1)最后一個列表項應(yīng)使用的語句是___________。 (9)在窗體上畫一個驅(qū)動器列表框、一個目錄列表框和一個文件列表框,其名稱分別為Drivel、Dirl和Filel,為了使它們同步操作,必須觸發(fā)___________事件和___________事件,在這兩個事件中執(zhí)行的語句分別為___________和___________。 參考答案 一、選擇題 (1)A) (2)C) (3)C) (4)A) (5)A) (6)B) (7)A) (8)D) (9)D) (10)B) (11)D) (12)C) (13)B) (14)D) (15)C) (16)A) (17)C) (18)A) (19)B) (20)B) (21)C) (22)B) (23)C) (24)B) (25)C) (26)A) (27)D) (28)B) (29)B) (30)D) (31)C) (32)A) (33)B) (34)A) (35)B) 二、填空題 (1)軟件開發(fā) (2)數(shù)據(jù)流 (3)模塊 (4)驅(qū)動模塊 (5)調(diào)試 (6)b(20) a(i,j) (7)1000 True Time$() (8)List1.List(ListCount-1) (9)驅(qū)動器的Change事件 目錄的Change事件 Dir1.Path = Drive1.Drive File1.Path = Dir1.Path |