![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
vb模擬試題 |
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)Visual Basic語(yǔ)言程序設(shè)計(jì)考前沖刺試卷(1) 一、選擇題(每題2分,共35題,70分) (1)下列選項(xiàng)中,不是算法的基本特征的是( )。 A)完整性 B)可行性 C)有窮性 D)擁有足夠的情報(bào) (2)結(jié)構(gòu)化分析方法是面向( )的自頂向下、逐步求精進(jìn)行需求分析的方法。 A)對(duì)象 B)數(shù)據(jù)結(jié)構(gòu) C)數(shù)據(jù)流 D)目標(biāo) (3)下列工具中為需求分析常用工具的是( )。 A)PAD B)PFD C)N-S D)DFD (4)線性表進(jìn)行二分法檢索,其前提條件是( )。 A)線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序 B)線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序 C)線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序 D)線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序 (5)下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是( )。 A)自頂向下 B)逐步求精 C)模塊化 D)可復(fù)用 (6)下列關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述中,錯(cuò)誤的是( )。 A)選用的結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口 B)復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn) C)不允許使用GOTO語(yǔ)句 D)語(yǔ)言中所沒(méi)有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來(lái)模擬 (7)軟件需求分析階段的工作,可以分為4個(gè)方面:需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)以及( )。 A)階段性報(bào)告 B)需求評(píng)審 C)總結(jié) D)都不正確 (8)下列關(guān)于軟件測(cè)試的描述中正確的是( )。 A)軟件測(cè)試的目的是證明程序是否正確 B)軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確 C)軟件測(cè)試的目的是盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤 D)軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則 (9)用鏈表表示線性表的優(yōu)點(diǎn)是( )。 A)便于隨機(jī)存取 B)花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少 C)便于插入和刪除操作 D)數(shù)據(jù)元素的物理順序和邏輯順序相同 (10)在數(shù)據(jù)庫(kù)設(shè)計(jì)中,將E-R圖轉(zhuǎn)換為關(guān)系模式的過(guò)程屬于( )。 A)需求分析階段 B)邏輯設(shè)計(jì)階段 C)概念設(shè)計(jì)階段 D)物理設(shè)計(jì)階段 (11)下列各種窗體事件中,不能由用戶觸發(fā)的事件是( )。 A)Load事件和Unload事件 B)Click事件和Unload事件 C)Click事件和DblClick事件 D)Load事件和Initialize事件 (12)關(guān)于變量作用域,下列敘述中正確的是( )。 A)在窗體的Form_Load事件過(guò)程中定義的變量是全局變量 B)局部變量的作用域可以超出所定義的過(guò)程 C)在某個(gè)Sub過(guò)程中定義的局部變量可以與其它事件過(guò)程中定義的局部變量同名,但其作用域只限于該過(guò)程 D)在調(diào)用過(guò)程中,所有局部變量被系統(tǒng)初始化為0或空字符串 (13)下列可作為Visual Basic變量名的是( )。 A)A#A B)constA C)?xy D) (14)設(shè)a="Visual Basic",下面語(yǔ)句中可使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ù)返回值的類(lèi)型為( )。 A)數(shù)值 B)字符串 C)變體 D)數(shù)值或字符串(視輸入的數(shù)據(jù)而定) (16)在文本框中,要設(shè)置顯示的文本顏色,應(yīng)該設(shè)置( )屬性。 A)ForeColor B)BackColor C)FillColor D)BackStyle (17)假定在圖片框Picturel中裝入了一個(gè)圖形,為了清除該圖形(注意,清除圖形,而不是刪除圖片框),應(yīng)采用的正確方法是( )。 A)選擇圖片框,然后按Del鍵 B)執(zhí)行語(yǔ)句Picturel.Picture = LoadPicture("") C)執(zhí)行語(yǔ)句Picturel.Picture = "" D)選擇圖片框,在屬性窗口中選擇Picture屬性條,然后按回車(chē)鍵 (18)為組合框Combo1增加一個(gè)列表項(xiàng)“電腦”,下列語(yǔ)句正確的是( )。 A)Combo1.Text = "電腦" B)Combo1.ListIndex = "電腦" C)Combo1.AddItem "電腦" D)Combo1.ListCount = "電腦" (19)以下敘述錯(cuò)誤的是( )。 A)滾動(dòng)條的重要事件是Change和Scroll B)框架的主要作用是將控件進(jìn)行分組,以完成各自相對(duì)獨(dú)立的功能 C)組合框是組合了文本框和列表框的特性而形成的一種控件 D)計(jì)時(shí)器控件可以通過(guò)對(duì)Visible屬性的設(shè)置,在程序運(yùn)行期間顯示在窗體上 (20)設(shè)a=5,b=6,c=7,d=8,執(zhí)行下列語(yǔ)句后,x的值為( )。 x=IIf((a>b) And (c>d),10,20) A)10 B) (21)下面程序運(yùn)行時(shí),單擊窗體后,窗體上顯示的結(jié)果是( )。 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)下列程序段錯(cuò)誤的是( )。 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)在窗體上畫(huà)一個(gè)命令按鈕(其Name屬性為Command1),然后編寫(xiě)如下代碼: 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 運(yùn)行上面的程序,單擊命令按鈕,其輸出結(jié)果是( )。 A)4321 B) (25)在窗體上用復(fù)制、粘貼的方法建立了一個(gè)命令按鈕數(shù)組,數(shù)組名為ComTest1。設(shè)窗體Form1標(biāo)題為“MyForml”,雙擊控件數(shù)組中的第3個(gè)按鈕,打開(kāi)代碼編輯器,編寫(xiě)如下代碼: Privae Sub Comtest1_Click(Index As Integer) Form1.Caption = "MyForm2" End Sub 運(yùn)行時(shí),單擊按鈕數(shù)組中的第1個(gè)按鈕,則窗體標(biāo)題顯示為( )。 A)Form1 B)ComTest1 C)MyForm1 D)MyForm2 (26)下列有關(guān)過(guò)程的敘述中錯(cuò)誤的是( )。 A)如果過(guò)程被定義為Static類(lèi)型,則該過(guò)程中的局部變量都是Static類(lèi)型 B)Sub過(guò)程中不能嵌套定義Sub過(guò)程 C)Sub過(guò)程中可以嵌套調(diào)用Sub過(guò)程 D)事件過(guò)程可以像通用過(guò)程一樣由用戶定義過(guò)程名 (27)運(yùn)行下面的程序,單擊命令按鈕,輸出結(jié)果為( )。 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屬性設(shè)置為True,然后編寫(xiě)如下兩個(gè)事件過(guò)程: 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鍵和鎖定大寫(xiě)),運(yùn)行程序,如果按“A”鍵,則程序的輸出是( )。 A)A B)a C)A D)a a A A a (29)關(guān)于MDI窗體下列說(shuō)法正確的是( )。 A)一個(gè)應(yīng)用程序可以有多個(gè)MDI窗體 B)子窗體可以移到MDI窗體以外 C)不可以在MDI窗體上放置按鈕控件 D)MDI窗體的子窗體不可擁有菜單 (30)窗體上有文本框Text1和一個(gè)菜單,菜單標(biāo)題、名稱(chēng)如表,結(jié)構(gòu)見(jiàn)圖。要求程序執(zhí)行時(shí)單擊"保存"菜單項(xiàng),則把其標(biāo)題顯示在Text1文本框中,下面可實(shí)現(xiàn)此功能的事件過(guò)程是( )。 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)下列程序的功能是調(diào)用字體對(duì)話框來(lái)設(shè)置文本框中的字體,單擊Command1按鈕彈出對(duì)話框,進(jìn)行相應(yīng)的字體、字號(hào)等的設(shè)置,然后單擊“確定”按鈕退出對(duì)話框,則將發(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)程序出錯(cuò) (33)窗體上有兩個(gè)名稱(chēng)分別為Textl、Text2的文本框,一個(gè)名稱(chēng)為Commandl的命令按鈕。設(shè)有如下的類(lèi)型聲明 Type Person name As String*8 major As String*20 End Type 當(dāng)單擊命令按鈕時(shí),將兩個(gè)文本框中的內(nèi)容寫(xiě)入一個(gè)隨機(jī)文件Test.dat中。設(shè)文本框中的數(shù)據(jù)已正確地賦值給Person類(lèi)型的變量p。則能夠正確地把數(shù)據(jù)寫(xiě)入文件的程序段是( )。 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ù)過(guò)程F1的功能是:如果參數(shù)a為奇數(shù),則返回值為1,否則返回值為0。以下能正確實(shí)現(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)假定在窗體(名稱(chēng)為Form1)的代碼窗口中定義如下記錄類(lèi)型: Private Type animal AnimalName As String * 20 AColor As String * 10 End Type 在窗體上畫(huà)一個(gè)名稱(chēng)為Command1的命令按鈕,然后編寫(xiě)如下事件過(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 則以下敘述中正確的是( )。 A)記錄類(lèi)型animal不能在Form1中定義,必須在標(biāo)準(zhǔn)模塊中定義 B)如果文件c:\vbTest.dat不存在,則Open命令執(zhí)行失敗 C)由于Put命令中沒(méi)有指明記錄號(hào),因此每次都把記錄寫(xiě)到文件的末尾 D)語(yǔ)句“Put #1, , rec”將animal類(lèi)型的兩個(gè)數(shù)據(jù)元素寫(xiě)到文件中 二、填空題(每空2分,共30分) (1)數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高___________和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。 (2)數(shù)據(jù)庫(kù)的邏輯模型設(shè)計(jì)階段的任務(wù)是將___________轉(zhuǎn)換成關(guān)系模式。 (3)在面向?qū)ο蠓椒ㄖ校?/SPAN>___________描述的是具有相似屬性與操作的一組對(duì)象。 (4)最簡(jiǎn)單的交換排序方法是___________。 (5)在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是___________。 (6)設(shè)有一個(gè)有10個(gè)元素的數(shù)組,下列程序?qū)⒃摂?shù)組的第1個(gè)元素與第10個(gè)元素交換,第2個(gè)元素與第9個(gè)元素交換……,第5個(gè)元素與第6個(gè)元素交換,請(qǐng)?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)過(guò)程(Sub)和函數(shù)(Function)兩者中,___________可以有返回值。 (8)為了執(zhí)行鼠標(biāo)自動(dòng)拖放,必須把___________屬性設(shè)置為___________;而為了執(zhí)行手動(dòng)拖放,必須把該屬性設(shè)置為___________。 (9)在窗體上有一個(gè)名稱(chēng)為Text1的文本框,有三個(gè)單選按鈕,這三個(gè)單選按鈕構(gòu)成一個(gè)控件數(shù)組,名稱(chēng)為Option1。要求程序執(zhí)行時(shí),如果單擊某個(gè)單選按鈕,則文本框中的字體將根據(jù)所選擇的單選按鈕切換,如圖所示。請(qǐng)?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)下面程序的功能是將一個(gè)一維數(shù)組中的元素循環(huán)向右移動(dòng),每次移位次數(shù)由文本框Text中的輸入決定。例如,數(shù)組各元素的值依次為0,1,2,3,4,5,6,7,8,9,10;移動(dòng)3次后,各元素的值依次為8,9,10,0,1,2,3,4,5,6,7。請(qǐng)將程序補(bǔ)充完整。 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)類(lèi) (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)
|