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