版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家二級VB機試(選擇題)模擬試卷1(共9套)(共323題)國家二級VB機試(選擇題)模擬試卷第1套一、選擇題(本題共28題,每題1.0分,共28分。)1、以下敘述中錯誤的是A、VisualBasic是事件驅動型可視化編程工具B、VisualBasic應用程序不具有明顯的開始和結束語句C、VisualBasic工具箱中的所有控件都具有寬度(Width)和高度(Height)屬性D、VisualBasic中控件的某些屬性只能在運行時設置標準答案:C知識點解析:VisualBasic是一種事件驅動型可視化編程工具,它的應用程序都是由事件組成,不具備明顯的開始和結束語句:在屬性窗口中可以設置控件的大部分屬性,但是某些屬性只能在運行時設置,而且很多控件例如計時器等是不具備寬度和高度屬性的。2、以下關于VB的敘述中,錯誤的是A、VB采用事件驅動方式運行B、VB既能以解釋方式運行,也能以編譯方式運行C、VB程序代碼中,過程的書寫順序與執行順序無關D、VB中一個對象對應一個事件標準答案:D知識點解析:VisualBasic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言。在設計VisualBasic程序的過程中可以隨時以解釋方式運行程序,也可在整個應用程序設計完成后,經編譯生成可脫離VisualBasic環境而在Windows下直接運行的可執行文件(.EXE)。VB程序代碼中,過程的書寫順序與執行順序無關,一個對象可以對應多個事件。3、在VisualBasic環境下設計應用程序時,系統能自動檢查出的錯誤是A、語法錯誤B、邏輯錯誤C、邏輯錯誤和語法錯誤D、運行錯誤標準答案:A知識點解析:VisualBasic可以自動對輸入的內容進行語法檢查。有語法錯誤會給出提示,但是不會自動檢查邏輯錯誤,也無法檢查出運行錯誤。4、以下關于VB特點的敘述中,錯誤的是A、VB中一個對象可有多個事件過程B、VB應用程序能以編譯方式運行C、VB應用程序從FormLoad事件過程開始執行D、在VB應用程序中往往通過引發某個事件導致對對象的操作標準答案:C知識點解析:VisualBasic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言。在設計VisualBasic程序的過程中可以隨時以解釋方式運行程序,也可在整個應用程序設計完成后,經編譯生成可脫離VisualBasic環境而在Windows下直接運行的可執行文件(.EXE)。VB程序代碼中,一個對象可以對應多個事件,整個程序從Form_Load事件過程開始執行。5、以下關于VB特點的敘述中,錯誤的是A、VB采用事件驅動的編程機制B、VB程寧能夠以解釋方式運行C、VB程序能夠以編譯方式運行D、VB程序總是從FormLoad事件過程開始執行標準答案:D知識點解析:VisualBasic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言。在設計VisualBasic程序的過程中可以隨時以解釋方式運行程序,也可在整個應用程序設計完成后,經編譯生成可脫離VisualBasic環境而在Windows下直接運行的可執行文件(.EXE)。VB程序代碼中,一個對象可以對應多個事件,整個程序從Form_Load事件過程開始執行。6、以下關于VB的敘述中,錯誤的是A、VB采用事件驅動的編程機制B、如果程序中有SubMain過程時,則一定從該過程開始執行C、工程文件中包含多個窗體時,可以指定啟動窗體D、VB程序既可以編譯執行,也可以解釋執行標準答案:B知識點解析:VisualBasic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言。在設計VisualBasic程序的過程中可以隨時以解釋方式運行程序,也可在整個應用程序設計完成后,經編譯生成可脫離VisualBasic環境而在Windows下直接運行的可執行文件(.EXE)。VB程序代碼中,工程文件中包含多個窗體時,可以指定啟動窗體,也可以指定從Sub_Main過程開始執行。7、下面關下VB應用程序的敘述中正確的是A、VB心用程序只能解釋運行B、VB應用程序只能編譯運行C、VB應用程序既能解釋運行,也能編譯運行D、VB應用程序必須先編譯,然后解釋運行標準答案:C知識點解析:VisualBasic是一種可視化的、面向對象和采用事件驅動方式的結構化高級程序設計語言。在設計VisualBasic程序的過程中可以隨時以解釋方式運行程序,也可在整個應用程序設計完成后,經編譯生成可脫離VisualBasic環境而在Windows下直接運行的可執行文件(.EXE)。8、在設計窗體時雙擊窗體的任何地方,可以打開的窗口是A、代碼設計窗口B、屬性窗口C、工程資源管理器D、工具箱窗口標準答案:A知識點解析:本題考查的考點是有關打開代碼窗口。VB中的默認視圖是窗體設計視圖,可以通過雙擊窗體或者雙擊窗體上的控件的方法來打開代碼設計窗口。9、在VB集成環境中要結束一個正在運行的工程,可單擊工具欄上的一個按鈕,這個按鈕是A、
B、
C、
D、
標準答案:D知識點解析:在VB的工具欄中,提供了很多常用的工具按鈕,其中選項A)為重做按鈕,選項B)為運行按鈕,選項C)為添加StandardEXE工程按鈕,選項D)為終止運行按鈕。10、VisualBasic集成環境由若干窗口組成,其中不能隱藏(關閉)的窗口是A、主窗口B、屬性窗口C、立即窗口D、窗體窗口標準答案:A知識點解析:VisualBasic集成環境由若干窗口組成,如主窗口、窗體設計窗口、工程資源管理器窗口、屬性窗口、窗體窗口、工具箱窗口、立即窗口、代碼編輯窗口等,其中只有主窗口不能被隱藏(關閉)。11、為了用鍵盤打開菜單和執行菜單命令,第一步應按的鍵是A、F10或AltB、Shift+F4C、Ctrl或F8D、Ctrl+Alt標準答案:A知識點解析:打開菜單和執行菜單命令都需要先展開菜單,除了使用鼠標單擊以外,還可以按下功能鍵F10或Alt來展開菜單。12、如果在VisualBasic集成環境中沒有打開屬性窗口,下列可以打開屬性窗口的操作是A、用鼠標雙擊窗體的任何部位B、執行“工程”-“屬性窗口”命令C、按Ctrl+F4鍵D、按F4鍵標準答案:D知識點解析:屬性窗口是用來設置對象(窗體或控件)的屬性值的,如果沒有打開屬性窗口,可以按F4鍵或者執行“視圖”菜單中的“屬性窗口”命令來打開屬性窗口。用鼠標雙擊窗體的任何部位將打開代碼窗口。13、假定已在窗體上畫了多個控件,其中有一個被選中,為了在屬性窗口中設置窗體的屬性,預先應執行的操作是A、單擊窗體上沒有控件的地方B、單擊任意一個控件C、雙擊任意一個控件D、單擊屬性窗口的標題欄標準答案:A知識點解析:屬性窗口是用來設置對象的屬性值的,默認設置的是當前控件,若要設置窗體的屬性,應該單擊窗體上沒有控件的地方來選中窗體。14、設計窗體時,雙擊窗體上沒有控件的地方,打開的窗口是A、代碼設計窗口B、屬性窗口C、工具箱窗口D、工程窗口標準答案:A知識點解析:設計窗體時,雙擊窗體上任意地方,將會打開代碼窗口進行代碼的輸入。15、在編輯VB應用程序時,如果不小心關閉了屬性窗口,則可以單擊主窗口標準工具欄上的一個按鈕直接打開屬性窗口,這個按鈕的圖標是A、
B、
C、
D、
標準答案:D知識點解析:單擊選項A)的圖標可以打開菜單編輯器;單擊選項B)的圖標可以添加窗體:單擊選項C)的圖標可以打開代碼窗口;單擊選項D)的圖標可以打開屬性窗口。16、在VisualBasic中,不能關閉的窗口是A、窗體設計窗口B、工程窗口C、屬性窗口D、立即窗口標準答案:B知識點解析:VisualBasic集成環境由若干窗口組成,如工程窗口、窗體設計窗口、工程資源管理器窗口、屬性窗口、窗體窗口、工具箱窗口、立即窗口、代碼設計窗口等,其中只有工程窗口不能被隱藏(關閉)。17、下列打開“代碼窗口”的操作中錯誤的是A、按F4鍵B、單擊“工程資源管理器”窗口中的“查看代碼”按鈕C、雙擊已建立好的控件D、執行“視圖”菜單中的“代碼窗口”命令標準答案:A知識點解析:編寫代碼對于一個小型應用程序來說,通常主要是編寫窗體及其控件的相關事件過程。可通過以下方法打開“代碼編輯窗口”:雙擊窗體或窗體上的控件;執行“視圖”菜單中的“代碼窗口”命令;按“F7”鍵;單擊“工程資源管理器”窗口中的“查看代碼”按鈕。18、下面有關標準模塊的敘述中,錯誤的是A、標準模塊不完全由代碼組成,還可以有窗體B、標準模塊中的Private過程不能被工程中的其他模塊調用C、標準模塊的文件擴展名為.basD、標準模塊中的全局變量可以被工程中的任何模塊引用標準答案:A知識點解析:標準模塊是只含有程序代碼的應用程序文件,其擴展名為.bas。標準模塊是應用程序內其它模塊可訪問的過程和聲明的容器,它們可以包含變量、常數、類型、外部過程和全局過程的全局(在整個應用程序范圍內有效的)聲明或模塊級聲明,它由3部分組成:①全局變量聲明:②模塊層聲明:③通用過程。其中,全局聲明放在標準模塊的首部,因為每個模塊都可能要求有它自己的惟一名字的全局變量。全局變量的作用域最大,可以在工程的每個模塊、每個過程中使用。在默認情況下,模塊級變量對該模塊中的所有過程都是可見的,但對其他模塊中的程序不可見。19、下面關于標準模塊的敘述中錯誤的是A、標準模塊中可以聲明全局變量B、標準模塊中可以包含一個SubMain過程,但此過程不能被設置為啟動過程C、標準模塊中可以包含一些Public過程D、一個工程中可以含有多個標準模塊標準答案:B知識點解析:標準模塊是只含有程序代碼的應用程序文件,是應用程序內其它模塊可訪問的過程和聲明的容器,它們可以包含變量、常數、類型、外部過程和全局過程的全局(在整個應用程序范圍內有效的)聲明或模塊級聲明,它由3部分組成:①全局變量聲明:②模塊層聲明;⑨通用過程。一個工程中可以包含多個標準模塊,在標準模塊中可以包含一個SubMain過程,此過程可以被設為啟動過程。20、以下敘述中正確的是A、在屬性窗口只能設置窗體的屬性B、在屬性窗口只能設置控件的屬性C、在屬性窗口可以設置窗體和控件的屬性D、在屬性窗口可以設置任何對象的屬性標準答案:C知識點解析:屬性是一個對象的特征,不同的對象有不同的屬性。對象的屬性在設計程序時,可以通過屬性窗口中的屬性列表設置,也可以通過在程序中編寫代碼來設置對象的部分屬性。在VB中控件是對象,窗體也是一種對象,故此在屬性窗口中可以設置窗體和控件的屬性。但是有的屬性不能在屬性窗口中設置,只能在程序運行時調用或者設置。21、以下說法中正確的是A、事件過程也是過程,只能由其他過程調用B、事件過程的過程名是由程序設計者命名的C、事件過程通常放在標準模塊中D、事件過程是用來處理由用戶操作或系統激發的事件的代碼標準答案:D知識點解析:所謂的事件過程是指當對象響應事件后,實現執行操作的一段程序代碼。一個對象擁有一個或多個事件,因此可以使用一個或多個事件過程對用戶或系統事件做出響應。事件過程通常放在窗體模塊中,其事件過程名均是已經事先定義好的名字,通常是用來處理由用戶操作或系統激發的事件的代碼,也可以由其他過程調用。22、VB中有這樣一類文件:該文件不屬于任何一個窗體,而且僅包含程序代碼,這類文件的擴展名是A、.vbpB、.basC、.vbwD、.frm標準答案:B知識點解析:標準模塊是只含有程序代碼的應用程序文件,其擴展名為.bas;窗體文件中含有控件和程序代碼,其擴展名為.frm;工程文件的擴展名為.vbp,在一個工程中含有多個窗體文件和標準模塊文件:vbw是工作區文件。23、以下關于VB文件的敘述中,錯誤的是A、標準模塊文件不屬于任何一個窗體B、工程文件的擴展名為.frmC、一個工程只有一個工程文件D、一個工程可以有多個窗體文件標準答案:B知識點解析:一個工程只有一個擴展名為vbp工程文件,在工程中可以有多個文件,這些文件可以分為兩種:窗體文件(擴展名為frm)和標準模塊文件(擴展名為bas),這兩種文件沒有相互從屬關系。24、在面向對象的程序設計中,可被對象識別的動作稱為A、方法B、事件C、過程D、函數標準答案:B知識點解析:事件(Event)是由VisualBasic預先設置好的、能夠被對象識別的動作:方法(Method)是特殊的過程和函數。25、以下關于VB文件的敘述中,正確的是A、標準模塊文件的擴展名是.frmB、一個.vbg文件中可以包括多個.vbp文件C、一個.vbp文件只能含有一個標準模塊文件D、類模塊文件的擴展名為.bas標準答案:B知識點解析:標準模塊是只含有程序代碼的應用程序文件,其擴展名為.bas;窗體文件中含有控件和程序代碼,其擴展名為.frm;類模塊文件的擴展名為cls:工程文件的擴展名為.vbp,在一個工程中含有多個窗體文件和標準模塊文件;工程組文件的擴展名是.vbg,一個工程組文件中可以含有若干工程。26、以下關于VB對象屬性的敘述中,錯誤的是A、屬性是對象的特征B、對象的所有屬性值都可以在屬性窗口中設置C、不同對象可以具有同名的屬性D、對象的某些屬性可以在程序中設置標準答案:B知識點解析:屬性是一個對象的特征,不同的對象有不同的屬性,也可以具有同名屬性。對象的屬性在設計程序時,可以通過屬性窗口中的屬性列表設置其中的屬性;也可以通過在程序中編寫代碼來設置對象的部分屬性。某些屬性只能在運行時設置,某些屬性只能在屬性窗口中設置。27、能夠用于標識對象名稱的屬性是A、NameB、CaptionC、ValueD、Text標準答案:A知識點解析:任何一個對象在工程中都有唯一的一個名字,即Name屬性,該屬性在運行時是只讀的。28、以下關于事件、事件驅動的敘述中,錯誤的是A、事件是可以由窗體或控件識別的操作B、事件可以由用戶的動作觸發C、一個操作動作只能觸發一個事件D、事件可以由系統的某個狀態的變化而觸發標準答案:C知識點解析:所謂的事件是指當對象響應事件后,實現執行操作的一段程序代碼。一個對象擁有一個或多個事件,因此可以使用一個或多個事件過程對用戶或系統事件做出響應。事件可以由系統的某個狀態的變化而觸發,也可以由用戶操作觸發,一個操作動作有可能觸發多個事件。國家二級VB機試(選擇題)模擬試卷第2套一、選擇題(本題共39題,每題1.0分,共39分。)1、在窗體上畫一個名稱為Commandl的命令按鈕,并編寫如下程序:FunctionFun(x)y=0Ifx<10Theny=xElsey=y+10EndIfFun=yEndFunctionPrivateSubCommandl_Click()n=InputBox(”請輸入一個數”):n=Val(n)P=Fun(n):PrintPEndSub運行程序,單擊命令按鈕,將顯示輸入對話框,如果在對話框中輸入100,并單擊“確定”按鈕,則輸出結果為A、10B、100C、110D、出錯信息標準答案:A知識點解析:本題是一個簡單的函數調用,在函數中會判斷參數x的值,根據x的值不同執行If語句的不同分支。由于實際參數為100不滿足x<10,因此函數返回值為10。2、設有如下事件過程:PrivateSubCommandl_Click()Dimaa=Anrray(12,3,8,5,10,3,5,9,2,4)Fork=1To9Printfun(a(k-1),a(k));””;NextkEndSubPrivateFunctionfun(x,y)AsIntegerDoWhilex>:yx=x-yLoopfun=xEndFunction程序運行時的輸出結果是A、401030040B、033513512C、9-53-57-2-47-2D、933573572標準答案:B知識點解析:本題中函數fun的作用是當第一個形參比第二個形參大或著相等的時候讓它減去第二個形參,直到比第二個形參小為止;在按鈕的單擊事件中循環調用9次函數,每次都用數組的前一個元素和后一個元素作為函數的實參,所以應輸出的是12-3-3-3-3、3、8-5、5、10-3、3、5、9-2、2。3、設有如下函數:FunctionDelSpace(chAsString)AsIntegerDimn%,st$,c$st="":n=0Fork=1ToLen(ch)c=Mid(ch,k,1)Ifc<>””Thenst=st&cElsen=n+1EndIfNextkch=st:DelSpace=nEndFunction該函數的功能是A、統計并返回字符串ch中字符的個數B、刪除字符串ch中的空格符,返回刪除字符的個數C、統計并返回字符串ch中非空格字符數D、刪除字符串ch中除空格符外的其他字符,返回刪除字符的個數標準答案:B知識點解析:在函數中進行字符串的正向遍歷,每次取出字符串中的一個字符,判斷該字符如果不是空格就將其連接到st上,否則令n+1。循環結束后將會刪除字符串ch中的空格符,返并使用函數值返回刪除字符的個數。4、窗體上有一個名稱為Commandl的命令按鈕,其單擊事件過程及相關的函數過程如下:PrivateSubCommandl_Click()DimiAsIntegerFori=1To500Ifp(i)Thens=s+1NextPrintsEndSubPrivateFunctionp(xAsInteger)AsBooleanIfXMod7<>0Thenp=TrueEIseP=FalseEndIfEndFunction關于上述程序,以下敘述中正確的是A、程序功能是統計1-500范圍內能被7整除的整數個數B、Commandl_Click事件過程中If語句的條件表達式不完整C、Function過程定義有誤,函數過程P的名稱與該過程中的變量名P相同D、函數過程P的返回值為Boolean類型標準答案:D知識點解析:調用Function過程要返回一個值,因此可以像內部函數一樣在表達式中使用。如果在Function過程中省略“過程名=表達式”,則該過程返回一個默認值(數值函數過程返回0值;字符串函數過程返回空字符串)。因此,通常要在過程體中給“過程名”賦值。本題中函數p的返回值為Boolean類型,功能是判斷參數x是否能被7整除,如果不能整除返回True,否則返回False。Commandl_Click事件過程中使用了單行的If語句,不需要Else分支和Endlf語句。程序功能是統計1-500范圍內不能被7整除的整數個數。5、設有下面程序代碼:PlIivateSubCommandl_Click()DimstrAsString,chAsStringstr=”VisualBasicProgramming”:ch=”a”n=fun(ch,str):Printstr,nEndSubPrivateFunctionfun(chAsString,strAsString)AsIntegerDimstrbufAsString,cAsString,nAsIntegerFork=1ToLen(str)c=Mid$(str,k,1)Ifc<>chThenstrbuf=strbuf&cElsestrbuf=strbuf&UCase(c):n=n+1EndIfNextkstr=strbuf:fun=nEndFunction程序運行時的輸出是A、VisualBasicProgramming0B、VisuAlBAsicProgrAmming3C、VisulBsicProgrmming3D、VisualBasicProgramming2標準答案:B知識點解析:本題中函數fun除了有返回值外,還通過地址傳遞的形參str帶回修改以后的字符串。在函數中會依次遍歷整個字符串,每一次取得一個字符,判斷該字符和給定的參數“a”是否相等,如果不等則將其原樣連接,否則將此字符轉換成大寫字符以后連接,而且令計數器加1。所以整個函數的功能就是將形參str中所有等于形參ch的字符轉換成大寫,并且統計這類字符的個數作為函數返回值。6、以下敘述中錯誤的是A、在通用過程中,多個形式參數之間可以用逗號作為分隔符B、在Print方法中,多個輸出項之間可以用逗號作為分隔符C、在Dim語句中,所定義的多個變量可以用逗號作為分隔符D、當一行中有多個語句時,可以用逗號作為分隔符標準答案:D知識點解析:本題考查的考點是有關分隔符的。在過程的參數中需要用分隔符隔開;在Print方法中使用逗號可以隔開多個輸出項;在一條Dim語句中定義多個變量時,這些變量也要用逗號隔開;在一行中寫多個語句時,多個語句之間需要用冒號隔開。7、以下關于過程及過程參數的描述中,錯誤的是A、調用過程時可以用控件名稱作為實際參數B、用數組作為過程的參數時,使用的是“傳地址”方式C、只有函數過程能夠將過程中處理的信息傳回到調用的程序中D、窗體(Form)可以作為過程的參數標準答案:C知識點解析:本題考查的考點是有關過程參數的。在VB中不僅可以使用窗體作為通用過程的參數,還可以使用控件作為通用過程參數。控件參數用法同窗體參數,不過形參類型一般為Control。在使用數組作為參數時,使用的是傳地址的方式。要想把過程中的信息傳回到調用過程中,不但使用函數可以完成,也可以使用傳地址調用的參數傳遞來完成。8、下面是求最大公約數的函數的首部Functiongcd(ByValxAsInteger,ByValyAsInteger)AsInteger若要輸出8、12、16這3個數的最大公約數,下面正確的語句是A、Printgcd(8,12),gcd(12,16),gcd(16,8)B、Printgcd(8,12,16)C、Printgcd(8),gcd(12),gcd(16)D、Printgcd(8,gcd(12,16))標準答案:D知識點解析:函數過程在傳遞參數時,形參表與實參表中對應變量的名字不必相同,但參數的個數、對應位置和對應類型必須相同。本題中的gcd函數有兩個參數,任何對于gcd的調用都必須傳遞實參為兩個整型值;選項A)中得到3個結果,顯然不是我們所需要的;選項D)中的函數嵌套調用能夠求出3個數的最大公約數。9、為了通過傳值方式來傳送過程參數,在函數聲明部分應使用的關鍵字為A、ValueB、ByValC、ByRefD、Reference標準答案:B知識點解析:傳值就是通過值傳送實際參數,即傳送實參的值而不是傳送它的地址。在這種情況下,通用過程不訪問變量(實參)的原始地址,因此不會改變原來變量的值,所有的變化都是在變量的副本上進行的。傳值方式通過關鍵字ByVal來實現。也就是說,在定義通用過程時,如果形參前面有ByVal,則該參數通過傳值方式傳送。在傳值方式下,對形參的改變不會影響到實參。10、以下過程定義中正確的過程首行是A、PrivateSubProc(OptionalaasInteger,basInteger)B、PrivateSubProc(aasInteger)asIntegerC、PrivateSubProc(a()AsInteger)D、PrivateSubProc(ByVala()AsInteger)標準答案:C知識點解析:VisualBasic允許用數組作為參數。但用數組作為過程的參數時,應在數組名的后面加上一對括號,以免與普通變量相混淆:而且只能使用地址傳遞,不能使用值傳遞。為了定義可選參數,需要在參數表中使用Optional關鍵字來指定可選參數,但是可選參數必須是變體型,而且放在參數表的最后。Sub子過程是不能有返回值類型的。11、某人編寫了下面的程序PrivateSubCommandl_Click()DimaAsInteger,bAsIntegera=InputBox(”請輸入整數”):b=InputBox(”請輸入整數”)proa:probCallpro(a+b)EndSubPrivateSubpro(nAsInteger)While(n>0)PrintnMod10;n=n\10WendPrintEndSub此程序功能是:輸入2個正整數,反序輸出這2個數的每一位數字,再反序輸出這2個數之和的每一位數字。例如:若輸入123和234,則應該輸出:321432753但調試時發現只輸出了前2行(即2個數的反序),而未輸出第3行(即2個數之和的反序),程序需要修改。下面的修改方案中正確的是A、把過程pro的形式參數nAsInteger改為ByValnAsIntegerB、把Callpro(a+b)改為proa+bC、把n=n\10改為n=n/10D、在prob語句之后增加語句c%=a+b,再把Callpro(a+b)改為proc標準答案:A知識點解析:本題考查的考點是有關過程調用的。本題題干中的程序之所以不能顯示第三行的值,是由于在調用pro函數時使用的是默認的傳地址調用,這時在pro過程中的對形參的更改都會影響到實參。仔細觀察pro過程,發現每次循環都要對形參n整除10一直到n為0為止,所以每次pro過程調用結束后都會把對應實參改為0。修改參數傳遞方式為傳值調用即可使程序正確運行。12、有下面程序代碼:PrivateSubCommandl_Click()DimxAsInteger,sAsIntegerx=1Fork=1To3x=x+1:procx:s=s+xNextkPrintsEndSubPrivateSubproc(ByValaAsInteger)StaticxAsIntegerx=x+1:a=a+xEndSub程序運行后,單擊命令按鈕Commandl,輸出結果是A、6B、9C、15D、19標準答案:B知識點解析:本題中首先要區分在命令按鈕的單擊事件中定義的x是局部變量,僅能在過程內部起作用:在子過程proc中定義的靜態變量x也是局部變量,也只能在本過程中起作用。在VB的過程調用時,參數有兩種傳遞方式:傳址傳遞和傳值傳遞。如果在過程聲明時形參用ByVal聲明,說明此參數為傳值調用;若用ByRef聲明,說明此參數為傳址調用;沒有說明傳遞類型,則默認為傳址傳遞。即形參的結果會傳遞給實參。本題中proc過程的參數a用的是值傳遞,因此形參的改變不會影響到實參,所以在命令按鈕的單擊事件中循環累加的是2+3+4=9。13、編寫如下程序:PrivateSubCommandl_Click()DimxAsIntegerx=10Printfunl(x,12)+xEndSubPrivateFunctionfunl(mAsInteger,nAsInteger)AsIntegerIfn>10Thenm=nfual=m+nEndFunction程序運行后,單擊命令按鈕Commandl,輸出結果為A、30B、32C、34D、36標準答案:D知識點解析:本體是一個簡單的函數調用,調用funl函數時將x的值作為實參傳送給funl函數,由于第二個參數12滿足n>10,會將形參m的值也改變為12,因返回的函數值為24;由于函數funl的各個參數為地址傳遞,因此對于形參m的值會影響實參x的值,即x的值也變為12。14、在窗體上畫一個名稱為Commandl的命令按鈕,再畫兩個名稱分別為Labell、Label2的標簽,然后編寫如下程序代碼:PrivateXAsIntegerPrivateSubCommandl_Click()X=5:Y=3Callproc(X,Y)Label1.Caption=X:Label2.Caption=YEndSubPrivateSubproc(aAsInteger,ByValbAsInteger)X=a*a:Y=b+bEndSub程序運行后,單擊命令按鈕,則兩個標簽中顯示的內容分別是A、25和3B、5和3C、25和6D、5和6標準答案:A知識點解析:本題考查的考點是有關參數傳遞的。在VB的過程調用時,參數有兩種傳遞方式:傳址傳遞和傳值傳遞。如果在過程聲明時形參用ByVal聲明,說明此參數為傳值調用;若用ByRef聲明,說明此參數為傳址調用:沒有說明傳遞類型,則默認為傳址傳遞。即形參的結果會傳遞給實參。由于本題中的實參Y采用傳值傳遞,實參X采用傳址傳遞,而且X是全局變量,所以在被調過程中改變了X的值而沒有改變Y的值。15、設有如下通用過程:PublicFunctionf(xAsInteger)DimyAsIntegerx=20:y=2:f=x*yEndFunction在窗體上畫一個命令按鈕,其名稱為Commandl,然后編寫如下事件過程:PrivateSubCommandl_Click()StaticxAsIntegerx=10:y=5:y=f(x)Printx;yEndSub程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是A、105B、2040C、205D、1040標準答案:B知識點解析:本題中函數f中的形參x和按鈕的單擊事件中的靜態變量x是不同的變量,相互之間互不影響。函數f的參數x使用的是地址傳遞的形式,即形參的變化會影響到實參:在命令按鈕的單擊事件中調用函數f,會使得參數x的值變成20,函數返回值為40。16、命任何一個滾動條滾動框件過程如下:PrivateSubCommandl_Click()x=10Printf(x)EndSubPrivateFunctionf(yAsInteger)f=y*yEndFunction運行上述程序,如下敘述中正確的是:A、程序運行出錯,x變量的類型與函數參數的類型不符B、在窗體上顯示100C、函數定義錯,函數名f不能又作為變量名D、在窗體上顯示10標準答案:A知識點解析:在調用子過程或者函數過程時,要求實參與形參必須是匹配的,即個數相同、類型相同、順序一致。本題中命令按鈕的Click事件中隱式聲明了變量x,所以x是變體型;在調用函數f的時候將變體型的x作為實參傳送,但函數f中的形參y是整型的,故此產生類型不匹配的情況。17、編寫如下程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=InputBox(”輸入第一個數”):y=InputBox(”輸入第二個數”)Callf(x,y)Printx,yEndSubSubf(aAsInteger,ByValbAsInteger)a=a*2:x=a+b:b=b+100EndSub程序運行后,單擊命令按鈕Commandl,并輸入數值10和15,則輸出結果為A、10115B、20115C、3515D、2015標準答案:D知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中f的參數a是按地址傳遞的,b是按值傳遞的,因此在f中對a的改變會影響實參x,對b的操作不會影響實參y。18、現有程序如下:OptionBase1PrivateSubForm_Click()Dimx(5,6)AsInteger,y(5)AsIntegerFori=1To5Forj=1To6x(i,j)=Int(Rnd*9+1)NextjNextiCallf(5,6,x,y)Fori=1To5Printy(i);NextiEndSubSubf(mAsInteger,nAsInteger,a()AsInteger,b()AsInteger)Fori=1Tomb(i)=0Forj=1Tonb(i)=b(i)+a(i,j)NextjNextiEndSub關于上述程序,以下敘述中正確的是A、調用過程語句有錯,參數不匹配B、程序有錯,數組下標越界C、y數組中保存的是x數組每行數據之和D、x數組中數據的取值范圍是1-10標準答案:C知識點解析:本題中子過程f的四個形參分別為整型、整型、整型數組和整型數組,在窗體的單擊事件中調用過程f,四個實參和四個形參可以匹配,調用語句沒有錯誤;在二重循環中為二維數組的每個元素賦值,數組下界從1開始,因此不會越界:在二重循環中為數組x的元素賦值為0~9之間的值:在過程f中用一個二重循環以此計算x數組每行數據之和放在y數組中。19、窗體上有一個名稱為Commandl的命令按鈕,一個名稱為Textl的文本框。編寫如下程序:PrivateSubCommandl_Click()DimxAsIntegerx=Val(InputBox(”輸入數據”)):Textl=Str(x+fun(x)+fun(x))EndSubPrivateFunctionfun(ByRefnAsInteger)IfnMod3=0Thenn=n+nElsen=n*nEndIffun=nEndFunction對于上述程序,以下敘述中錯誤的是A、語句fun=n有錯,因為n是整型,fun沒有定義類型B、運行程序,輸入值為5時,文本框中顯示655C、運行程序,輸入值為6時,文本框中顯示42D、ByRef表示參數按址傳遞標準答案:A知識點解析:本題中的函數fun的功能是判斷參數是否能被3整除,若可以整除則將n翻倍,否則將n變為n的平方返回。在函數頭部沒有聲明函數的返回值類型,默認為變體型,可以接受任何數據類型的賦值;ByRef表示參數按址傳遞,對形參的改變將會影響實參;當輸入5的時候輸出5+25+625=655;當輸入6的時候輸出6+12+24=42。20、窗體上有一個名稱為Commandl的命令按鈕,并有如下程序代碼:PrivateSubCommandl_Click()Staticaa=1:b=2:c=3Callf(a,b,c)Printa;b;cEndSubSubf(ByValx,ByRefy,z)x=x+1:y=y+1:z=z+lEndSub運行程序,單擊命令按鈕,窗體上顯示的是A、133B、134C、233D、234標準答案:B知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中f的參數x是按值傳遞的,y和z是按地址傳遞的,因此在f中對x的改變不會影響實參a,對y和z的操作會影響實參b和c。21、窗體上有一個名稱為Commandl的命令按鈕,其單擊事件過程如下:PrivateSubCommandl_Click()DimxAsInteger,yAsIntegerStaticzAsIntegerx=3:y=5:z=yCallf(x,y,z)Printx;y;zEndSubPrivateSubf(ByValaAsInteger,ByRefbAsInteger,cAsInteger)a=a+a:b=b+b:c=c+cEndSub運行程序,單擊命令按鈕時,3個標簽中顯示的內容分別是A、355B、3510C、3105D、31010標準答案:D知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中f的參數a是按值傳遞的,b和c是按地址傳遞的,因此在f中對a的改變不會影響實參x,對b和c的操作會影響實參x和y。22、(36)窗體上有一個名稱為Commandl的命令按鈕,其單擊事件過程及相關的代碼如下:PrivateSubCommandl_Click()DimxAsInteger,yAsIntegerx=Val(InputBox(”輸入整數”))y=Val(InputBox(”輸入整數”))PrintStr(fun(x,y)+x+y)EndSubPrivateFunctionfun(ByRefmAsInteger,ByValnAsInteger)m=m*m:n=n+n:fun=m+nEndFunction運行程序,單擊命令按鈕時,出現輸入對話框,分別輸入3、5,則窗體上顯示的是A、27B、28C、33D、38標準答案:C知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中fun的參數m是按地址傳遞的,n足按值傳遞的,因此在f中對m的改變會影響實參x,對n的操作不會影響實參y,即輸出的是Str(19+9+5)=”33”。23、設有如下程序:PrivateSubInv(ByValxStrAsString,yStrAsString)DimtStrAsStringDimLAsIntegerL=Len(xStr)DoWhileL>=1tStr=tStr+Mid(xStr,L,1):L=L-lLoopyStr=tStrEndSubPrivateSubForm_Click()DimS1AsString,S2AsStringSl=”abcdef”InvS1.S2PrintS2EndSub運行程序,單擊窗體,輸出結果為A、abcdefB、afbecdC、fedcbaD、defabc標準答案:C知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中Inv的參數xStr是按值傳遞的,yStr是按地址傳遞的,因此在Inv中對xStr的改變不會影響實參S1,對yStr的操作會影響實參S2。過程Inv的作用是在每次循環中取出S1字符串靠后面的值連接到tStr中,然后將tStr賦值給yStr從而通過地址傳遞帶回給S2,即字符串的逆序。24、設有如下程序:PrivateSubsV(ByValmAsInteger,nAsInteger)m=m*2:n=n-5:Printm;nEndSubPrivateSubFormClick()DimxAsInteger,yAsIntegerx=10:y=15:sVx.YPrintx;YEndSub運行程序,單擊窗體,輸出結果為A、20101010B、10152010C、20151015D、20102010標準答案:A知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中sV的參數m是按值傳遞的,n是按地址傳遞的,因此在sV中對m的改變不會影響實參x,對n的操作會影響實參y。25、由高中數學可知,對于連續函數f(x),若f(x1)與f(x2)值的符號相反,則在x1和x2之間必存在x0,使得f(x0)=0(該點稱為“零點”)。設有VB函數:PrivateFunction.f(xAsSingle)AsSingle可以返回f(x)的值(函數體沒有給出)。下面程序的功能是從鍵盤輸入2個實數x1、x2,判斷在x1、x2之間是否存在零點。PrivateSubCommandl_Click()Dimx1AsSingle,x2AsSinglex1=InputBox(”請輸入一個實數x1”)x2=InputBox("請再輸入一個實數x2”)lf()ThenPrint”在”:x1;”與”;x2;”之間存在零點”ElsePrint”不能確定在”;x1;”與”;x2;”之間是否存在零點”EndIfEndSubPrivateFunctionf(xAsSingle)AsSingle……EndFunction為使上面程序可以實現該功能,程序代碼中橫線處應填寫的代碼是A、f(x1)>0Orf(x2)<0B、f(x1)<0Andf(x2)<0C、f(x1)*f(x2)<0D、f(x1)*f(x2)>0標準答案:C知識點解析:本題實際是要求判斷兩個函數值是否符號相反,由中學數學的知識可知,兩數相反的標志是兩數相乘結果小于0。26、編寫如下程序:PrivateSubCommandl_Click()DimxAsInteger,yAsIntegerx=10:y=20Callfunl(x,y)Printx:yEndSubPrivateFunctionfunl(ByValmAsInteger,nAsInteger)AsIntegerm=m*m:n=n+nEndFunction程序運行后,單擊命令按鈕Cornmandl,輸出結果為A、1025B、1040C、10025D、10040標準答案:B知識點解析:在VisualBasic中調用過程時,參數有兩種傳遞形式:按值傳遞(Byval)和按址傳遞(Byref),默認為按址傳遞。其中,當參數按址傳遞時,如果在引用該參數的過程中改變了形參的值,同時也就改變了傳遞參數時實參變量的值。本題中funl的參數m是按值傳遞的,n是按地址傳遞的,因此在funl中對m的改變不會影響實參x,對n的操作會影響實參y。27、設有以下過程:PrivateSubproc(xAsInteger,OptionalyAsInteger)Printx,yEndSub針對此過程,下面正確的過程調用語句是A、Callproc(a!,23)B、Callprocx%,12C、procb%D、x=proc(12)標準答案:C知識點解析:Optional聲明的參數是可選參數,在調用的時候可以省略對應的實參,但是可選參數必須放在形參列表的最后聲明;在過程內可以使用IsMissing函數來判斷是否實際調用的時候省略了對應的實參。子過程可以獨立使用,也可以使用Call關鍵字來進行調用,但此時參數需要加括號。28、以下關于過程及過程參數的描述中,錯誤的是A、過程的參數可以是控件名稱B、調用過程時使用的實參的個數應與過程形參的個數相同(假定不含可變參數)C、只有函數過程能夠將過程中處理的信息返回到調用程序中D、窗體可以作為過程的參數標準答案:C知識點解析:本題考查的考點是有關過程參數的。過程的參數可以為任何控件,包括窗體,在傳遞參數時,形參表與實參表中對應變量的名字不必相同,但參數的個數、對應位置和對應類型必須相同。除了函數過程可以把信息返回到調用程序中,一般過程也可以通過地址傳遞的方法把信息返回到調用程序中。29、窗體上有一個用菜單編輯器設計的菜單。運行程序,并在窗體上單擊鼠標右鍵,則彈出一個快捷菜單,如圖所示。以下敘述中錯誤的是A、在設計“粘貼”菜單項時,在菜單編輯器窗口中設置了“有效”屬性(有“√”)B、菜單中的橫線是在該菜單項的標題輸入框中輸入了一個“-”(減號)字符C、在設計“選中”菜單項時,在菜單編輯器窗口中設置了“復選”屬性(有“√”)D、在設計該彈出菜單的主菜單項時,在菜單編輯器窗口中去掉了“可見”前面的“√”標準答案:A知識點解析:本題考查的考點是菜單。菜單項的“有效”屬性是控制菜單項的有效性的。只要把一個菜單項的“有效”屬性設置為False,就可以使其失效,運行后該菜單項變為灰色:要在菜單項中插入分隔線應該在標題框中輸入“-”菜單項標志,可以通過菜單設計窗口中的“復選”屬性設置,當該屬性為True時,相應的菜單項前有“√”標記;彈出菜單由于初始運行時應該不可見,故應去掉“可見”前面的“√”標記。30、以下打開VisualBasic菜單編輯器的操作中,錯誤的是A、執行“編輯”菜單中的“菜單編輯器”命令B、執行“工具”菜單中的“菜單編輯器”命令C、單擊工具欄中的“菜單編輯器”按鈕D、右擊窗體,在彈出的快捷菜單中選擇“菜單編輯器”命令標準答案:A知識點解析:VisualBasic中的菜單通過菜單編輯器建立,可以通過4種方式進入菜單編輯器:執行“工具”菜單中的“菜單編輯器”命令;使用Ctrl+E組合鍵:單擊工具欄中的“菜單編輯器”按鈕;在要建立菜單的窗體上單擊右鍵,將彈出一個菜單,然后單擊“菜單編輯器”命令。31、如果一個菜單項的Enabled屬性被設置為False,則程序運行時,該菜單項A、不顯示B、顯示但無效C、有效可用D、不顯示但有效可用標準答案:B知識點解析:菜單項也是對象,也可以設置屬性,如果Enabled屬性被設置為False,則程序運行時,該菜單項顯示但無效(呈現灰色)。32、以下說法中正確的是A、任何時候都可以用Ctrl+E鍵打開菜單編輯器B、只有當某個窗體為當前活動窗體時,才能打開菜單編輯器C、只有當代碼窗口為當前活動窗口時,才能打開菜單編輯器D、任何時候都可以用標準工具欄的“菜單編輯器”按鈕打開菜單編輯器標準答案:B知識點解析:打開菜單編輯器有4種方法:①選擇菜單“工具”菜單框中的“菜單編輯器”命令;②單擊工具欄上的“菜單編輯器”按鍵;③使用快捷鍵<Ctrl+E>;④右擊窗體,從彈出的快捷菜單中選擇“菜單編輯器”命令。注意:只有當某個窗體成為活動窗體時,才能使用以上方法打開其菜單編輯器。33、如果一個頂級菜單項的訪問鍵為D,則以下等同于單擊該菜單項的操作為A、按Ctrl+D鍵B、按Alt+D鍵C、按D鍵D、按Shift+D鍵標準答案:B知識點解析:訪問鍵就是菜單項中加了下劃線的字母,只要同時按下<Alt>鍵和加了下劃線的字母鍵,就可以選擇相應的菜單項。設置訪問鍵時,必須將菜單標題中要設為訪問鍵的字母前面加上“&”字符。34、下列關于菜單項的描述中,錯誤的是A、通過內縮符號(…)設置菜單項的層次B、通過Enabled屬性設置菜單項的有效性C、菜單項的索引號可以不連續D、菜單項的索引號必須從1開始標準答案:D知識點解析:在菜單編輯器中,可以通過內縮符號(…)設置菜單項的層次;通過Enabled屬性設置菜單項的有效性,Visible屬性設置菜單項的可見性:菜單的索引號必須是從0開始的連續值。35、以下關于菜單的敘述中,錯誤的是A、當窗體為活動窗體時,用Ctrl+E鍵可以打開菜單編輯器B、把菜單項的Enabled屬性設置為False,則可刪除該菜單項C、彈出式菜單在菜單編輯器中設計D、程序運行時,利用控件數組可以實現菜單項的增加或減少標準答案:B知識點解析:本題考查的考點是有關菜單的。VisualBasic中的菜單通過菜單編輯器建立,可以通過4種方式進入菜單編輯器:執行“工具”菜單中的“菜單編輯器”命令、使用Ctrl+E組合鍵、單擊工具欄中的“菜單編輯器”按鈕、在要建立菜單的窗體上單擊鼠標右鍵,將彈出一個菜單,然后單擊“菜單編輯器”命令:不管是頂層菜單還是彈出菜單都在菜單編輯器中設計;程序運行時可以利用菜單項的動態數組實現菜單項的增加或減少:如果把菜單項的Enable屬性置為False,則該菜單項不可用,但是并沒有在菜單中刪除。36、下列關于菜單項的描述中,錯誤的是A、菜單項不能響應Click事件以外的其他事件B、每個菜單項都可以被看作一個控件,具有相應的屬性和事件C、菜單項的索引號可以不連續D、通過Visible屬性設置菜單項的有效性標準答案:D知識點解析:菜單項是VB中的一種對象,每個菜單項都可以被看作一個控件,具有相應的屬性和事件,而且只能響應Click事件;菜單項的索引號可以不是連續的,通過Enabled屬性設置菜單項的有效性,通過Visible屬性設置菜單項的可見性。37、在利用菜單編輯器設計菜單時,為了把組合鍵“Alt+X”設置為“退出(X)”菜單項的訪問鍵,可以將該菜單項的標題設置為A、退出(X&)B、退出(&X)C、退出(X#)D、退出(#X)標準答案:B知識點解析:訪問鍵就是菜單項中加了下劃線的字母,只要同時按下<AIt>鍵和加了下劃線的字母鍵,就可以選擇相應的菜單項。快捷鍵和訪問鍵都是在設計菜單時直接指定。設置訪問鍵時,必須在要設置為訪問鍵的字母前面加上一個“&”。38、為了顯示彈出式菜單,要使用A、窗體的PopupMenu方法B、窗體的OpenMenu方法C、菜單的PopupMenu方法D、菜單的OpenMenu方法標準答案:A知識點解析:在MDIForm或Form對象上的當前鼠標位置或指定的坐標位置顯示彈出式菜單,要使用對象.PopupMenu菜單名來彈出。39、下面關于菜單的敘述中正確的是A、為使選中一菜單項就可執行某種操作,要為它的Click事件過程編寫執行該操作的代碼B、同一級菜單中的菜單項不能同名,但不同級菜單中的菜單項可以同名C、只能使用鼠標右鍵把彈出式菜單彈出來D、彈出式菜單中的菜單項不能再有自己的子菜單標準答案:A知識點解析:菜單項也作為對象看待,所以不能有兩個菜單項名字完全相同;彈出式菜單的編輯過程和下拉式菜單一樣,菜單項也可以再設置子菜單;彈出式菜單要使用對象.PopupMenu菜單名來彈出,一般是編寫窗體的鼠標事件,可以設計成單擊左鍵彈出菜單:為了使得選中一個菜單項就可以執行某種操作,要為它的Click事件過程編寫執行該操作的代碼。國家二級VB機試(選擇題)模擬試卷第3套一、選擇題(本題共32題,每題1.0分,共32分。)1、窗體上有名稱為Commandl的命令按鈕,其事件過程如下:OptionBase1PrivateSubCommandl_Click()DimaDimb(10)AsIntegera=Array(2,4,7,3,9,6)Fori=LBound(a)ToUBound(a)b(i)=a(i)+iSum=Sum+b(i)NextiPrintSumEndSub運行程序,單擊命令按鈕時,窗體上顯示的是A、44B、46C、50D、52標準答案:D知識點解析:本題中使用了一個循環為b數組進行賦值,每個元素的值是對應a數組元素的值加上下標的值。因此b數組中的元素為(3、6、10、7、14、12),然后累加和為52。2、窗體上有一個名稱為Commandl的命令按鈕,有程序如下:OptionBase1PrivateSubCommandl_Click()Dima(10)AsInteger‘第1個ForFori=1To10a(i)=Int(Rnd*100+100)Printa(i);Nextx=a(i):y=x‘第2個ForFori=1To10Ifx<a(i)Thenx=a(i)Ify>a(i)Theny=a(i)s=s+a(i)NextPrintx,y,sEndSub關于上述程序的敘述中,正確的是A、程序運行出錯,第1個For循環之后的x=a(i)賦值語句錯B、程序正常運行,x是10個隨機數中的最大值C、程序正常運行,s是10個隨機數的和D、程序正常運行,10個隨機數的范尉是100-200標準答案:A知識點解析:隨機數函數Rnd的功能是用于產生一個小于1但大于或等于0的隨機數,本題中產生的整數的范圍是100-199;在第一個循環結束后,循環變量i的值為不滿足循環條件的值11,在緊隨其后的x=a(i)語句將會執行出錯,因為出現了數組越界。3、在窗體卜畫一個文本框,其名稱為Textl,然后編寫如下程序:OptionBaselPrivateSubForm_Click()DimArr(10)AsIntegerFori=6To10Arr(i)=i-3NextiText1.Text=Str(Arr(6)+Arr(Arr(6)+Arr(10)))EndSub程序運行后,單擊窗體,在文本框中顯示的內容是A、7B、8C、9D、10標準答案:D知識點解析:本題中在循環中為數組部分元素賦值,把Arr(6)~Arr(10)分別賦值為3~7,其余的數組元素保持默認值0;最終輸出的是Arr(6)+Arr(Arr(6)+Arr(10))即Arr(6)+Arr(10)=10。4、假定有如下程序:PrivateSubFormClick()Dima(4)AsInteger,b(4)AsIntegerFork=0To2a(k+1)=Val(InputBox(”請輸入一個整數:”))b(3-k)=a(k+1)NextkPrintb(k)EndSub運行程序,單擊窗體,依次輸入3、6、9,輸出結果為A、3B、6C、9D、1標準答案:A知識點解析:本題在循環中輸入數據,當第一次輸入3的時候a(1)=3,b(3)=a(1)=3;當第二次輸入6的時候a(2)=6,b(2)=a(2)=6;當第三次輸入9的時候a(3)=6,b(1)=a(3)=9,跳出循環后k的值為3,將輸出b(3)的值。5、閱讀程序:OptionBase1PrivateSubForm_Click()Dima(3,3)AsIntegerFori=1To3Forj=lTo3a(1,j)=_________Printa(i,j);NextjPrintNextiEndSub運行上面的程序,單擊窗體,輸出結果如下:則在橫線處應填入的內容為A、i+jB、i*jC、(i-1)*3+jD、i+(j-1)*3標準答案:D知識點解析:本題中使用二重循環為數組賦值,分許輸出的結果,每個元素和行號和列號的關系可以看出,每個元素的值應該等于i+(j-1)*3。6、閱讀程序:OptionBase1SubP(b()AsInteger)Fori=1To4b(i)=2*iNextiEndSubPrivateSubForm_Click()Dima(4)AsIntegerFori=1To4a(i)=i+4NextiPaFori=1To4Printa(i)NextiEndSub運行上面的程序,單擊窗體,輸出結果為A、2468B、5678C、l0121416D、481216標準答案:A知識點解析:本題中的過程P的功能是為形參數組b進行賦值,數組作為參數時采用的是地址傳遞,所以對形參的改變將會影響實參,也就是在窗體的單擊事件中,首先在一個循環中為數組a賦值,然后調用了P過程重新為a賦值覆蓋掉原來的值。7、在窗體上畫一個命令按鈕,然后編寫如下程序:OptionBase1PrivateSubCommandl_Click()DimArt(10)AsIntegerFori=1To10Arr(i)=11-iNextix=InputBox(”輸入一個整數(3~10)”)PrintArr(2+Art(x))EndSub程序運行后,單擊命令按鈕,在輸入對話框中輸入7,則輸出結果為A、3B、4C、5D、6標準答案:C知識點解析:本題是一個簡單的數組操作,首先在一個循環中為數組元素賦值,然后輸出指定的數組元素值。最終輸出的是Arr(2+Arr(7))=Arr(6)=5。8、設有下面程序代碼:PrivateSubCommandl_Click()DimaAsVarianta=Array(22,43,23,56,87,45,67,12,98,98,56,34,23,75,64)m=a(0)n=mFork=1ToUBound(a)Ifa(k)>mThenn=m:m=a(k)Elselfa(k)>nAnda(k)<>mThenn=a(k)EndIfNextkPrintnEndSub程序運行時的輸出是A、數組中最大的數(即98)B、數組中最小的數(即12)C、數組中第2大的數(即87)D、數組中第1個數(即22)標準答案:C知識點解析:本題顯然是求取數組最大值的,先取得數組的第一個元素作為最大值,然后用m保存最大值;在循環中如果發現了有比m還大的數組元素,則將該元素作為新的最大值,原來的最大值m賦值給n:如果元素不比m大就去比較元素是否大于n,若大于n則將元素賦值給n,所以循環結束后n中的值是數組中第2大的數。9、設有下面程序代碼:OptionBase1PrivateSubCommandl_Click()Dimx(6)a=Array(4,2,5,1,6,3)b=Array(64,24,98,27,58,41)Fork=1To6x(a(k))=b(k)NextkFork=1To6Printx(k);NextkEndSub程序運行時的輸出是A、272441649858B、642498275841C、242741586498D、986458412724標準答案:A知識點解析:本題是一個簡單的數組賦值。只要把握好每次為哪個元素賦以什么樣的值就不會出錯。最后x數組中存放的數據依次是27、24、41、64、98、58。10、以下關于控件數組的敘述中,正確的是A、數組中各個控件具有相同的名稱B、數組中可包含不同類型的控件C、數組中各個控件具有相同的Index屬性值D、數組元素不同,可以響應的事件也不同標準答案:A知識點解析:控件數組是一組具有共同名稱和共同類型的控件,它們擁有共同的事件,數組中的每個控件都有惟一的索引號(Index),即下標。11、以下關于控件數組的敘述中,錯誤的是A、各數組元素共用相同的事件過程B、各數組元素通過下標進行區別C、數組可以由不同類型的控件構成D、各數組元素具有相同的名稱標準答案:C知識點解析:控件數組是一組具有共同名稱和共同類型的控件,它們擁有共同的事件,數組中的每個控件都有惟一的索引號(Index),即下標。12、假定通過復制、粘貼操作建立了一個命令按鈕數組Commandl,以下說法中錯誤的是A、數組中每個命令按鈕的名稱(Name屬性)均為CommandlB、若未做修改,數組中每個命令按鈕的大小都一樣C、數組中各個命令按鈕使用同一個Click事件過程D、數組中每個命令按鈕的Index屬性值都相同標準答案:D知識點解析:本題考查的考點是有關控件數組的。控件數組是一組具有共同名稱和類型的控件,它們擁有共同的事件,數組中的每個控件都有唯一的索引號(Index),即下標,默認索引號從0開始。建立控件數組有兩種方法:一是先在窗體上畫好一個控件,然后再用“復制”和“粘貼”的方法建立;二是先在窗體上先畫出若干相同類型的控件,然后再將它們的名稱改為同一個名稱,再將其Index屬性分別設置為不同值即可。采用第一種方法建立控件數組時,每個數組元素的名稱、大小、事件均使用同一個,區別只在于Index屬性不一樣。13、窗體上已有的3個單選按鈕組成了1個名為ChkOptl的控件數組。用于區分控件數組ChkOptl中每個元素的屬性是A、CaptionB、ListCountC、ListlndexD、Index標準答案:D知識點解析:控件數組是一組具有共同名稱和類型的控件,它擁有共同的事件,數組中的每個控件都有唯一的索引號(Index),即下標,默認索引號從0開始。14、窗體上有一個名稱為Optionl的單選按鈕數組,程序運行時,當單擊某個單選按鈕時,會調用下面的事件過程PrivateSubOptionl_Click(IndexAsInteger)EndSub下面關于此過程的參數Index的敘述中正確的是A、Index為1表示單選按鈕被選中,為0表示未選中B、Index的值可正可負C、Index的值用來區分哪個單選按鈕被選中D、Index表示數組中單選按鈕的數量標準答案:C知識點解析:控件數組是一組具有共同名稱和類型的控件,它們擁有共同的事件,數組中的每個控件都有惟一的索引號(Index),即下標,默認索引號從0開始,不能為負值。15、設在窗體上有一個名稱為Checkl的復選框數組,并有以下事件過程:PriVateSubCheckl_Click(IndexAsInteger)EndSub則下面敘述中錯誤的是A、單擊數組中任何復選框都會調用此事件過程B、參數Index的值等于單擊數組中某個復選框的Index屬性的值C、上面的過程是數組中第1個復選框的事件過程D、從過程的首部(即第1行)無法確定數組中復選框的個數標準答案:C知識點解析:控件數組是一組具有共同名稱和類型的控件,它們擁有共同的事件,數組中的每個控件都有惟一的索引號(Index),即下標,默認索引號從0開始,不能為負值。從過程的首部無法確定數組中控件的個數。16、下面關于控件數組的敘述中正確的是A、控件數組中所有控件的名稱相同,但其Index屬性值各不相同B、控件數組中所有控件的名稱相同,但其Value屬性值各不相同C、控件數組中每個元素都是獨立的控件,因此都有各自的事件過程D、上述都是錯誤的標準答案:A知識點解析:控件數組是一組具有共同名稱和類型的控件,它們擁有共同的事件,數組中的每個控件都有惟一的索引號(Index),即下標,默認索引號從0開始,不能為負值。17、下列關于控件數組的敘述中,正確的是A、控件數組可以由不同類型的控件組成B、控件數組元素的最小下標值為1C、在設計階段,可以改變控件數組元素的Index屬性值D、控件數組的名字由Caption屬性指定標準答案:C知識點解析:控件數組是一組具有共同名稱和類型的控件,它們擁有共同的事件,數組中的每個控件都有唯一的索引號(Index),即下標,默認索引號從0開始,在設計階段可以手動指定控件數組元素的Index屬性值。18、窗體上有一個由兩個文本框組成的控件數組,名稱為Textl,并有如下事件過程:PrivateSubTextl_Change(IndexAsInteger)SelectCaseIndexCase0Textl(1).FontSize=Textl(0).FontSize*2Textl(1).Text=Textl(0).TextCase1Textl(0).FontSize=Textl(1).FontSize/2Textl(0).Text=Textl(1).TextCaseElseMsgBox”執行Else分支”EndSelectEndSub關于上述程序,以下敘述中錯誤的是A、Index用于標識數組元素B、本程序中CaseElse分支的語句永遠不會被執行C、向任何一個文本框輸入字符,都會在另一個文本框中顯示該字符D、下標為0的文本框中顯示的字符尺寸將越來越小標準答案:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子行業噪聲與輻射防護培訓
- 2025-2026學年湖南省懷化市八年級(下)期末數學試卷(含部分答案)
- 靠譜軟文發稿平臺 2026:AI時代GEO優化先發優勢與輿情服務深度測評
- 資產評估師(珠寶)真題模擬演練(帶評分標準)
- 2026國家統計局百色調查隊招聘公益性崗位人員3人(廣西)備考題庫往年題考附答案詳解
- 2026浙江金華浦江縣國有企業招聘合同制工作人員37人備考題庫及完整答案詳解【名校卷】
- 2026中國公證協會招5人考前沖刺試卷(考點提分)附答案詳解
- 2026四川宜賓市敘州區嬰幼兒童托育中心招聘3人備考題庫及1套參考答案詳解
- 2026衢州市市級機關事業單位編外招聘54人模擬試卷及參考答案詳解【培優A卷】
- 2026山東青島理工大學(臨沂校區)招聘4人(博士學位)考前沖刺密卷帶答案詳解(完整版)
- 2025年教師職稱-上海-上海教師職稱(基礎知識、綜合素質、高中地理)歷年參考題庫典型考點含答案解析
- 2025至2030年中國筆記本無線網卡行業市場發展現狀及投資戰略咨詢報告
- 大客戶制管理辦法
- 旅游直播培訓課件
- 既有建筑幕墻檢查及安全性鑒定技術標準
- 十歲那年的試題及答案
- 廠區生活垃圾管理制度
- 臨建拆除施工方案新
- 勵耕計劃 申請書
- DB11-T 1771-2020 地源熱泵系統運行技術規范
- 游戲開發外包合同
評論
0/150
提交評論