1. <th id="r4edf"></th>
        <rp id="r4edf"></rp><th id="r4edf"></th>

        • 全國計算機等級考試二級筆試樣卷Visual Basic語言程序設計

          發布時間:2009-03-03                    來源:教育部考試中心

            選擇題(每小題2分,共70分)

            下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上,答在試卷上不得分。

            (1)下列選項中不符合良好程序設計風格的是

            A) 源程序要文檔化      B) 數據說明的次序要規范化

            C) 避免濫用goto語句   D) 模塊設計要保證高耦合、高內聚

            (2)從工程管理角度,軟件設計一般分為兩步完成,它們是

            A) 概要設計與詳細設計  B) 數據設計與接口設計

            C) 軟件結構設計與數據設計  D) 過程設計與數據設計

            (3)下列選項中不屬于軟件生命周期開發階段任務的是

            A)軟件測試     B)概要設計 C)軟件維護 D)詳細設計

            (4)在數據庫系統中,用戶所見的數據模式為

            A) 概念模式    B)外模式  C)內模式   D)物理模式

            (5)數據庫設計的四個階段是:需求分析、概念設計、邏輯設計和

            A) 編碼設計    B) 測試階段    C)運行階段 D)物理設計

            (6)設有如下三個關系表

           

              下列操作中正確的是

            A)T=R∩S      B)T=R∪S

            C)T=R×S      D)T=R/S

            (7)下列敘述中正確的是

            A)一個算法的空間復雜度大,則其時間復雜度也必定大

            B)一個算法的空間復雜度大,則其時間復雜度必定小

            C)一個算法的時間復雜度大,則其空間復雜度必定小

            D)上述三種說法都不對

            (8)在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數為

            A)63   B)64   C)6    D)7

            (9)數據庫技術的根本目標是要解決數據的

            A)存儲問題 B)共享問題 C)安全問題        D)保護問題

            (10)對下列二叉樹

            

            進行中序遍歷的結果是

            A)ACBDFEG  B)ACBDFGE  C)ABDCGEF  D)FCADBEG

            (11)以下敘述中正確的是

            A)窗體的Name 屬性指定窗體的名稱,用來標識一個窗體

            B)窗體的Name 屬性值是顯示在窗體標題欄中的文本

            C)可以在運行期間改變窗體的Name 屬性的值

            D)窗體的Name 屬性值可以為空

            (12)以下敘述中錯誤的是

            A)打開一個工程文件時,系統自動裝入與該工程有關的窗體文件

            B)保存Visual Basic程序時,應分別保存窗體文件及工程文件

            C)Visual Basic應用程序只能以解釋方式執行

            D)窗體文件包含該窗體及其控件的屬性

            (13)設a = 2, b = 3, c = 4, 下列表達式的值是

            Not a <= c Or 4*c = b^2 And b <> a + c

            A)-1   B)1    C)True D)False

            (14)設有如下的用戶定義類型:

            Type Student

            number As String

            name As String

            age As Integer

            End Type

            則以下正確引用該類型成員的代碼是

            A)Student.name = "李明"    B)Dim s As Student

            s.name = "李明"

            C)Dim s As Type Student    D)Dim s As Type

            s.name = "李明"             s.name = "李明"

            (15)設a = 5,b = 6,c = 7,d = 8,執行下列語句后,x的值為

            x = IIf((a > b) And (c > d), 10, 20)

            A)10   B)20   C)True D)False

            (16)執行以下程序段后,變量c$的值為

            a$ = "Visual Basic Programming"

            b$ = "Quick"

            c$ = b$ & UCase(Mid$(a$, 7, 6)) & Right$(a$, 12)

            A)Visual BASIC Programming B)Quick Basic Programming

            C)QUICK Basic Programming D)Quick BASIC Programming

            (17)在窗體上畫一個文本框(其名稱為Text1)和一個標簽(其名稱為Label1),程序運行后,如果在文本框中輸入指定的信息,則立即在標簽中顯示相同的內容。以下可以實現上述操作的事件過程是

            A)Private Sub Text1_Click()   B)Private Sub Text1_Change()

                 Label1.Caption = Text1.Text        Label1.Caption = Text1.Text

               End Sub        End Sub

            C)Private Sub Label1_Change() D)Private Sub Label1_Click()

                 Label1.Caption = Text1.Text        Label1.Caption = Text1.Text

               End Sub        End Sub

            (18)在窗體上畫一個命令按鈕和一個標簽,其名稱分別為Command1和Label1,然后編寫如下事件過程:

              Private Sub Command1_Click()

                 Counter = 0

                 For i = 1 To 4

                    For j = 6 To 1 Step -2

                         Counter = Counter + 1

                    Next j

                 Next i

                 Label1.Caption = Str(Counter)

               End Sub

            程序運行后,單擊命令按鈕,標簽中顯示的內容是

            A) 11  B)12   C) 16  D)20

            (19)在窗體上畫一個名稱為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)5    B)4    C)3    D)2

            (20)在窗體上畫一個命令按鈕和兩個標簽,其名稱分別為Command1、Label1和Label2,然后編寫如下事件過程:

             Private Sub Command1_Click()

                 a = 0

                 For i = 1 To 10

                     a = a + 1

                     b = 0

                     For j = 1 To 10

                         a = a + 1

                         b = b + 2

                     Next j

                   Next i

                   Label1.Caption = Str(a)

                   Label2.Caption = Str(b)

              End Sub

            程序運行后,單擊命令按鈕,在標簽Label1和Label2中顯示的內容分別是

            A)10和20  B)20和110 C)200和110    D)110和20

            (21)在窗體上畫一個名稱為List1的列表框,一個名稱為Label1的標簽,列表框中顯示若干城市的名稱。當單擊列表框中的某個城市名時,該城市名從列表框中消失,并在標簽中顯示出來。下列能正確實現上述操作的程序是

            A)Private Sub List1_Click()    B)Private Sub List1_Click()

                 Label1.Caption = List1.ListIndex        Label1. Name = List1. ListIndex

                 List1.RemoveItem List1.Text         List1.RemoveItem List1.Text

              End Sub         End Sub

            C)Private Sub List1_Click()    D)Private Sub List1_Click()

                 Label1.Caption = List1.Text         Label1.Name = List1.Text

                 List1.RemoveItem List1.ListIndex        List1.RemoveItem List1.ListIndex

               End Sub         End Sub

            (22)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:

            Private Sub Command1_Click()

                Dim i As Integer, j As Integer

                Dim a(10, 10) As Integer

                For i = 1 To 3

                   For j = 1 To 3

                      a(i, j) = (i - 1) * 3 + j

                      Print a(i, j);

                   Next j

                   Print

                 Next i

               End Sub

            程序運行后,單擊命令按鈕,窗體上顯示的是

            A) 1  2  3

                  

                  2  4  6

                  3  6  9

            B)  2  3  4

                 

                 3  4  5

                 4  5  6

            C) 1  4  7

           

                  2  5  8

                  3  6  9

            D)1  2  3

            

               4  5  6

               7  8  9

            (23)在窗體上畫一個命令按鈕,名稱為Command1,然后編寫如下代碼:

            Option Base 0

            Private Sub Command1_Click()

                 Dim A(4) As Integer,B(4) As Integer

                 For k = 0 To 2

                     A(k + 1) = InputBox("請輸入一個整數")

                     B(3 - k) = A(k + 1)

                 Next k

                 Print B(k)

            End Sub

            程序運行后,單擊命令按鈕,在輸入對話框中分別輸入2、4、6,輸出結果為

            A)0    B)2    C)3    D)4

            (24)有以下程序:

            Option Base 1

            Dim arr() As Integer

            Private Sub Form_Click()

                 Dim i As Integer, j As Integer

                 ReDim arr(3, 2)

                 For i = 1 To 3

                     For j = 1 To 2

                         arr(i, j) = i * 2 + j

                      Next j

                 Next i

                 ReDim Preserve arr(3, 4)

                 For j = 3 To 4

                     arr(3, j) = j + 9

                 Next j

                 Print arr(3, 2); arr(3, 4)

             End Sub

            程序運行后,單擊窗體,輸出結果為

            A)8  13    B)0  13    C)7  12    D)0  0

            (25)以下敘述中正確的是

            A)一個Sub過程至少要有一個Exit Sub語句

            B)一個Sub過程必須有一個End Sub語句

            C)可以在Sub過程中定義一個Function過程,但不能定義Sub過程

            D)調用一個Function過程可以獲得多個返回值

            (26)有以下程序:

            Sub subP(b() As Integer)

                For i = 1 To 4

                   b(i) = 2 * i

                Next i

            End Sub

            Private Sub Command1_Click()

                Dim a(1 To 4) As Integer

                a(1) = 5

                a(2) = 6

                a(3) = 7

                a(4) = 8

                subP a()

                For i = 1 To 4

                    Print a(i)

                Next i

             End Sub

            運行上面的程序,單擊命令按鈕,輸出結果為      

            A)     2

                     4

                     6

                     8

            B)    5

                     6

                     7

                     8

            C)    10

                     12

                     14

                     16

             D)    出錯

            (27)設有如下通用過程:

            Public Function Fun(xStr As String) As String

                Dim tStr As String, strL As Integer

                tStr = ""

                strL = Len(xStr)

                i = 1

                Do While i <= strL / 2

                    tStr = tStr & Mid(xStr, i, 1) & Mid(xStr, strL - i + 1, 1)

                    i = i + 1

                Loop

                Fun = tStr

             End Function

               在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕。然后編寫如下的事件過程:

            Private Sub Command1_Click()

                Dim S1 As String

                S1 = "abcdef"

                Text1.Text = UCase(Fun(S1))

            End Sub

                程序運行后,單擊命令按鈕,則Text1中顯示的是

                A)ABCDEF   B)abcdef   C)AFBECD   D)DEFABC

            (28)在窗體上畫一個名稱為TxtA的文本框,然后編寫如下的事件過程:

                Private Sub TxtA_KeyPress(KeyAscii As Integer)

                    ......

                End Sub

               假定焦點已經位于文本框中,則能夠觸發KeyPress事件的操作是

            A)單擊鼠標     B)雙擊文本框

            C)鼠標滑過文本框       D)按下鍵盤上的某個鍵

            (29)在窗體上畫一個命令按鈕和兩個文本框,其名稱分別為Command1、Text1和Text2,然后編寫如下程序:

            Dim S1 As String, S2 As String

            Private Sub Form_Load()

                Text1.Text = ""

                Text2.Text = ""

              End Sub

            Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

                S2 = S2 & Chr(KeyCode)

             End Sub

            Private Sub Text1_KeyPress(KeyAscii As Integer)

                S1 = S1 & Chr(KeyAscii)

              End Sub

            Private Sub Command1_Click()

                Text1.Text = S2

                Text2.Text = S1

                S1 = ""

                S2 = ""

            End Sub

               程序運行后,在Text1中輸入“abc”,然后單擊命令按鈕,在文本框Text1和Text2中顯示的內容分別為

               A)abc和ABC    B)abc和abc    C)ABC和abc    D)ABC和ABC

            (30)以下說法中正確的是

            A)任何時候都可以通過執行“工具”菜單中的“菜單編輯器”命令打開菜單編輯器

            B)只有當某個窗體為當前活動窗體時,才能打開菜單編輯器

            C)任何時候都可以通過單擊標準工具欄上的“菜單編輯器”按鈕打開菜單編輯器

            D)只有當代碼窗口為當前活動窗口時,才能打開菜單編輯器

            (31)在窗體上畫一個通用對話框,其名稱為CommonDialog1,然后畫一個命令按鈕,并編寫如下事件過程:

            Private Sub Command1_Click()

            CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & _

                        "(*.txt)|*.txt| Executable Files(*.exe)|*.exe"

               CommonDialog1.FilterIndex = 3

               CommonDialog1.ShowOpen

               MsgBox CommonDialog1.FileName

            End Sub

            程序運行后,單擊命令按鈕,將顯示一個“打開”對話框,此時在“文件類型”框中顯示的是

            A)All Files(*.*)       B)Text Files(*.txt)

            C)Executable Files(*.exe)  D)不確定

            (32)以下敘述中錯誤的是

            A)一個工程中可以包含多個窗體文件

            B)在一個窗體文件中用Public定義的通用過程不能被其他窗體調用

            C)窗體和標準模塊需要分別保存為不同類型的磁盤文件

            D)用Dim定義的窗體層變量只能在該窗體中使用

            (33)以下敘述中錯誤的是

            A)語句“Dim a, b As Integer”聲明了兩個整型變量

            B)不能在標準模塊中定義Static型變量

            C)窗體層變量必須先聲明,后使用

            D)在事件過程或通用過程內定義的變量是局部變量

            (34)設有語句:Open "d:\Test.txt" For Output  As #1 ,以下敘述中錯誤的是

            A)若d盤根目錄下無Test.txt文件,則該語句創建此文件

            B)用該語句建立的文件的文件號為1

            C)該語句打開d盤根目錄下一個已存在的文件Test.txt,之后就可以從文件中讀取信息

            D)執行該語句后,就可以通過Print #語句向文件Test.txt中寫入信息

            (35)以下敘述中錯誤的是

            A)順序文件中的數據只能按順序讀寫

            B)對同一個文件,可以用不同的方式和不同的文件號打開

            C)執行Close語句,可將文件緩沖區中的數據寫到文件中

            D)隨機文件中各記錄的長度是隨機的

            二、填空題(每空2分,共30分)

            請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。

            (1)下列軟件系統結構圖

            的寬度為  【1】  。

            (2)  【2】  的任務是診斷和改正程序中的錯誤。

            (3)一個關系表的行稱為   【3】   。

            (4)按“先進后出”原則組織數據的數據結構是  【4】    。

            (5)數據結構分為線性結構和非線性結構,帶鏈的隊列屬于  【5】   。

            (6)描述“X是小于100的非負整數”的Visual Basic表達式是 【6】  。

            (7)在窗體上有一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框。程序運行后,Command1為禁用(灰色),此時如果在文本框中輸入字符,則命令按鈕Command1變為可用。請填空。

            Private Sub Form_Load()

                Command1.Enabled = False

            End Sub

            Private Sub Text1_  【7】 ()   

                Command1.Enabled = True

            End Sub

            (8)在窗體上畫一個名稱為“Command1”的命令按鈕,然后編寫如下事件過程:

            Private Sub Command1_Click()

                Dim a As String

                a = "123456789"

                For i = 1 To 5

                   Print Space(6 - i); Mid$(a,  【8】 , 2 * i - 1)

                Next i

            End Sub

            程序運行后,單擊命令按鈕,窗體上的輸出結果是

                5

               456

              34567

             2345678

            123456789

            請填空。

            (9)以下程序的功能是:將一維數組A中的100個元素分別賦給二維數組B的每個元素并打印出來,要求把A(1)到A(10)依次賦給B(1,1)到B(1,10),把A(11)到A(20)依次賦給B(2,1)到B(2,10),……,把A(91)到A(100)依次賦給B(10,1)到B(10,10)。請填空。

            Option Base 1

            Private Sub Form_Click()

            Dim i As Integer, j As Integer

            Dim A(1 To 100) As Integer

            Dim B(1 To 10, 1 To 10) As Integer

            For i = 1 To 100

            A(i) = Int(Rnd * 100)

            Next i

            For i = 1 To   【9】

               For j = 1 To  【10】

                   B(i, j) =  【11】

                   Print B(i, j);

                Next j

                Print

              Next i

            End Sub

            (10)在窗體上畫一個名稱為Combo1的組合框,然后畫兩個名稱分別為Label1、Label2,標題分別為“城市名稱”和空白的標簽。程序運行后,在組合框中輸入一個新項目并按回車鍵,如果輸入的項目在組合框的列表中不存在,則自動將其添加到組合框的列表中,并在Label2中給出提示“已成功添加新輸入項。”,如圖所示。如果輸入的項目已存在,則在Label2中給出提示“輸入項已在組合框中。”。請填空。

            Private Sub Combo1_KeyPress(KeyAscii As Integer)

               If KeyAscii = 13 Then

                 For i = 0 To Combo1.ListCount - 1

                   If Combo1.Text =  【12】  Then

                      Label2.Caption = "輸入項已在組合框中。"

                      Exit Sub

                   End If

                Next i

                Label2.Caption = "已成功添加新輸入項。"

                Combo1. 【13】  Combo1.Text

               End If

              End Sub

            (11)在窗體上畫一個命令按鈕和一個文本框,其名稱分別為Command1和Text1,然后編寫如下事件過程:

            Private Sub Command1_Click()

                Dim inData As String

                Text1.Text = ""

                Open "d:\myfile.txt" For  【14】  As #1

                Do While  【15】  

                    Input #1, inData

                    Text1.Text = Text1.Text + inData

                Loop

                Close  #1

            End Sub

            程序的功能是,打開D盤根目錄下的文本文件myfile.txt,讀取它的全部內容并顯示在文本框中。請填空。

        丰满农村熟女大码