![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
vb模擬試題 |
全國計算機等級考試二級Visual Basic語言程序設計考前沖刺試卷(1) 一、選擇題(每題2分,共35題,70分) (1)下列選項中,不是算法的基本特征的是( )。 A)完整性 B)可行性 C)有窮性 D)擁有足夠的情報 (2)結構化分析方法是面向( )的自頂向下、逐步求精進行需求分析的方法。 A)對象 B)數(shù)據(jù)結構 C)數(shù)據(jù)流 D)目標 (3)下列工具中為需求分析常用工具的是( )。 A)PAD B)PFD C)N-S D)DFD (4)線性表進行二分法檢索,其前提條件是( )。 A)線性表以順序方式存儲,并按關鍵碼值排好序 B)線性表以順序方式存儲,并按關鍵碼的檢索頻率排好序 C)線性表以鏈式方式存儲,并按關鍵碼值排好序 D)線性表以鏈式方式存儲,并按關鍵碼的檢索頻率排好序 (5)下列選項中不屬于結構化程序設計方法的是( )。 A)自頂向下 B)逐步求精 C)模塊化 D)可復用 (6)下列關于結構化程序設計原則和方法的描述中,錯誤的是( )。 A)選用的結構只準許有一個入口和一個出口 B)復雜結構應該用嵌套的基本控制結構進行組合嵌套來實現(xiàn) C)不允許使用GOTO語句 D)語言中所沒有的控制結構,應該采用前后一致的方法來模擬 (7)軟件需求分析階段的工作,可以分為4個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及( )。 A)階段性報告 B)需求評審 C)總結 D)都不正確 (8)下列關于軟件測試的描述中正確的是( )。 A)軟件測試的目的是證明程序是否正確 B)軟件測試的目的是使程序運行結果正確 C)軟件測試的目的是盡可能地多發(fā)現(xiàn)程序中的錯誤 D)軟件測試的目的是使程序符合結構化原則 (9)用鏈表表示線性表的優(yōu)點是( )。 A)便于隨機存取 B)花費的存儲空間較順序存儲少 C)便于插入和刪除操作 D)數(shù)據(jù)元素的物理順序和邏輯順序相同 (10)在數(shù)據(jù)庫設計中,將E-R圖轉換為關系模式的過程屬于( )。 A)需求分析階段 B)邏輯設計階段 C)概念設計階段 D)物理設計階段 (11)下列各種窗體事件中,不能由用戶觸發(fā)的事件是( )。 A)Load事件和Unload事件 B)Click事件和Unload事件 C)Click事件和DblClick事件 D)Load事件和Initialize事件 (12)關于變量作用域,下列敘述中正確的是( )。 A)在窗體的Form_Load事件過程中定義的變量是全局變量 B)局部變量的作用域可以超出所定義的過程 C)在某個Sub過程中定義的局部變量可以與其它事件過程中定義的局部變量同名,但其作用域只限于該過程 D)在調用過程中,所有局部變量被系統(tǒng)初始化為0或空字符串 (13)下列可作為Visual Basic變量名的是( )。 A)A#A B)constA C)?xy D) (14)設a="Visual Basic",下面語句中可使b="Basic"的是( )。 A)b=Left(a,8) B)b=Mid(a,8,5) C)b=Right(a,8) D)b=Left(a,8,5) (15)InputBox函數(shù)返回值的類型為( )。 A)數(shù)值 B)字符串 C)變體 D)數(shù)值或字符串(視輸入的數(shù)據(jù)而定) (16)在文本框中,要設置顯示的文本顏色,應該設置( )屬性。 A)ForeColor B)BackColor C)FillColor D)BackStyle (17)假定在圖片框Picturel中裝入了一個圖形,為了清除該圖形(注意,清除圖形,而不是刪除圖片框),應采用的正確方法是( )。 A)選擇圖片框,然后按Del鍵 B)執(zhí)行語句Picturel.Picture = LoadPicture("") C)執(zhí)行語句Picturel.Picture = "" D)選擇圖片框,在屬性窗口中選擇Picture屬性條,然后按回車鍵 (18)為組合框Combo1增加一個列表項“電腦”,下列語句正確的是( )。 A)Combo1.Text = "電腦" B)Combo1.ListIndex = "電腦" C)Combo1.AddItem "電腦" D)Combo1.ListCount = "電腦" (19)以下敘述錯誤的是( )。 A)滾動條的重要事件是Change和Scroll B)框架的主要作用是將控件進行分組,以完成各自相對獨立的功能 C)組合框是組合了文本框和列表框的特性而形成的一種控件 D)計時器控件可以通過對Visible屬性的設置,在程序運行期間顯示在窗體上 (20)設a=5,b=6,c=7,d=8,執(zhí)行下列語句后,x的值為( )。 x=IIf((a>b) And (c>d),10,20) A)10 B) (21)下面程序運行時,單擊窗體后,窗體上顯示的結果是( )。 Private Sub Form_Click() Dim i As Integer Dim sum As Long Dim t As Long t = 1: sum = 0 For i = 1 To 3 t = t * i sum = sum + t Next i Print sum End Sub A)3 B) A)Private Sub Text1_LostFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub B)Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub C)Private Sub Text1_Change() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub D)Private Sub Text1_SetFocus() Text.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub (23)下列程序段錯誤的是( )。 A)Dim a As Integer B)Dim a(),b() a=array(1,2,3,4) a=array(1,2,3,4):b=a C)Dim a As Variant D)Dim a()As Variant a=array(1,"asd",true) a=array(1,2,3,4) (24)在窗體上畫一個命令按鈕(其Name屬性為Command1),然后編寫如下代碼: Option Base 1 Private Sub Commandl Click() Dim a 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) (25)在窗體上用復制、粘貼的方法建立了一個命令按鈕數(shù)組,數(shù)組名為ComTest1。設窗體Form1標題為“MyForml”,雙擊控件數(shù)組中的第3個按鈕,打開代碼編輯器,編寫如下代碼: Privae Sub Comtest1_Click(Index As Integer) Form1.Caption = "MyForm2" End Sub 運行時,單擊按鈕數(shù)組中的第1個按鈕,則窗體標題顯示為( )。 A)Form1 B)ComTest1 C)MyForm1 D)MyForm2 (26)下列有關過程的敘述中錯誤的是( )。 A)如果過程被定義為Static類型,則該過程中的局部變量都是Static類型 B)Sub過程中不能嵌套定義Sub過程 C)Sub過程中可以嵌套調用Sub過程 D)事件過程可以像通用過程一樣由用戶定義過程名 (27)運行下面的程序,單擊命令按鈕,輸出結果為( )。 Function F(a As Integer) b = 0 Static c b = b + l 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 5 6 7 4 6 8 9 (28)在屬性窗口中把窗體的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(KeyAscli) End Sub 在一般情況下(即不按住Shift鍵和鎖定大寫),運行程序,如果按“A”鍵,則程序的輸出是( )。 A)A B)a C)A D)a a A A a (29)關于MDI窗體下列說法正確的是( )。 A)一個應用程序可以有多個MDI窗體 B)子窗體可以移到MDI窗體以外 C)不可以在MDI窗體上放置按鈕控件 D)MDI窗體的子窗體不可擁有菜單 (30)窗體上有文本框Text1和一個菜單,菜單標題、名稱如表,結構見圖。要求程序執(zhí)行時單擊"保存"菜單項,則把其標題顯示在Text1文本框中,下面可實現(xiàn)此功能的事件過程是( )。 A)Private Sub save_Click() B)Private Sub save_Click() save_Click() Text1.Text=save.Caption Text1.Text=file.save.Caption End Sub End Sub C)Private Sub file_Click() D)Private Sub file_Click() Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub (31)如下有一段不完整的程序段,如果要求該程序執(zhí)行3次循環(huán),則在程序中的空白處要填入( )。 x = 1 Do x = x + 3 : Print x Loop Until ___________ A)x>=8 B)x<= (32)下列程序的功能是調用字體對話框來設置文本框中的字體,單擊Command1按鈕彈出對話框,進行相應的字體、字號等的設置,然后單擊“確定”按鈕退出對話框,則將發(fā)生哪些變化( )。 Private Sub Command1_Click() CommonDialog1.CancelError = True CommonDialog1.Flags = 3 On Error Resume Next CommonDialog1.ShowFont Text1.Font.Name = CommonDialog1.FontName Text1.Font.Size = CornmonDialog1.FontSize Text1.Font.Bold = CommonDialog1.FontBold Text1.Font.Italic = CommonDialog1.FontItalic Text1.Font.Underline = CommonDialog1.FontUnderline Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.ForeColor = CommonDialog1.Color End Sub A)Text1的字體不發(fā)生變化 B)Text1的字體發(fā)生變化 C)Text1的字體和顏色發(fā)生變化 D)程序出錯 (33)窗體上有兩個名稱分別為Textl、Text2的文本框,一個名稱為Commandl的命令按鈕。設有如下的類型聲明 Type Person name As String*8 major As String*20 End Type 當單擊命令按鈕時,將兩個文本框中的內容寫入一個隨機文件Test.dat中。設文本框中的數(shù)據(jù)已正確地賦值給Person類型的變量p。則能夠正確地把數(shù)據(jù)寫入文件的程序段是( )。 A)Open "c:\Test.dat" For Random As #1 Put #1,1,p Close #1 B)Open "c:\Test.dat" For Random As #1 Get#1,1,p C10se #1 C)Open "c:\Test.dat" For Random As #1 Len =Len(p) Put #1,1,p Close #1 D)Open "c:\Test.dat " For Random As #1 Len =Len(p) Get #1,1,p CloSe #1 (34)函數(shù)過程F1的功能是:如果參數(shù)a為奇數(shù),則返回值為1,否則返回值為0。以下能正確實現(xiàn)所述功能的代碼的是( )。 A)Function F1(a As Integer) B)Function F1(a As Integer) If a Mod 2 = 0 Then If a Mod 2 = 0 Then Return Else Else Return End If End If End Function End Function C)Function F1(a As Integer) D)Function F1(a As Integer) If a Mod 2 = 0 Then If a Mod 2 <> 0 Then F1 = 1 Return 0 Else Else F1 = 0 Return 1 End If End If End Function End Function (35)假定在窗體(名稱為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命令執(zhí)行失敗 C)由于Put命令中沒有指明記錄號,因此每次都把記錄寫到文件的末尾 D)語句“Put #1, , rec”將animal類型的兩個數(shù)據(jù)元素寫到文件中 二、填空題(每空2分,共30分) (1)數(shù)據(jù)庫系統(tǒng)的主要特點為數(shù)據(jù)集成性、數(shù)據(jù)的高___________和低冗余性、數(shù)據(jù)獨立性和數(shù)據(jù)統(tǒng)一管理和控制。 (2)數(shù)據(jù)庫的邏輯模型設計階段的任務是將___________轉換成關系模式。 (3)在面向對象方法中,___________描述的是具有相似屬性與操作的一組對象。 (4)最簡單的交換排序方法是___________。 (5)在鏈表的運算過程中,能夠使空表與非空表的運算統(tǒng)一的結構是___________。 (6)設有一個有10個元素的數(shù)組,下列程序將該數(shù)組的第1個元素與第10個元素交換,第2個元素與第9個元素交換……,第5個元素與第6個元素交換,請?zhí)羁铡?/SPAN> Private Sub Command1_Click() Dim a(1 To 10) As Integer Dim i As Integer Dim p As Integer Dim t As Integer Dim j As Integer For i = 1 To 10 a(i) = i Next i For j = 1 To 5 t = a(j) ___________ ___________ Next j For i = 1 To 10 Print a(i) Next i End Sub (7)過程(Sub)和函數(shù)(Function)兩者中,___________可以有返回值。 (8)為了執(zhí)行鼠標自動拖放,必須把___________屬性設置為___________;而為了執(zhí)行手動拖放,必須把該屬性設置為___________。 (9)在窗體上有一個名稱為Text1的文本框,有三個單選按鈕,這三個單選按鈕構成一個控件數(shù)組,名稱為Option1。要求程序執(zhí)行時,如果單擊某個單選按鈕,則文本框中的字體將根據(jù)所選擇的單選按鈕切換,如圖所示。請?zhí)羁铡?/SPAN> Private Sub Option1_Click(Index As Integer) Select Case ___________ Case 0 a="宋體" Case 1 a="黑體" Case 2 a="楷體_GB2312" End Select Text1___________=a End Sub (10)下面程序的功能是將一個一維數(shù)組中的元素循環(huán)向右移動,每次移位次數(shù)由文本框Text中的輸入決定。例如,數(shù)組各元素的值依次為0,1,2,3,4,5,6,7,8,9,10;移動3次后,各元素的值依次為8,9,10,0,1,2,3,4,5,6,7。請將程序補充完整。 Private Sub MoveRight(x() As Integer) Dim i As Integer, j As Integer, k As Integer i = UBound(x) j = x(i) For k = i To ___________ Step -1 ___________ Next k x(LBound(x)) = j End Sub Private Sub Command1_Click() Dim a(10) As Integer Dim i As Integer, j As Integer, k As Integer For i = 0 To 10 a(i) = i Next i j = Val(Text1.Text) k = 0 Do k = k + 1 Call MoveRight(a) Loop Until k = j For i = 0 To 10 Print a(i); Next i End Sub 參考答案 一、選擇題 (1)A) (2)C) (3)D) (4)A) (5)D) (6)C) (7)B) (8)C) (9)C) (10)B) (11)D) (12)C) (13)B) (14)B) (15)B) (16)A) (17)B) (18)C) (19)D) (20)B) (21)B) (22)B) (23)D) (24)D) (25)D) (26)D) (27)B) (28)A) (29)C) (30)B) (31)A) (32)B) (33)C) (34)B) (35)C) 二、填空題 (1)共享性 (2)E-R圖 (3)類 (4)冒泡排序 (5)循環(huán)鏈表 (6)a(j)=a(11-j) a(11-j)=t (7)Function (8)DragMode 1 0 (9)Index FontName (10)1 x(i)=x(i-1)
|