2015年3月全國計算機二級VB選擇題真題第1套 |
||||||||||||||||||||||||
38 1.下列敘述中正確的是,, A.解決同一個問題的不同算法的時間復雜度一般是不同的 B.解決同一個問題的不同算法的時間復雜度必定是相同的 C.對同一批數據作同一種處理,如果數據存儲結構不同,不同算法的時間復雜度肯定相同 D.對同一批數據作不同的處理,如果數據存儲結構相同,不同算法的時間復雜度肯定相同 2.下列處理中與隊列有關的是 A.操作系統中的作業調度 B.執行程序中的過程調用 C.執行程序中的循環控制 D.二叉樹的遍歷 3.設棧的存儲空間為S(1:m),初始狀態為top=m+1。經過一系列入棧與退棧操作后,top=1,F又要將一個元素進棧,棧頂指針top值變為 A.發生棧滿的錯誤 B.2 C.m D.0 4.設二叉樹共有150個結點,其中度為1的結點有10個,則該二叉樹中的葉子結點數為 A.71 B.70 C.69 D.不可能有這樣的二叉樹 5.非空循環鏈表所表示的數據結構 A.有根結點也有葉子結點 B.沒有根結點但有葉子結點 C.有根結點但沒有葉子結點 D.沒有根結點也沒有葉子結點 6.設二叉樹中共有31個結點,其中的結點值互不相同。如果該二叉樹的后序序列與中序序列相同,則該二叉樹的深度為 A.31 B.16 C.17 D.5 7.在最壞情況下,堆排序的時間復雜度是 A. B. C. D. 8.軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于系統軟件的是 A.學籍管理系統 B.ERP系統 C.C編譯程序 D.CAI軟件 9.存儲在計算機內有結構的數據集合是 A.數據庫 B.數據庫系統 C.數據庫管理系統 D.數據結構 10.在數據庫技術中,為提高數據庫的邏輯獨立性和物理獨立性,數據庫的結構被劃分成用戶級、存儲級和 A.概念級 B.外部級 C.管理員級 D.內部級 11.以下敘述中錯誤的是( )。 A.一個Visual Basic應用程序可以包含一或多個工程 B.一個Sub過程內不能嵌套定義另一個Sub過程 C.MsgBox函數的返回值與在對話框中所單擊的按鈕有關,為一整數 D.Visual Basic應用程序只能以解釋方式執行 12.下列說法中錯誤的是( )。 A.事件是Visual Basic預置的,且能夠被對象識別的動作 B.事件過程是指響應某個事件后執行的一段程序代碼 C.一個對象可以識別一個或多個事件 D.Visual Basic是采用對象驅動編程機制的語言 13.N260010342) 下面是Visual Basic合法變量名的是( ) A.PrintA B.10B C.Debug D.B#C 14.以下不是Visual Basic合法常量的是( )。 A.'a' B.&O12 C.&H12& D.#1/20/2014# 15.以下敘述中,錯誤的是( )。 A.MsgBox函數的返回值為一整數 B.InputBox函數的返回值類型由用戶在輸入對話框中輸入數據的類型決定 C.有語句:x = InputBox("輸入:", "輸入整數"),則該語句打開的對話框的標題是"輸入整數" D.可以用MsgBox函數輸出一條信息 16.在運行時,如果按Tab鍵跳過了一個可以獲得焦點的控件(如文本框),其原因可能是( )。 A.該控件的TabStop屬性值為True B.該控件的TabStop屬性值為False C.該控件的Enabled屬性值為True D.該控件的Locked屬性值為True 17.下列符號常量聲明中,不合法的是( )。 A. Const conx = "ok" B.Const conx& = 20 C.Const conx As Integer = 20 D.Const conx = Int(20.67) 18. A.Sin ^ 2 * (x + y) + Exp(5) B.Sin ^ 2 * (x + y) + e ^ 5 C.Sin(x + y) ^ 2 + e ^ 5 D.Sin(x + y) ^ 2 + Exp(5) 19.在窗體上畫一個文本框、一個標簽,其名稱分別為Text1、Label1,然后編寫如下事件過程: Private Sub Text1_Change() Label1.Caption = UCase(Mid(Trim(Text1.Text), 7, 3)) End Sub 程序運行時,如果在文本框中輸入字符串“VisualBasic計算機等級考試”,則在標簽Label1中顯示的內容是( )。 A.asi B.ASI C.Bas D.BAS 20.下面說法中正確的是( )。 A.設a=5,b=3,c=1,則執行語句Print a>b>c后的輸出結果為False B.語句Const x As Double = Sqr(2)能夠定義一個符號常量x C.在過程中,要定義可選參數,應使用的關鍵字是ParamArray D.用Static定義的變量,其值在程序運行過程中始終存在,因此,該種類型的變量是全局變量 21.程序運行時若單擊水平滾動條上滾動塊右邊的空白處,則其Value屬性值的變化量為( )。 A.LargeChange屬性的值 B.Min屬性的值 C.Max屬性的值 D.SmallChange屬性的值 22.設窗體上有一個文本框Text1,程序代碼中有以下賦值語句(假定用到的控件和變量都存在),其中錯誤的是( )。 A.Text1.MaxLength = 30 B.Text1.Text = 89 C.Text1.Caption = 89 D.Text1.FontBold = True 23.設組合框 Combo1 中有 5 個項目,則以下能刪除最后一項的語句是( ) A.Combo1.RemoveItem 4 B.Combo1.RemoveItem 5 C.Combo1.RemoveItem Combo1.ListCount+1 D.Combo1.RemoveItem Combo1.ListCount 24.假定列表框List1中沒有被選中的項目,則執行 List1.RemoveItem List1.ListIndex 語句的結果是( )。 A.刪除最后加入列表中的一項 B.刪除最后一項 C.出錯 D.刪除第一項 25.假定Picture1和Text1分別為圖片框和文本框的名稱,則下列語句中錯誤的是( )。 A.Print 100 B.Text1.Print 100 C.Debug.Print 100 D.Picture1.Print 100 26.下列敘述中,正確的是( )。 A.框架控件的標題不能在程序運行過程中修改 B.標簽中顯示的文本在運行階段不能改變 C.組合框是組合文本框和列表框的特性而成的控件,所以它具有二者的全部屬性 D.文本框可以顯示多行文本 27.設窗體上有一個列表框控件List1,含有若干列表項。以下能表示當前被選中的列表項內容的是( ) A.List1.List B.List1.ListIndex C.List1.Text D.List1.Text 28.若在窗體上畫了一個名稱為List1的列表框,并編寫了如下事件過程: Private Sub Form_Load ( ) List1.AddItem "數學" List1.AddItem "物理" List1.AddItem "化學" List1.AddItem "外語" List1.AddItem "語文" End Sub Private Sub Form_Click() List1.RemoveItem 1 List1.RemoveItem 2 End Sub 運行程序后,單擊窗體,則列表框中顯示的項目是( )。 A.數學 化學 語文 B.數學 外語 語文 C.化學 外語 語文 D.物理 外語 語文 29.有如下程序代碼: Private Sub Form_Click() X = 8 If X > 8 Then Print "X > 8" ElseIf X < 10 Then Print "X < 10" ElseIf X = 8 Then Print "X = 8" End If End Sub 運行程序,單擊窗體,輸出結果是( )。 A.X < 10 X = 8 B.X < 10 C.X = 8 D.不確定 30..在窗體上畫一個名稱為Label1的標簽,然后編寫如下事件過程: Private Sub Form_Click() Dim S As Integer S = 0 For i = 1 To 15 x = 2 * i - 1 If x Mod 3 = 0 Then S = S + 1 End If Next i Label1.Caption = S End Sub 運行程序,單擊窗體,標簽中顯示的是( )。 A.5 B.1 C.27 D.45 31.有如下程序段: s = 0 For i = 1 To 10 s = s + i Next i Print s 與上述程序段輸出結果相同的程序段為( )。 A.s = 0: i = 0 While i <= 10 i = i + 1 s = s + i Wend Print s B. s = 0: i = 1 While i < 10 i = i + 1 s = s + i Wend Print s C.s = 0: i = 1 Do s = s + i i = i + 1 Loop While i < 10 Print s D.s = 0: i = 1 Do s = s + i i = i + 1 Loop Until i > 10 Print s 32.運行如下程序 Private Sub Command1_Click() Dim a(5, 5) As Integer For i = 1 To 5 For j = 1 To 4 a(i, j) = i * 2 + j If a(i, j) / 7 = a(i, j) \ 7 Then n = n + 1 End If Next j Next Print n End Sub 則n的值是( ) A.2 B.3 C.4 D.5 33.要求函數的功能是:從參數str字符串中刪除所有參數ch所指定的字符,返回實際刪除字符的個數,刪除后的字符串仍在str中,為此某人編寫了函數DelChar如下: Function DelChar(str As String, ch As String) As Integer Dim n%, st$, c$ st = "" n = 0 For k = 1 To Len(str) c = Mid(str, k, 1) If c = ch Then st = st & c Else n = n + 1 End If Next k str = st DelChar = n End Function 并用下面的Command1_Click()過程觀察函數調用結果 Private Sub Command1_Click() ch$ = Text1.Text Print DelChar(ch, "x"), ch End Sub 發現結果有錯誤,程序代碼需要修改,以下正確的修改方案是( )。 A.把語句If c = ch Then 改為If c <> ch Then B.把語句Print DelChar(ch, "x"), ch改為Print DelChar(ch, "x") :Print ch C.把語句DelChar = n 改為 DelChar = st D.刪掉語句str = st 34.如果窗體模塊A中有一個過程: Private Sub Proc( ) …… End Sub 則下面敘述中錯誤的是( )。 A.在標準模塊中不能調用此過程 B.在窗體模塊B中可以有與此相同名稱的過程 C.窗體模塊A中任何其他過程都可以調用此過程 D.在窗體模塊B中可以調用此過程 35.對于通用對話框控件,下列說法中錯誤的是( )。 A.DefaultEXT和DialogTitle屬性只用于打開對話框,不能用于保存對話框 B.用通用對話框控件可以建立打開文件對話框,也可以建立保存文件對話框 C.用打開文件對話框可以指定一個文件,由程序使用 D.用保存文件對話框可以指定一個文件,由程序使用 36.利用菜單編輯器在窗體中新建一個名稱為mnuOpen的彈出式菜單,其中含有若干個菜單項,并編寫如下事件過程: Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then _________________ End If End Sub 程序運行過程中,當在窗體上單擊鼠標右鍵時,顯示已建立的mnuOpen菜單,則在以上程序代碼中的橫線處應填入的語句是( )。 A.mnuOpen.Show B.mnuOpen.PopupMenu C.PopupMenu mnuOpen D.Show mnuOpen 37.設窗體上無任何控件,且有如下程序代碼: Private Sub Form_KeyPress(KeyAscii As Integer) Print Chr(KeyAscii) End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Print Chr(KeyCode) End Sub 運行程序,直接按“A”鍵,輸出結果是( )。 A.A A B.A a C.a A D.a a 38.在窗體Form1上畫一個名稱為Command1的命令按鈕,編寫如下程序代碼: Private Type stu sn As String * 20 class As String * 20 End Type Private Sub Command1_Click() Dim s As stu Open "c:\allstu.dat" For Random As #1 Len = Len(s) s.sn = "John" s.class = "Computer 2013" Put #1, , s Close #1 End Sub 則以下敘述中正確的是( )。 A.定義記錄類型stu的Type語句可以移到事件過程Command1_Click中 B.如果文件c:\allstu.dat不存在,則Open語句執行中出現"文件未找到"的錯誤 C.文件c:\allstu.dat中的每條記錄是等長的 D.語句“Put #1, , s”中沒有指明記錄號,因此系統總是把記錄寫到文件的頭部 39.Print #語句的作用是( )。 A.向隨機文件中寫數據 B.向順序文件中寫數據 C.向窗體上輸出數據 D.從順序文件中讀入數據 40.在Visual Basic工程中,可以作為“啟動對象”的是( )。 A. Sub Main過程 B.任何過程 C.在標準模塊中專門定義的啟動過程 D.Sub Main過程以及任何過程 1.A 算法的時間復雜度是指執行算法所需要的計算工作量,而計算工作量是用算法所執行的基本運算次數來度量的。解決同一個問題的不同算法的時間復雜度,可能相同也可能不相同。 算法的時間復雜度與數據存儲結構無關,對同一批數據作同一種處理或者不同處理,數據存儲結構相同或者不同,算法的時間復雜度都可能相同或者不同。 故選A選項 2.A 隊列是指允許在一端進行插入,而在另一端進行刪除的線性表。由于最先進入隊列的元素將最先出隊,所以隊列具有“先進先出”的特性,體現了“先來先服務”的原則。 作業調度是指根據一定信息,按照一定的算法,從外存的后備隊列中選取某些作業調入內存分配資源并將新創建的進程插入就緒隊列的過程。 執行程序中的過程調用一般指函數調用,需要調用時候轉入被調用函數地址執行程序,與隊列無關。 執行程序中的循環控制是指算法的基本控制結構,包括對循環條件的判定與執行循環體,與隊列無關。 二叉樹是一個有限的結點集合,二叉樹的遍歷是指不重復地訪問二叉樹中的所有結點,與隊列無關。 故本題選擇A選項 3.A 棧是一種特殊的線性表,它所有的插入與刪除都限定在表的同一端進行。入棧運算即在棧頂位置插入一個新元素,退棧運算即是取出棧頂元素賦予指定變量。題目中初始狀態為top=m+1,可知入棧棧頂指針top=top-1, 出棧棧頂指針top=top+1,由于棧長為m,當top=1時棧滿,不能再進行入棧操作。故選A選項 4.D 在樹結構中,一個結點所擁有的后件個數稱為該結點的度,所有結點中最大的度稱為樹的度。對任何一棵二叉樹,度為0的結點總是比度為2的結點多一個。 如果有一棵二叉樹,結點總數為150,假設度為0的結點個數為n,則有n+10+n-1=150,n=70.5,由于結點個數必須是整數,所以不可能有題目中這樣的二叉樹。故選擇D選項 5.A 在單鏈表的第一個結點前增加一個表頭結點,隊頭指針指向表頭結點,最后一個結點的指針域的值由NULL改為指向表頭結點,這樣的鏈表稱為循環鏈表。循環鏈表是線性結構,有且只有一個根結點,每一個結點最多有一個前件,也最多有一個后件。 循環鏈表表頭結點為根結點,鏈表的最后一個結點為葉子節點,雖然它含有一個指向表頭結點的指針,但是表頭結點并不是它的一個后件。故選擇A選項 6.A 二叉樹遍歷可以分為3種:前序遍歷(訪問根結點在訪問左子樹和訪問右子樹之前)、中序遍歷(訪問根結點在訪問左子樹和訪問右子樹兩者之間)、后序遍歷(訪問根結點在訪問左子樹和訪問右子樹之后)。 由結點值互不相同而后序序列與中序序列相同,可知該二叉樹所有的結點都沒有右子樹,所以31個結點的二叉樹深度為31。 故選A選項。 7.B 若有n個元素的序列,將元素按順序組成一棵完全二叉樹,當且僅當滿足下列條件時稱為堆,大根堆是指所有結點的值大于或等于左右子結點的值;小根堆是指所有結點的值小于或等于左右子結點的值。在調整建堆的過程中,總是將根結點值與左、右子樹的根結點進行比較,若不滿足堆的條件,則將左、右子樹根結點值中的大者與根結點值進行交換。堆排序最壞情況需要次比較,所以時間復雜度是,B選項正確 8.C 計算機軟件按功能分為應用軟件、系統軟件、支撐軟件(或工具軟件)。 系統軟件是管理計算機的資源,提高計算機的使用效率,為用戶提供各種服務的軟件。應用軟件是為了應用于特定的領域而開發的軟件。支撐軟件介于系統軟件和應用軟件之間,協助用戶開發軟件的工具型軟件,其中包括幫助程序人員開發和維護軟件產品的工具軟件,也包括幫助管理人員控制開發進程和項目管理的工具軟件,如Dephi、PowerBuilder等。選項C屬于系統軟件,選項A、B、D屬于應用軟件,故選C選項 9.A 數據庫是指長期存儲在計算機內的、有組織的、可共享的數據集合。 數據庫系統是由數據庫及其管理軟件組成的系統,是應用軟件。 數據庫管理系統是數據庫系統的核心,它位于用戶與操作系統之間,屬于系統軟件。 數據結構是計算機存儲、組織數據的方式。故本題選A選項 10.A 數據庫系統在其內部分為三級模式,即概念模式、內模式和外模式。 概念模式是數據庫系統中全局數據邏輯結構的描述,全體用戶的公共數據視圖。 外模式也稱子模式或者用戶模式,是用戶的數據視圖,也就是用戶所能夠看見和使用的局部數據的邏輯結構和特征的描述,是與某一應用有關的數據的邏輯表示。 內模式又稱物理模式,是數據物理結構和存儲方式的描述,是數據在數據庫內部的存儲方式。所以數據庫的結構被劃分成用戶級、存儲級和概念級。 故選A選項 11.D 一個Visual Basic應用程序可以包含一個或多個工程,當包含兩個以上的工程時,這些工程構成一個工程組,故A選項正確;Sub過程不可以嵌套,也就是說,在Sub過程內,不能定義Sub過程或Function,故B選項正確;MsgBox函數的返回值是一個整數,這個整數與所選擇的按鈕有關,MsgBox函數所顯示的對話框有7種按鈕,返回值與這7種按鈕對應,分別為1~7的整數(見下圖),故C選項正確;Visual Basic應用程序既可以以解釋方式也可以以生成可執行文件方式執行,故D選項錯誤。
12.D Visual Basic是采用事件驅動編程機制的語言,故D選項錯誤;A、B、C敘述均正確。 13.A 在VB中,變量是一個名字,給變量命名時應遵循以下規則: (1) 名字只能由字母、數字和下畫線組成;故B和D選項錯誤。 (2) 名字的第一個字符必須是英文字母,最后一個字符可以是類型說明符; (3) 名字的有效字符為255個; (4) 不能用Visual Basic的保留字作變量名,但可以把保留字嵌入變量名中。Debug為保留字,故C選項錯誤。 根據以上規則,只有A選項正確。 14.A Visual Basic的文字常量分為兩種,即字符串和數值。字符串常量用一對雙引號括起來,故A選項錯誤;八進制整型數值常量由一個或幾個八進制數字(0~7)組成,前面冠以&(或&O),故B選項正確;十六進制長整型數值常量由一個或幾個十六進制數字(0~9及A~F或a~f)組成,前面冠以&H(或&h)開頭,以&結尾,故C選項正確;日期常量用一對“#”括起來,故D選項正確;本題正確選項為A。 15.B MsgBox函數的返回值是一個整數,這個整數與所選擇的按鈕有關,A選項正確;InputBox函數可以產生一個對話框,這個對話框作為輸入數據的界面,等待用戶輸入數據,并返回所輸入的內容。在默認情況下,InputBox的返回值是一個字符串(不是變體類型)。也就是說,如果沒有事先聲明返回值變量的類型(或聲明為變體類型),則當把該函數的返回值賦給這個變量時,Visual Basic總是把它作為字符串來處理,B選項敘述錯誤; InputBox函數的格式為:InputBox(prompt[,title][,default][,xpos,ypos][,helpfile,context])其中,第一個參數prompt是一個字符串,它是在對話框內顯示的信息,用來提示用戶輸入數據。第二個參數title是一個字符串,它是對話框的標題,顯示在對話框的頂部的標題區。故C選項正確;MsgBox函數也可以寫成語句形式,但MsgBox語句沒有返回值,因而常用于較簡單的信息顯示,D選項正確;本題正確選項為B。 16.B TabStop 屬性指定是否能使用Tab鍵將焦點移到控件上,為True時可以獲得焦點,為False時不可獲得焦點,故A選項錯誤。Enabled屬性用來確定文本框或其他可獲得焦點的控件,是否對用戶產生的事件作出反應,當為False時,文本框被禁用,當為True,可以獲得焦點,故C選項錯誤。Locked屬性是用來設置本文框或其他可獲得焦點的控件的內容是否可以被編輯,默認為False,可編輯,取值為True時,不可編輯,但仍可獲得焦點,故D選項錯誤,正確答案為B選項。 17.D 在Visual Basic中定義符號常量的一般格式為:Const 常量名=表達式[,常量名=表達式]……;其中“常量名”是一個名字,按變量的構成規則命名,可加類型說明符。“表達式”由文字常量、算術運算符(指數運算符^除外)、邏輯運算符組成,也可以使用諸如“Error on input”之類的字符串,但不能使用字符串連接運算符、變量及用戶定義的函數或內部函數。故D選項錯誤 18.D 在Visual Basic中表達式Sin2(x + y)可以表示成Sin(x+y)^2;e5可以表示成Exp(5);故D選項正確。 19.D Trim(C)函數是去掉字符串C兩端的空格;Mid(C,7,3)函數截取C中從第7個字符開始的共3個字符;Ucase函數是將C中的小寫字母轉化為大寫字母。故正確答案為選項D。 20.A 語句Print a>b>c語句執行的順序為:先執行a>b,結果為True,再判斷True>c,True在ASCII表對應數字的值為-1,本題中在與數值c比較時,True轉換為數字-1,判斷-1>c,結果為False,故選項A正確;在聲明符號常量時,可以在常量名后面加上類型說明符,如果不適用類型說明符,則根據表達式的求值結果確定常量類型,故B選項錯誤;定義可選參數的過程,必須在參數表中使用Optional關鍵字,并在過程體中通過IsMissing函數測試調用時是否傳送可選參數,可變參數過程通過ParamArray命令來定義,故C選錯誤;用Static定義的變量,其值在程序運行過程中始終存在,這種變量稱為靜態局部變量,全局變量需要使用Public或Global定義,故D選項錯誤。本題正確選項為A。 21.A 水平滾動條的值從左向右遞增,最左端代表最小值,最右端代表最大值。Max屬性表示滾動條所能達到的最大值,取值范圍為-32767~32768。當滾動框位于最右端時,Value屬性將被設置為該值。故C選項錯誤;Min屬性表示滾動條所能達到的最小值,取值范圍同Max屬性。當滾動框位于最左端時,Value屬性將被設置為該值。故B選項錯誤;LargeChange屬性表示當單擊滾動條中滾動框前面或后面的部位時,Value增加或減小的增量值。故A選項正確;SmallChange屬性表示當單擊滾動條兩端的箭頭時,Value屬性增加或減少的增量值。故本題選擇A選項。 22.C 文本框屬性值中無Caption屬性,故C選項錯誤A、B、D敘述均正確。 23.A RemoveItem方法用來刪除列表框或組合框中指定的項目,RemoveItem方法從組合框中刪除以“索引值”為地址的項目,組合框中表項“索引值”從0開始,并且該方法每次只能刪除一個項目。ListCount屬性列出組合框中表項的數量。組合框中表項的排列從0開始,最后一項的序號為ListCount-1。刪除組合框中第5個項目,應該使用表達式“Combo1.RemoveItem 4”,故A選項正確。 24.C 如果列表框中沒有選中任何項,ListIndex的值將設置為-1,則執行表達式“List1.RemoveItem List1.ListIndex”系統會提示出錯。故C選項正確。 25.B 文本框無Print方法,故B選項錯誤。 26.D 框架控件和標簽控件,在程序運行過程中都可以通過“控件名.Caption = 標題文本”動態設置控件的標題屬性,故A、B選項均錯誤;組合框是由組合文本框和列表框的特性而成的控件,它具有二者絕大部分屬性,而不是全部屬性,故C選項錯誤;如果把文本框的MultiLine屬性設置為True時,可以顯示多行文本,即在文本框中輸入或輸出文本時可以換行,故D選項敘述正確。本題答案為D。 27.C 列表框控件List屬性用來列出表項的內容。List屬性保存了列表框中所有值的數組,可以通過下標訪問數組中的值(下標值從0開始);故A選項錯誤。ListIndex該屬性表示列表框控件中當前所選項目的索引號,表項的位置由索引值來指定;故B選項錯誤。Text屬性的值為最后一次選中的表項的文本,不能直接修改Text屬性;Index屬性用來設置或返回控件在控件數組中的標識號;故D選項錯誤。本題正確答案為C選項。 28.A AddItem方法:用來在列表框中插入一行文本(即項目)。RemoveItem方法:用來刪除列表框中的指定項目。注意:列表框中項目索引值從0開始計數。執行Form_load事件后,向列表框中插入5個值分別為:數學、物理、化學、外語、語文,索引值依次為0,1,2,3,4。當執行Form_Click事件中的List1.RemoveItem 1語句后,List1中“物理”項被刪除。此時列表框中的值分別為:數學、化學、外語、語文,其索引值依次為0,1,2,3。當執行Form_Click事件中的List1.RemoveItem 2語句后,List1中“外語”項被刪除。此時列表框中的值分別為:數學、化學、語文。故A選項正確。 29.B 在塊結構條件語句中,當If結構內有多個條件為True時,Visual Basic執行第一個為true的條件后面的語句塊,后面的語句塊則不會被執行。本題中變量X剛開始被賦值為8,程序執行時遇到的第一個條件為X > 8 為False,不執行Print X>8而執行句“ElseIf X < 10 Then”,因8 <10 為True,執行語句“Print "X < 10"”后窗體上輸出“X<10”,程序結束。故B選項正確。 30.A For循環中,循環變量i初始值為1,終止值為15, if語句判斷x是否能被3整除,若能被3整除,則將變量S加1。在整個循環過程中只要計算x的值,看有多少個x的值能被3整除,變量S則保留能被3整除的x的個數。通過計算可以得知,x=3,6,9,12,15共5個,所以變量S的值為5,故選項A正確。 31.D 題目所給出程序段的功能:計算1到10之間所有自然數的累和,選項A循環變量i的取值為從0到10,其功能為計算1到11之間所有自然數的累和,故選項A錯誤;選項B循環變量i的取值為從1到9,其功能為計算2到10之間所有自然數的累和,故選項B錯誤;選項C循環變量i的取值為從1到9,其的功能為計算1到9之間所有自然數的累和,故選項C錯誤;選項D的功能為計算1到10之間所有自然數的累和,故D選項正確。 32.B 程序的功能:利用二重For循環給二維數組a中每個元素賦值,然后通過If語句“a(i,j)/7=a(i,j)\7”判斷a(i,j)的值是否能被7整除,若能被7整除,則利用語句“n=n+1”,統計滿足條件的a(i,j)的個數。程序開始時,利用二重循環和表達式“a(i, j) = i * 2 + j”給數組元素賦值,通過計算可以得知:a(2,3)=2*2+3=7;a(3,1)=2*3+1=7;a(5,4)=2*5+4=14,3個值滿足條件,即n的值為3,故B選項正確。 33.A DelChar函數中,使用For循環,依次取出str字符串中的字符。然后通過if語句判斷取出的字符是否為要刪除的字符,若不是則將該字符保存到字符串變量st中,若是則將計數變量n的值加1。觀察if條件判斷語句可知,“If c = ch Then st = st & c else n=n+1”邏輯有錯誤,應該改為“If c <> ch Then st = st & c else n=n+1”。故選項A正確。 34.D 過程所處的位置不同,其控制的范圍也不同,在窗體中定義的過程能被本模塊即窗體中的其他過程調用,不能被其他窗體中的模塊調用。選項D表述錯誤,故正確答案為選項D。 35.A DefaultEXT屬性和DialogTitle屬性是打開(Open)和保存(Save)對話框共同的屬性,DefaultEXT屬性用來設置對話框中默認文件類型,即擴展名;DialogTitle屬性用來設置對話框的標題,故A選項錯誤。B、C、D選項敘述均正確。本題正確答案為A。 36.C 建立彈出式菜單通常分兩步進行:首先用菜單編輯器建立菜單,然后用PopupMenu方法彈出顯示。PopupMenu方法用來顯示彈出菜單,其格式為:對象.PopupMenu 菜單名,Flags,X,Y,BoldCommand。其中“對象”是窗體名;菜單名是在菜單編輯器中定義的主菜單項名。對于兩個鍵的鼠標來說,左鍵的Button參數為1,右鍵的Button參數值為2。程序中條件語句判斷所按下的是否是鼠標右鍵,如果是,則用PopupMenu方法彈出菜單。PopupMenu方法省略了對象參數,指的是當前窗體。運行程序,然后在窗體的任意位置單擊鼠標右鍵,將彈出一個菜單,故本題C選項正確。 37.B 按照事件發生的先后順序,按下鍵盤上的按鍵時,首先觸發KeyDown事件,然后再觸發KeyPress事件。KeyPress事件帶有一個參數,這個參數有兩種形式。第一種形式是Index As Integer,只用于控件數組;第二種形式是KeyAscii As Integer,用于單個控件。KeyPress事件用來識別按鍵的ASCII碼。參數KeyAscii是所按鍵的ASCII碼。按下“a”鍵,KeyAscii的值為97。通過Chr(KeyAscii)得到“a”;KeyDown事件有兩個參數,即KeyCode和Shift。KeyCode參數是按鍵實際的ASCII碼,該碼以“鍵”為準,而不是以“字符”為準。也就是說,大寫字符與小寫字母使用同一個鍵,它們的KeyCode相同(使用大寫字母的ASCII碼)。通過Chr(KeyCode)得到“A”;所以輸出結果為“A a”,故選項B正確。 38.C 用戶定義數據類型可以用Type語句來定義,格式是:Type 數據類型名數據類型元素名 AS 類型名 數據類型元素名 AS 類型名....End Type。用戶定義的數據類型必須先定義后使用,而且只能在模塊(窗體模塊或標準模塊)的聲明部分定義,故選項A錯誤。文件的打開格式:Open文件說明[For方式][Access存取類型][鎖定]As #文件號[Len=記錄長度]。如果以輸出(Output)、附加(Append)或隨機(Random)訪問方式打開的文件不存在,則會建立相應的文件,故選項B錯誤。隨機文件寫操作格式:Put #文件號,[記錄號],變量,功能是把“變量”的內容寫入由“文件”號所指定的磁盤文件中。當記錄號沒有指明時,系統默認,則數據將被寫到下一個記錄位置,即最近執行Get或Put語句后的記錄,或由最近的Seek函數指定的記錄,故選項D錯誤。本題正確答案為C。 39.B 向隨機文件寫數據使用Put #;向順序文件中寫數據使用Print #;向窗體上輸出數據使用Print;從順序文件中讀入數據使用Input #;所以本題B選項正確。 40.A Sub Main過程位于標準模塊中。一個工程可以含有多個標準模塊,但Sub Main過程只能有一個。Sub Main過程通常是作為啟動過程編寫的,但是Sub Main過程不能自動被識別,也就是說,Visual Basic并不自動把它作為啟動過程,必須通過與設置啟動窗體類似的方法把它指定為啟動過程,所以本題A選項正確。 |
||||||||||||||||||||||||