版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家二級(VB)機試模擬試卷17(共9套)(共396題)國家二級(VB)機試模擬試卷第1套一、選擇題(本題共40題,每題1.0分,共40分。)1、設有關鍵碼序列(66,13,51,76,81,26,57,69,23),要按關鍵碼值遞增的次序排序,若采用快速排序法,并以第一個元素為劃分的基準,那么第一趟劃分后的結果為()。A、23,13,51,57,66,26,81,69,76B、13,23,26,51,57,66,81,76,69C、23,13,51,57,26,66,81,69,76D、23,13.51,57,81,26,66,69,76標準答案:A知識點解析:快速排序是起泡捧序的改進。在快速排序中,任取一個記錄,以它為基準用交換的方法將所有的記錄分成兩部分,關鍵碼值比它小的在一部分,關鍵碼值比它大的在另一部分,再分別對兩個部分實施上述過程,一直重復到排序完成。2、下列描述正確的是()。A、軟件測試是指動態(tài)測試B、軟件測試可以隨機地選取測試數(shù)據(jù)C、軟件測試是保證軟件質量的重要手段D、軟件測試的目的是發(fā)現(xiàn)和改正錯誤標準答案:C知識點解析:軟件測試有多種方法,根據(jù)軟件是否需要被執(zhí)行,可以分為靜態(tài)測試和動態(tài)測試,A選項敘述錯誤。軟件測試應在測試之前制定測試計劃,并嚴格執(zhí)行,排除測試隨意性,并且需要設計正確的測試用例,B選項敘述錯誤。軟件測試就是在軟件投入運行之前,盡可能多地發(fā)現(xiàn)軟件中的錯誤,改正錯誤是調試的過程,D選項敘述錯誤。軟件測試是保證軟件質量的重要手段,C選項正確。3、在新建一個VB工程時,將新建窗體的Name屬性設置為TheFirst,則默認的窗體文件名為()。A、Forml.frmB、工程1.frmC、TheFirst.frmD、Forml.vbp標準答案:C知識點解析:本題考查窗體的命名。窗體文件的擴展名是tim,新建工程時默認的工程名為“工程1.vbp”,默認的窗體名為窗體的Name屬性,這里為“TheFist.frm”。4、下列合法的VisualBasic變量名是()。A、3AB、A+3C、A3D、Abs標準答案:C知識點解析:變量是一個名字,給變量命名時應遵循以下規(guī)則。①名字的第一個字符必須是英文字母,最后一個字符可以是類型說明符;故A選項錯誤。②名字只能由字母、數(shù)字和下畫線組成;選項中B選項含有非法字符“+”,故B選項錯誤。③名字的有效字符為255個。④不能用VisualBasic的保留字作為變量,但可以把保留字嵌入變量名中。Abs是系統(tǒng)的函數(shù)名(求絕對值函數(shù)Abs())為保留字,不能作為變量名。故D選項錯誤。所以C選項正確。5、窗體上有一個名稱為Option1的單選按鈕數(shù)組,程序運行時,當單擊某個單選按鈕時,會調用下面的事件過程:PrivateSubOption1_Click(IndexAsInteger)…EndSub下面關于此過程的參數(shù)Index的敘述中正確的是()。A、Index為1表示單選按鈕被選中,為0表示未選中B、Index的值可正可負C、Index的值用來區(qū)分哪個單選按鈕被選中D、Index表示數(shù)組中單選按鈕的數(shù)量標準答案:C知識點解析:Index參數(shù)值返回的是單選按鈕數(shù)組中各單選按鈕的索引值,用它來區(qū)分各單選按鈕。故A、D選項錯誤,C選項正確;Index的值只能是非負數(shù),故B選項錯誤。6、窗體上有一個名稱為Text1的文本框,一個名稱為CD1的通用對話框,一個標題為"打開文件"的命令按鈕,如圖所示。命令按鈕的單擊事件過程如下:PrivateSubCommand1_Click()CD1.ShowOpenOpenCD1.FileNameForInputAs#1MsgBoxCD1.FileNameLineInput#1,sText1.Text=sClose#1EndSub單擊命令按鈕,執(zhí)行以上事件過程,打開選定的文件,讀取文件的內容并顯示在文本框中.以下敘述中正確的是()。A、程序沒有錯誤,可以正確完成打開文件、讀取文件中內容的操作B、執(zhí)行Open命令時出錯,因為沒有指定文件的路徑C、Open語句是錯誤的,應把語句中的ForInput改為ForOutputD、LineInput命令格式錯標準答案:A知識點解析:第1條語句中用ShowOpen方法顯示"打開"對話框后,在對話框中選中文件,單擊"打開"按鈕后,CD1.FileName屬性就會返回打開文件的路徑,所以用Open語句打開文件時,就可用CD1.FileName指定打開文件的路徑,故B選項說法錯誤。因為第4條語句中要用LineInput從文件讀取數(shù)據(jù),故用Open語句打開文件時用Input模式打開是正確的,故C選項說法錯誤。LineInput命令格式為:LineInput#文件號,變量名,題中LineInput語句格式正確。故D選項錯誤。本題程序無錯誤,能實現(xiàn)所說功能,故A選項正確。7、下列各選項中,不屬于序言性注釋的是()。A、程序標題B、程序設計者C、主要算法D、數(shù)據(jù)狀態(tài)標準答案:D知識點解析:注釋一般為序言性注釋和功能性注釋。序言性注釋常位于程序開頭部分,它包括程序標題、程序功能說明、主要算法、接口說明、程序位置、開發(fā)簡歷、程序設計者、復審者、復審日期及修改日期等。功能性注釋一般嵌在源程序體之中,用于描述其后的語句或程序的主要功能。8、以下關于局部變量的敘述中錯誤的是()。A、在過程中用Dim語句或Static語句聲明的變量是局部變量B、局部變量的作用域是它所在的過程C、在過程中用Static語句聲明的變量是靜態(tài)局部變量D、過程執(zhí)行完畢,該過程中用Dim或Stmic語句聲明的變量即被釋放標準答案:D知識點解析:局部變量是在過程(事件過程或通用過程)內定義的變量,作用域為該變量所在的過程,定義時使用Dim、Static關鍵字。使用Dim關鍵字定義的是動態(tài)局部變量,過程執(zhí)行結束后即被釋放:使用Static關鍵字定義的是靜態(tài)局部變量,過程執(zhí)行結束后仍然保留。9、下面是求最大公約數(shù)的函數(shù)的首部()。Functionfun(ByValxAsInteger,ByValyAsInteger)AsInteger若要輸出8、12、16這3個數(shù)的最大公約數(shù),下面正確的語句是A、Printfun(8,12),fun(12,16),fun(16,8)B、Printfun(8,12,16)C、printfun(8,12),fun(12,16),fun(16)D、Printfun(8,fun(12,16))標準答案:D知識點解析:函數(shù)過程在傳遞參數(shù)時,形參表與實參表中對應變量的名字不必相同,但參數(shù)的個數(shù)、對應位置和對應類型必須相同。本題中的fun函數(shù)有兩個參數(shù),任何對于fun的調用都必須傳遞實參為兩個整犁值;選項A)中得到3個結果,顯然不是我們所需要的;選項D)中的函數(shù)嵌套調用能夠求出3個數(shù)的最大公約數(shù)。10、某人編寫了下面的程序:PrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=InputBox("請輸入整數(shù)")b=InputBox("請輸入整數(shù)")proaprobCaupro(a+b)EndSubPrivateSubpro(nAsInteger)Wllile(n>0)PrintnMod10;n=n\10WendPrintEndSub此程序功能是:輸入2個正整數(shù),反序輸出這2個數(shù)的每一位數(shù)字,再反序輸出這2個數(shù)之和的每一位數(shù)字。例如:若輸入123和234,則應該輸出:321432753但調試時發(fā)現(xiàn)只輸出了前2行(即2個數(shù)的反序),而未輸出第3行(即2個數(shù)之和的反序),程序需要修改。下面的修改方案中正確的是()。A、把過程pro的形式參數(shù)nAsInteger改為ByValnAsIntegerB、把Callpro(a+b)改為proa+bC、把n=n\10改為n=n/10D、在prob語句之后增加語句c%=a+b,再把Callpro(a+b)改為proc標準答案:A知識點解析:在過程定義中過程的形式參數(shù)定義時如果沒有ByVal指明參數(shù)的傳遞方式,那么默認為地址傳遞,這樣過程中對形參的改變將影響到實參的值。本程序中過程定義語句PrivateSubpro(nAsInteger)說明形參n為按地址傳遞的,而在過程內語句n=n\10改變了形參的值,因此,a、b的值就不再是最初輸入的值了,表達式a+b就不是期望的兩個輸入數(shù)的和。因此得不到正確結果。只要把PrivateSubpm(nAsInteger)改為PrivateSubpro(ByValnAsInteger),程序即可得到正確結果,因此A選項正確。11、以下說法中正確的是()。A、事件過程也是過程,只能由其他過程調用B、事件過程的過程名是由程序設計者命名的C、事件過程通常放在標準模塊中D、事件過程是用來處理由用戶操作或系統(tǒng)激發(fā)的事件的代碼標準答案:D知識點解析:事件過程也是過程,其他過程或系統(tǒng)都可以調用它。故A選項錯誤。事件過程的過程名是由系統(tǒng)命名的。故B選項錯誤。通常事件過程放在窗體模塊中。故C選項錯誤。事件過程是用來處理由用戶操作或系統(tǒng)激發(fā)的事件的代碼。只有當用戶或系統(tǒng)觸發(fā)事件后,才執(zhí)行相應的事件過程。故D選項正確。12、窗體上有1個名為List1的列表框,其中已經(jīng)輸入了若干個項目(如圖3所示);還有2個文本框,名稱分別為Text1、Text2,1個名稱為Command1的命令按鈕,并有以下程序。PrivateSubCommand1Click()DimstrAsString,sAsString,kAsIntegers=Text1:str=""Fork=List1.ListCount-1To0Step-1IfInStr(List1.List(k),s)>0Thenstr=str&List1.List(k)&""EndIfNextkIfstr=""ThenText2="沒有匹配項目"ElseText2=strEndIfEndSub程序運行時,在Text1中輸入”京”,單擊命令按鈕,則在Text2中顯示的內容是()。A、京B、北京南京C、南京北京D、沒有匹配的項目標準答案:C知識點解析:本題考查循環(huán)程序的分析以及列表框屬性的應用。函數(shù)InStr(List1.List(k),s)的作用是在List1.List(k)中從頭開始尋找s,找不到就返回0,否則返回s在List1.List(k)中的位置。整個循環(huán)的功能是,從列表框中最后一個列表項開始尋找含有與Text1中字符串相同的子串,如果存在相同的子串,把List1.List(k)全部連接到str中,并顯示在Text2中。13、在窗體上畫一個命令按鈕(Name屬性為Command1),然后編寫如下事件過程:PrivateSubCommand1_Click()Dima(10)AsInterger,p(3)AsIntergerK=5Fori=1To10a(i)=iNextiFori=1To3p(i)=a(i*i)NextiFori=1To3k=k+p(i)*2NextiPrintkEndSub程序運行后,單擊命令按鈕,輸出結果是()。A、35B、28C、33D、37標準答案:C知識點解析:題中第一個循環(huán)功能是給數(shù)組a賦值,即a(1)=1、a(2)=2…;第二個循環(huán)功能是給數(shù)組p賦值,即p(1)=1、p(2)=4、p(3)=9;第三個循環(huán)是求K的值,即是將K值加上數(shù)組P所有元素的值,所以K=K+p(1)*2+p(2)*2+p(3)*2=33。14、有三個關系R,S和T如下:則由關系R和S得到關系T的操作是()。A、自然連接B、交C、投影D、并標準答案:A知識點解析:自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉,所以根據(jù)T中元組可以判斷R和S做的是自然連接操作。15、窗體上有一個菜單編輯器設計的菜單。運行程序,并在窗體上單擊鼠標右鍵,則彈出一個快捷菜單,如圖所示,下列選項錯誤的是()。A、在設計“粘貼”菜單項時,在菜單編輯器窗口中設置了“有效”屬性(有“√”)B、菜單中的橫線是在該菜單項的標題輸入框中輸入了一個“一”(減號)字符C、在設計“選中”菜單項時,在菜單編輯器窗口中設置了“復選”屬性(有“√”)D、在設計該彈出菜單的主菜單項時,在菜單編輯器窗口中去掉了“可見”前面的“√”標準答案:A知識點解析:快捷菜單中的“粘貼”菜單項為無效時,在菜單編輯器窗口中“有效”屬性應該是不選中狀態(tài),沒有“√”,故A選項錯誤。16、窗體上有1個名稱為Commandl的命令按鈕,事件過程及函數(shù)過程如F:PrivateSubCommand1一Click()DimmAsStringm=InputBox(“請輸入字符串”)Prinlpick_str(m)EndSubPrivateFunctionpick_str(sAsString)AsStringtemp=“”i=lslen=Len(S)DoWhilei<=sLen/2temp=temp+Mid(s,i,l)+Mid(s,sIen-i+I,1)i=i+1Looppick_str=tempEndFunction運行程序,單擊命令按鈕,并在輸入對話框中輸入“basic”,則在窗體上顯示的內容為()。A、bcaiB、cbiaC、bcaisD、cbias標準答案:A知識點解析:過程pick_str的功能魁對輸入的字符串的字符重新組合,通過Do循環(huán)從原字符串中頭尾開始各取一個字符重新組合,循環(huán)次數(shù)小于等于原字符串長度整除2的值。當輸入字符串是“basic”時,字符串長度為5,循環(huán)次數(shù)為5/2=2次,因此取出的字符依次是“b”,“c”,“a”,“i”。即“bcai”,因此答案為A。17、設a=4,b=5,c=6,執(zhí)行語句:Printa<bAndb<c后,窗體上顯示的是()。A、TrueB、FalseC、出錯信息D、0標準答案:A知識點解析:Print語句中計算表達式的值,按運算符的優(yōu)先級順序,關系運算符“<”比邏輯運算符“And”優(yōu)先級高。先計算“<”,結果為‘DueAndTrue,再計算“And”,結果為True,故選A。18、使用Open語句可以打開或建立文件,并同時指定文件的輸入輸出方式。下列輸入輸出方式中錯誤的是()。A、RandomB、OutputC、SequentialD、Append標準答案:C知識點解析:使用Open語句可以打開或建立文件,并同時指定文件的輸入輸出方式,可以是下述操作之一:①Output:指定順序輸出方式。②Input:指定順序輸入方式。③Append:指定順序輸出方式,與Out,put不同的是,當用Append方式打開文件時,文件指針被定位在文件末尾。④Random:指定隨機存取方式,也是默認方式。⑤Binary:指定以二進制方式打開文件。故本題C選項不是文件的輸入輸出方式。本題選擇C選項。19、窗體上有兩個水平滾動條HV、HT,還有一個文本框Text1和一個標題為“計算”的命令按鈕Commandl,并編寫了以下程序:PrivateSubCommandl.Click()Callcalc(HV.Value,HT.Value)EndSubPublicSubcalc(xAsInteger,yAsInteger)Text1.Text=x*yEndSub運行程序,單擊“計算”按鈕,可根據(jù)速度與時間計算出距離,并顯示計算結果。對以上程序,下列敘述中正確的是()。A、過程調用語句不對,應為calc(HV,HT)B、過程定義語句的形式參數(shù)不對,應為Subcalc(xAsControl,yAsContr01)C、計算結果在文本框中顯示出來D、程序不能正確運行標準答案:C知識點解析:訪問滾動條控件的值,可以直接使用控件的名稱,也可以在名稱后面指明Value屬性。滾動條位置是用數(shù)值來表示的,因此定義Cale過程時參數(shù)應該定義為Integer類型。程序中,Text,1.Text=x*y語句說明計算的結果在文本框中顯示出來。20、公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員。則實體部門和職員間的聯(lián)系是A、1:1聯(lián)系B、m:1聯(lián)系C、1:m聯(lián)系D、m:n聯(lián)系標準答案:C知識點解析:兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關系,主要有一對一聯(lián)系(1:1)、一對多聯(lián)系(1:m)、多對一聯(lián)系(m:1)、多對多聯(lián)系(m:n)。對于每一個實體部門,都有多名職員,則其對應的聯(lián)系為一對多聯(lián)系(1:m),答案選C。21、以下關于VB對象屬性的敘述中,錯誤的是A、屬性是對象的特征B、對象的所有屬性值都可以在屬性窗口中設置C、不同對象可以具有同名的屬性D、對象的某些屬性可以在程序中設置標準答案:B知識點解析:對象只有部分屬性可以在屬性窗口中設置。22、窗體上有一個名稱為Command1的命令按鈕,并有如下程序代碼:OptionBase1PrivateSubCommand1_Click()Dima(4,4)AsIntegerDimbAsIntegerDimiAsInteger,jAsIntegerFori=1To4Forj=1To4a(i,j)=i+jNextjNextiCallf(a,b)PrintbEndSubPrivateSubf(x()AsInteger,ByRefyAsInteger)y=0Fori=1To4y=y+x(i,i)NextEndSub運行程序,單擊命令按鈕后,窗體上顯示的是A、0B、2C、8D、20標準答案:D知識點解析:Command1_Click()中通過嵌套循環(huán)給數(shù)組a元素賦初值,執(zhí)行完后a(1,1)=2,a(2,2)=4,a(3,3)=6,a(4,4)=8;Callf(a,b)語句調用子函數(shù)Subf(x()AsInteger,ByRefyAsInteger)。該函數(shù)內For循環(huán)把a數(shù)組中一維下標和二維下標相同的元素值相加。值為20,選D。23、以下關于過程的敘述中,錯誤的是A、在Sub過程中不能再定義Sub過程B、事件過程也是Sub過程C、過程調用語句的形參個數(shù)必須與實參個數(shù)相同D、函數(shù)過程一定有返回值標準答案:C知識點解析:在調用過程的語句中,要求實參個數(shù)與被調用過程形參個數(shù)一致。24、下列敘述中正確的是A、程序執(zhí)行的效率與數(shù)據(jù)的存儲結構密切相關B、程序執(zhí)行的效率只取決于程序的控制結構C、程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D、以上說法均錯誤標準答案:A知識點解析:程序執(zhí)行的效率與數(shù)據(jù)的存儲結構、數(shù)據(jù)的邏輯結構、程序的控制結構、所處理的數(shù)據(jù)量等有關。25、有下面事件過程:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenForm1.PSet(X,Y)’PSet方法可以在X,Y處畫一個點EndIfEndSub程序運行后,產(chǎn)生的效果是A、在窗體上每單擊鼠標左鍵一次,就在鼠標位置處畫一個點B、按著鼠標左鍵,移動鼠標,可在窗體上畫出鼠標的運動軌跡C、按著鼠標右鍵,移動鼠標,可在窗體上畫出鼠標的運動軌跡D、不按任何鼠標鍵,移動鼠標,可在窗體上畫出鼠標的運動軌跡標準答案:C知識點解析:MouseMove中Button是一個整數(shù),它對應鼠標各個按鈕的狀態(tài),如果某個按鈕按下,其中就有一個二進制位被設置。Button參數(shù)是具有相應于左按鈕(位0),右按鈕(位1),以及中間按鈕(位2)的一個位字段。這些位的值分別等于1,2,和4。它指示這些鼠標按鈕的整體狀態(tài);三個二進制位中的一些、全部、或一個也沒有被設置,指示這些按鈕中的一些、全部、或一個也沒有被按下。程序中Button=2表示鼠標右鍵被按下。故答案選C。26、窗體上有一個名稱為CD1的通用對話框控件和由四個命令按鈕組成的控件數(shù)組Command1,其下標從左到右分別為0、1、2、3,窗體外觀如圖所示。命令按鈕的事件過程如下:PrivateSubCommand1_Click(IndexAsInteger)SelectCaseIndexCase0CD1.Action=1Case1CD1.ShowSaveCase2CD1.Action=5Case3EndEndSelectEndSub對上述程序,下列敘述中錯誤的是()。A、單擊"打開"按鈕,顯示打開文件的對話框B、單擊"保存"按鈕,顯示保存文件的對話框C、單擊"打印"按鈕,能夠設置打印選項,并執(zhí)行打印操作D、單擊"退出"按鈕,結束程序的運行標準答案:C知識點解析:通用對話框中Action=1,或用ShowOpen方法都可顯示"打開"文件對話框;Action=2,或用ShowSave方法都可顯示文件"另存為"對話框;Action=3,或用ShowColor方法都可顯示"顏色"對話框;Action=4,或用ShowPrint方法都可顯示"字體"對話框;Action=5,或用ShowHelp方法都可顯示"打印"對話框;本題中,"打開"、"保存"、"打印"、"退出"按鈕的下標(即Index值)分別是0、1、2、3,用Index值區(qū)分各命令按鈕。當Index=0時,CD1.Action=1,說明單擊"打開"按鈕,會顯示"打開"文件對話框;當Index=1時,CD1.ShowSave,說明單擊"保存"按鈕,會顯示文件"另存為"對話框;當Index=3時,End,說明單擊"退出"按鈕,會結束程序運行。故A、B、D選項正確。當Index=2時,CD1.Action=5,說明單擊"打印"按鈕,會顯示"打印"對話框,但打開對話框后,只能設置打印選項,不能執(zhí)行打印操作。故C選項錯誤。27、編寫如下程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=1:y=1Doy=x*yIfy>10ThenPrintx,yExitDoElsex=x+3EndIfLoopWhilex<=10EndSub運行程序,循環(huán)實際執(zhí)行次數(shù)為A、0B、2C、3D、4標準答案:C知識點解析:x初值為1。第一次先執(zhí)行循環(huán)然后判斷條件。在循環(huán)體中,x被加3,執(zhí)行完第2次時x=7。執(zhí)行第三次時,y=28,滿足條件y>10,執(zhí)行ExitDo跳出循環(huán)。選C。28、下列程序段的執(zhí)行結果為()。a=6Fork=1To0a=a+kNextkPrintk=aA、-16B、-116C、16D、1121標準答案:C知識點解析:本題考查循環(huán)的分析。For型循環(huán)默認的循環(huán)變量的步長為1,由于循環(huán)變量的初值大于終值,因此循環(huán)體一次也不執(zhí)行。29、有三個關系R、S和T如下:則由關系R和S得到關系T的操作是()。A、自然連接B、并C、交D、差標準答案:D知識點解析:關系T中的元組是關系R中有而關系S中沒有的元組的集合,即從關系R中除去與關系S中相同元組后得到的關系T。所以做的是差的運算。30、下列各語句中,正確的是A、DimxAsVariant=Array(1,2,3,4,5)B、Dimx()AsInteger:x=Array(1,2,3,4,5)C、DimxAsVariant:x=Array(1,"abc",2,3,4)D、DimxAsInteger:x=Array(1,2,3,4,5)標準答案:C知識點解析:在VisualBasic中允許定義默認數(shù)組。所謂默認數(shù)組,就是數(shù)據(jù)類型為Variant(默認)的數(shù)組,對于默認數(shù)組可以存放不同類型的數(shù)據(jù),選項A賦值方式錯誤,選項C正確。Array函數(shù)用來為數(shù)組元素賦值,即把某個數(shù)據(jù)集讀入某個數(shù)組。其格式為:數(shù)組變量名=Array(數(shù)組元素值)。注意:數(shù)組變量不能是具體的數(shù)據(jù)類型,只能是變體(Variant)類型。選項B、D均錯誤。故正確答案為C選項。31、在窗體上畫一個名稱為CD1的通用對話框,一個名稱為Command1的命令按鈕。然后編寫如下事件過程:PrivateSubCommand1_Click()CD1.FileName=""CD1.Filter="所有文件|*.*|(*.Doc)|*.Doc|(*.Txt)|*.Txt"CD1.FilterIndex=2CD1.DialogTitle="選擇文件"CD1.Action=1EndSub則當程序運行時,單擊命令按鈕Command1后,將顯示對話框窗口,以下有關敘述中錯誤的是A、語句CD1.Action=1可等價地替換為語句CD1.ShowSaveB、在顯示的對話框中指定的默認文件名為空C、顯示的對話框的標題為"選擇文件"D、在對話框中顯示的默認文件類型為(*.Doc)標準答案:A知識點解析:語句CD1.Action=1與CD1.ShowOpen等價,ShowOpen方法用于顯示打開文件對話框,打開指定目錄中的文件,故選項A錯誤。Filter屬性用于文件過濾器,屬性格式為:描述1|過濾器1|描述2|過濾器2…;FilterIndex屬性用于指定默認的文件過濾器,即本題中默認的文件過濾器為Doc文件,文件名為空,故選項B,D正確;DialogTitle屬性設置對話框的標題,選項C正確。故正確答案為選項A。32、算法的有窮性是指()。A、算法程序的運行時間是有限的B、算法程序所處理的數(shù)據(jù)量是有限的C、算法程序的長度是有限的D、算法只能被有限的用戶使用標準答案:A知識點解析:算法原則上能夠精確地運行,而且人們用筆和紙做有限次運算后即可完成。有窮性是指算法程序的運行時間是有限的。33、設有如下通用過程:PublicFunctionf(xAsInteger)DimyAsIntegerx=20y=2f=x*yEndFunction在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:PrivateSubCommand1_Click()StaticxAsIntegerx=10y=5y=f(x)Printx;yEndSub程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是()。A、105B、2040C、205D、1040標準答案:B知識點解析:過程f中形參變量x沒有指定傳遞方式,則默認按地址傳遞,會影響實參值。而變量y在按鈕事件過程和f過程中都是局部變量只在本過程中起作用。因此執(zhí)行y=f(x)后,x值在過程中被改變?yōu)?0,而y被賦為過程返回值40。因此程序窗體上會顯示20和40。34、以下關于數(shù)組的敘述中,錯誤的是A、Variant類型的數(shù)組中各數(shù)組元素的類型可以不同B、各數(shù)組元素可以是不同類型的控件C、各數(shù)組元素通過下標進行區(qū)別D、各數(shù)組元素具有相同的名稱標準答案:B知識點解析:控件數(shù)組是由一組相同類型的控件組成。它們共用一個控件名,絕大部分的屬性也相同,但有一個屬性不同,即Index屬性的值不同。當建立控件數(shù)組時,系統(tǒng)給每個元素賦一個唯一的索引號(Index),通過屬性窗口的Index屬性,可以知道該控件的下標是多少,第1個元素下標是0。35、窗體上有一個名稱為Command1的命令按鈕。要求編寫程序,把文件f1.txt的內容寫到文件f2.txt中,然后將f1.txt刪除。命令按鈕的單擊事件過程如下:PrivateSubCommand1_Click()Open"c:\f1.txt"ForInputAs#1Open"c:\f2.txt"ForOutputAs#2DoWhileNotEOF(2)LineInput#1,str1Print#2,str1LoopCloseKill"c:\f1.txt"EndSub該程序運行時發(fā)生錯誤,應該進行的修改是A、打開f1.txt應該使用Output方式,打開f2.txt應該使用Input方式B、NotEOF(2)應該改為NotEOF(1)C、LineInput應改為GetD、Close語句改為CloseAll標準答案:B知識點解析:Open打開文件時,可以用三種模式,即OutPut:打開一個文件,將對該文件進行寫操作;Input:打開一個文件,將對該文件進行讀操作;Append:打開一個文件,將在該文件末尾追加記錄。DoWhile循環(huán)應該判斷1#文件的結尾,即DoWhileNotEOF(1),不是結尾的話把內容寫到2#文件中。LineInput語句為從已打開的順序文件中讀出一行并將它分配給String變量。Close語句后面有文件號,就關閉這個文件,否則就關閉所有打開的文件。此題中應該關閉所有的文件。選B)。36、假定有如下程序:PrivateSubForm_Click()DimNAsInteger,JAsIntegerN=0J=1DoUntilN>2N=N+1J=J+N*(N+1)LoopPrintN;JEndSub運行程序,單擊窗體,輸出結果是A、321B、37C、01D、313標準答案:A知識點解析:DoUntil…Loop語句在條件滿足的前提下會一直執(zhí)行中間的循環(huán)語句。N的初值為0,因此循環(huán)會執(zhí)行3次。在循環(huán)體內N每次被加1。因此結束時N=3。同樣的方法可算出J=21。選A)。37、表達式12/2\4的值是()。A、1.5B、2C、4D、1標準答案:D知識點解析:運算符除/優(yōu)先級高于整除、所以先計算/,再計算、結果是1,故選D。38、設有如下事件過程:PrivateSubCommand1_Click()Fori=1To5j=iDoPrint"*"j=j-1LoopUntilj=0NextiEndSub運行程序,輸出"*"的個數(shù)是()。A、5B、15C、20D、25標準答案:B知識點解析:i=1時,輸出1個*,i=2時,輸出2個*,i=3時,輸出3個*,i=4時輸出4個*,i=5時輸出5個*,因此總共輸出*的個數(shù)是1+2+3+4+5=15。39、設有窗體的Form_MouseMove事件過程如下:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)If(ButtonAnd3)=3ThenPrint"檢查按鍵"EndIfEndSub關于上述過程,以下敘述中正確的是()。A、按下鼠標左鍵時,在窗體上顯示"檢查按鍵"B、按下鼠標右鍵時,在窗體上顯示"檢查按鍵"C、同時按下鼠標左、右鍵時,在窗體上顯示"檢查按鍵"D、不論做何種操作,窗體上都不會顯示標準答案:C知識點解析:40、有下面事件過程:PrivateSubCommand1_Click()a=5b=8Fork=1To30c=b-aa=bb=CNextkPrintCEndSub上面事件過程執(zhí)行后產(chǎn)生的輸出是()。A、3B、8C、-5D、-8標準答案:B知識點解析:程序開始時,變量a賦值為5,變量b賦值為8;For循環(huán)一共執(zhí)行30次,循環(huán)執(zhí)行過程中各變量的值如下表所示:根據(jù)循環(huán)執(zhí)行特點可知:當循環(huán)執(zhí)行完第6次時,變量a和b的值又回到起始值,根據(jù)這樣的規(guī)律,循環(huán)是以6為執(zhí)行單元,每執(zhí)行6次后,變量的值會回到起始值,而本題循環(huán)一共會執(zhí)行30次,30是6的倍數(shù),所以第30次循環(huán)和第6次循環(huán),各變量獲得的值是相等的,故第30次循環(huán)中變量c的值為8,B選項正確。本題選擇B選項。二、基本操作題(本題共2題,每題1.0分,共2分。)請根據(jù)以下各小題的要求設計VisualBasic應用程序(包括界面和代碼)。41、在名稱為Form1的窗體上畫一個名稱為CD1的通用對話框,通過屬性窗口設置CD1的初始路徑為C:\,默認的文件名為None,標題為“保存等級考試”,如圖2所示。注意:存盤時必須存放在考生文件夾下,工程文件名為sjt1.vbp,窗體文件名為sjt1.frm。標準答案:[操作步驟]步驟1:新建一個“標準。EXE”工程,選擇[工程]→[部件]命令,在彈出的“部件”對話框的列表中選中“MicroSoftCommonDiMogControl6.0”項目,單擊“確定”按鈕。步驟2:在窗體Form1上畫一個通用對話框,其相關屬性設置如表12—7所示。步驟3:編寫Form1的Iroad事件,加入下面的代碼:CD1.ShowSave步驟4:按要求將文件保存至考生文件夾中。知識點解析:通用對話框的InitDir屬性用于為打開或另存為對話指定初始的目錄,如果此屬性沒有指定,則使用當前目錄。通用對話框的初始路徑由InitDir屬性設置,默認文件名由FileName屬性設置,標題由DialogTitle屬性設置。42、在名稱為Form1的窗體上設計一個菜單。要求在窗體上添加名為menu0,標題為“菜單命令”的主菜單,再添加兩個名稱分別為“menu1”、“menu2”,標題分別為“不可用菜單項”、“上一菜單項可用”的子菜單,并且使程序運行時,menu1子菜單不可用,menu2子菜單已經(jīng)選中(運行時的效果如圖3所示)。再編寫適當?shù)氖录^程,使得程序運行時,單擊“上一菜單項可用”,則“不可用菜單項”變?yōu)楹谏?可用)。要求程序中不得使用變量,且只有一條語句。注意:存盤時必須存放在考生文件夾下,工程文件名為sit2.vbp,窗體文件名為sit2.Frm。標準答案:[操作步驟]步驟1:新建一個“標準EXE”工程,打開VB菜單設計器設計菜單,各菜單項及屬性設置如表12—8所示。步驟2:打開代碼編輯窗口,編寫“上一菜單項可用”命令的Click事件過程。參考代碼:PrivateSubmenu2_Click()menu1.Enabled=TrueEndSub步驟3:按要求將文件保存至考生文件夾中。知識點解析:①VB中的菜單是通過菜單編輯器來設計的。菜單編輯器中的基本設置項有:“標題”項,對應出現(xiàn)在菜單中的顯示內容;“名稱”項,系統(tǒng)識別菜單項的唯一關鍵字(不能重復);“索引”項,用于設置菜單數(shù)組中各元素的索引號;“快捷鍵”項,是一個下拉列表框,用于設置菜單項的快捷鍵;“幫助上下文”項,設置當鼠標移動到某菜單項上按<Fl>鍵時顯示的幫助信息在幫助文件中的對應位置;Visible(可見)項,用于設置控件或菜單項在程序運行時是否可見,值為True表示可見,值為False表示不可見;Enabled(有效)項,用于設置控件或菜單項在程序運行時是否有效,值為True時表示有效,值為False時表示無效(顯示為灰色)。通過編輯按鈕區(qū)的七個按鈕可對菜單進行添加、插入、刪除、提升(設置為上一級菜單)、縮進(設置為下一級菜單)、上移、下移等操作。②文本框的Text屬性用于設置或返回其顯示的文本內容。本題原程序設計思路:在“上一菜單項可用”命令的單擊事件過程中,通過語句設置“不可用菜單項”命令的Enabled屬性值為True。三、簡單應用題(本題共1題,每題1.0分,共1分。)43、(1)在考生文件夾下有一個上程文件sjts.vbp。窗體上有名稱為Timcr1的定時器,以及兩條水平直線,名稱分別為Line1和Line2。請用名稱為Shape1的形狀控件,在兩條直線之問畫一個寬和高都相等的形狀,設置其形狀為網(wǎng)。并設置適當屬性使其滿足以下要求:①圓的頂端距窗體Form1頂端的距離為360;②圓的顏色為紅色(紅色對應的值為:&H000000FF&或&IIFF&),如圖所示。程序運行時,Shape1將在Line1和Line2之間運行。當Shape1的底部到達Line2時,會自動改變方向向上運動;當Shape1的頂端到達Line1時,會自動改變方向下運動。文件中給出的程序不完整,清上掉程序中的注釋符,把程序中的?改為正確內容,使其實現(xiàn)上述功能。注意:不能修改程序的其他部分和已給出控件的屬性。最后將修改后的文件按原文件名存盤。(2)在考生文件夾下有一個工程文件sjt4.vbp,包含了所有控件和部分程序,如圖所示。其功能如下:①單擊“讀數(shù)據(jù)”按鈕,可將考生文件夾下in4.dat文件中的100個整數(shù)讀到數(shù)組a中。②單擊“計算”按鈕,則根據(jù)從組合框Combol中選中的項目.對數(shù)組a中的數(shù)據(jù)計算平均值.并將計算結果四舍五入取整后顯示在文本框.rexll中。“讀數(shù)據(jù)”按鈕的Click事件過程已經(jīng)給出,請為“計算”按鈕編寫適當?shù)氖录^程實現(xiàn)上述功能。注意:不得修改已經(jīng)存在的控件和程序,在結束程序運行之前,必須進行一次計箅,且必須用窗體右上角的關閉按鈕結束程序,否則無成績。最后,程序按原文件名存盤。標準答案:(1)步驟1:打開本題工程文件,新建一個形狀控件,并按表3.51所示設置屬性。步驟2:打開代碼編輯窗口,去掉程序中的注釋符“’”,將問號改為正確的內容。參考答案DimsAsInteger,hAsLongPrivateSubForm_Load()Timerl.Enabled=Trues=—40EndSubPrivateSubTimerl_Timer()Shape1.MoveShape1.Left,Shape1.Top+sIfShape1.Top<=Line1.Y1Thens=—sEndIfIfShape1.Top+Shape1.Heigeht>=Line2.Y1Then’圓的底端坐標加上圓的自身高度與Line2比較s=—sEndIfEndSub步驟3:調試并運行程序,關閉程序后按題目要求存盤。(2)步驟1:打開本題工程文件。步驟2:打開代碼編輯窗口,在代碼編輯窗口指定位置編寫以下代碼。參考答案DimkAsLongDimmAsLongDimqAsLongDimpAsLongDimrAsLongDimnAsLongFork=1To100Ifa(k)Mod2=0Then’判斷是否為偶數(shù)m=m+a(k)’偶數(shù)之和q=q+1’偶數(shù)個數(shù)加1Elsen=n+a(k)’奇數(shù)之和p=p+1’奇數(shù)個數(shù)加1EndIfNextkr=Int((m+n)/(p+q)+0.5)’平均值m=Int(m/q+0.5)’偶數(shù)平均值n=Int(n/p+0.5)’奇數(shù)平均值SelectCaseCombol.TextCase"所有偶數(shù)"Text1=mCase"所有奇數(shù)"Text1=nCase"所有數(shù)"Text1=rEndSelect步驟3:調試并運行程序,關閉程序后按題目要求存盤。知識點解析:(1)通過形狀控件的Move方法,實現(xiàn)形狀的移動,通過Shape1.Top的值和Line1.Y1的值進行比較來判定圓形是否越過上界,通過比較Shape1.Top+Shape1.Height的值和Line2.Y1的值來判定圓形是否越過下界。(2)通過文件操作,打開文件,把數(shù)值讀入數(shù)組。通過循環(huán)語句遍歷數(shù)組a(k),用If語句和Mod()函數(shù)判斷是奇數(shù)還是偶數(shù),先求出數(shù)組中元素的所有奇數(shù)和和所有偶數(shù)和,計算出平均數(shù),通過Int()函數(shù)實現(xiàn)對結果的四舍五入取整,所有奇數(shù)和和所有偶數(shù)和的加和,求出所有數(shù)的和,用同樣的方法得出平均數(shù)。SelectCase語句判斷組合框中選中的項目,實現(xiàn)函數(shù)的功能,在文本框中顯示題目要求的平均值,并按題目要求存盤。四、綜合應用題(本題共1題,每題1.0分,共1分。)44、在考生文件夾下有一個工程文件sjt5.vbp,其窗體上畫有兩個名稱分別為Text1、Text2的文本框,其中Text1可多行顯示。請畫兩個名稱為Command1、Command2,標題為“產(chǎn)生數(shù)組”、“查找”的命令按鈕。如圖8所示。程序功能如下:①單擊“產(chǎn)生數(shù)組”按鈕,則用隨機函數(shù)生成10個0~100之間(不含0和100)互不相同的數(shù)值,并將它們保存到一維數(shù)組a中,同時也將這10個數(shù)值顯示在Text1文本框內;②單擊“查找”按鈕將彈出輸入對話框,接收用戶輸入的任意一個數(shù),并在一維數(shù)組a中查找該數(shù),若查找失敗,則在Text2文本框內顯示該數(shù)“不存在于數(shù)組中”;否則顯示該數(shù)在數(shù)組中的位置。要求:請去掉程序中的注釋符,把程序中的?改為正確的內容,使其實現(xiàn)上述功能,但不能修改窗體文件中已經(jīng)存在的控件和程序。最后把修改后的文件按原文件名存盤。標準答案:步驟l:打開考生文件夾中的本題工程文件sjt5.vbp,在窗體上畫兩個命令按鈕,屬性及其值如下表所示。步驟2:在代碼編輯窗口,去掉程序中的注釋符“’”,將問號“?”改為正確的內容。a(i)=Fix(Rnd*99+1)Forj=lToi-1i=i-1Ifa(i)=numThenIfi>10Then步驟3:按要求將文件保存至考生文件夾中。知識點解析:本題在“生成數(shù)組”按鈕的單擊事件過程中,通過For循環(huán)生成10個0~100之間(不含0和100)互不相同的隨機數(shù),并存入數(shù)組a,其中生成函數(shù)的表達式應為:Fix(Rnd*99+1)。為防止生成相同的隨機數(shù)值,每新生成一個隨機數(shù)后,都通過For循環(huán)讓其與之前生成的i.一個隨機數(shù)逐一比較,若新生成的隨機數(shù)已存在,則將當前循環(huán)變量i的值減1,重新為數(shù)組元素a(i)生成隨機數(shù)。在“查找”按鈕的單擊事件過程中,通過For循環(huán)讓數(shù)組a中的元素逐一與用戶在輸入對話框中輸入的數(shù)相比較,若條件表達式a(i)=num成立,則表示找到相同的數(shù),并在文本框Text2中顯示相關信息。若沒找到相同的數(shù),循環(huán)結束后循環(huán)變量i>10,則在Text2文本框內顯示該數(shù)“不存在于數(shù)組中”。國家二級(VB)機試模擬試卷第2套一、選擇題(本題共40題,每題1.0分,共40分。)1、在窗體上有一個名稱為Commandl的命令按鈕,并有如下程序:PrivateSubCommand1Click()StaticXAsIntegerStaticYAsIntegerClsY=1:Y=Y+5:X=5+X:PrintX.YEndSub程序執(zhí)行時,單擊命令按鈕Commandl三次后,窗體上顯示的結果為()。A、1516B、56C、1515D、156標準答案:D知識點解析:本題考查靜態(tài)變量。靜態(tài)變量的值有繼承性,上一次調用的結果在下一次調用時還是有效的。題目中每次調用Y的值都被重新賦值了,因此單擊3次以后Y的值仍然是6,而X每次調用的結果都保留,因此調用3次以后,結果為15。2、窗體上有名稱為Command1的命令按鈕,名稱分別為List1、List2的列表框,其中List1的MultiSelect屬性設置為1(Simple),并有如下事件過程:PrivateSubCommand1_Click()Fori=0ToList1.ListCount-1IfList1.Selected(i)=TrueThenList2.AddItemTextEndIfNextEndSub上述事件過程的功能是將List1中被選中的列表項添加到List2中。運行程序時,發(fā)現(xiàn)不能達到預期目的,應做修改,下列修改中正確的是()。A、將For循環(huán)的終值改為List1.ListCountB、將List1.Selected(i)=True改為List1.List(i).Selected=TrueC、將List2.AddItemText改為List2.AddItemList1.List(i)D、將List2.AddItemText改為List2.AddItemList1.ListIndex標準答案:C知識點解析:題目程序不能將List1中的選中項添加到List2中,List2.AddItemText一行有誤,應該改為List2.AddItemList1.List(i)才能使List1中每個選中的行添加到List2中。列表框控件的List屬性保存了列表框中所有值的數(shù)組,可以通過下標訪問數(shù)組中的值。3、對關系S和關系R進行集合運算,結果中既包含關系S中的所有元組也包含關系R中的所有元組,這樣的集合運算稱為()。A、并運算B、交運算C、差運算D、除運算標準答案:A知識點解析:關系的并運算是指,由結構相同的兩個關系合并,形成一個新的關系,其中包含兩個關系中的所有元組。4、下面的數(shù)寫成普通十進制數(shù)是()。8.6787E+8A、86787000B、867870000C、8678700D、8678700000標準答案:B知識點解析:浮點數(shù)也稱為實型數(shù)或實數(shù),是帶有小數(shù)部分的數(shù)值。他由3部分組成:符號、指數(shù)及尾數(shù)。例如123.456E3或123.456E+3的單精度數(shù),這其中的”123.456”部分為尾數(shù)部分、”E3”為指數(shù)部分(E為符號,3為指數(shù)),相當于123.456乘以10的3次冪。中是”E+8”,那么應該是乘以10的8次冪,所以選項B正確。5、在用Open語句打開文件時,如果省略“For方式”,則打開的文件的存取方式是()。A、順序輸入方式B、順序輸出方式C、隨機存取方式D、二進制方式標準答案:C知識點解析:Open語句打開文件時的格式為:Open文件說明[For方式][Access存取類型][鎖定]As[#]文件號[Len=記錄長度]其中,“方式”可以是:Output指定順序輸出方式、Input指定順序輸入方式、Append指定順序輸出方式,它與Output不同的是,當用Append方式打開文件時,文件指針被定位在文件末尾,如果文件執(zhí)行寫操作,則寫入的數(shù)據(jù)附加在原來文件的后面。Random指定隨機存取方式,也是默認方式。6、在程序運行時,下面的敘述中正確的是()。A、用鼠標右鍵單擊窗體中無控件的部分,會執(zhí)行窗體的FormLoad事件過程B、用鼠標左鍵單擊窗體的標題欄,會執(zhí)行窗體的FormClick事件過程C、只裝入而不顯示窗體,也會執(zhí)行窗體的FormLoad事件過程D、裝入窗體后,每次顯示該窗體時,都會執(zhí)行窗體的FormClick事件過程標準答案:C知識點解析:窗體的Click(單擊)事件在程序運行時單擊窗體內的某個無其它控件的部位時發(fā)生;窗體的Load(裝載)事件在一個窗體被裝載時發(fā)生,常用于在程序啟動時對屬性和變量進行初始化,該條件與窗體是否顯示無關。7、當用()方式打開文件時,如果對文件進行寫操作,則寫入的數(shù)據(jù)附加到原文件的后面。A、OutputB、AppendC、InputD、Random標準答案:B知識點解析:本題考查文件的打開方式。以追加的方式打開文件時,每次寫入的記錄存放在文件的末尾。8、設窗體中有一個文本框Text1,若在程序中執(zhí)行了Text1.SetFocus,則觸發(fā)()。A、Text1的SetFocus事件B、Text1的GotFocus事件C、Text1的LostFoCUS事件D、窗體的GotFocus事件標準答案:B知識點解析:setFocus是控件獲得焦點的方法,GotFoCU$是控件獲得焦點后觸發(fā)的事件,I~ostFocus是控件失去焦點后觸發(fā)的事件。本題中程序執(zhí)行Text1.SetFocus后,Text1就獲得焦點,進而觸發(fā)Text1的GotFocus事件。故B選項正確。9、下列表達式的值為2123的是()。A、Val("123asd")&2000B、Val("123asd")+2000C、Str(123)&"2000"D、Str(123)+"2000"標準答案:B知識點解析:本題考查系統(tǒng)函數(shù)和字符串連接運算符。Val的功能是把從頭開始的連續(xù)數(shù)字串轉化成數(shù)字。而Str的功能是把數(shù)字轉化為字符。當操作數(shù)為字符串時,運算符“+”表示對字符串進行連接運算,否則為加法運算。因此選項A)為1232000,選項B)為2123,選項C)和D)全部為1232000。10、有下列程序,運行后的結果為()X=2.4:Y=3:Z=5Print”A(“;X+Y*Z;”)”A、A(17)B、A(17.4)C、A(18)D、A(2.4+3*5)標準答案:B知識點解析:考查Print方法的輸出。使用Print方法可以在窗體或圖片框上輸出文本,方法的參數(shù)為輸出的內容,各個輸出項之間可以使用逗號或分號隔開,如果用”,”隔開,則表示輸出項分區(qū)輸出,否則表示連續(xù)輸出。因此題目中的輸出項”A(“;X+Y*Z;”)”之間用分號分隔是連續(xù)輸出。11、要想不使用Shift或Ctrl鍵就能在列表框中同時選擇多個項目,則應把該列表框的MultiSelect屬性設置為()。A、0B、1C、2D、其他標準答案:B知識點解析:考查列表框的MultiSelect屬性。默認狀況下列表框僅可以選擇一項,通過設置MultiSelect可改變多選設置,該屬性有3種值:0表示禁止多選;1表示簡單多選,在選項上單擊可以選定多項;2為借助Ctrl和Shift鍵進行的多項選擇。12、某人編寫了下面的程序:PrivateSubCommandl_Click()DimaAsInteger,bAsIntegera=InputBox(”請輸入整數(shù)”)b=InputBox(”請輸入整數(shù)”)proaprobCallpro(a+b)EndSubPrivateSubpro(nAsInteger)While(n>0)PrintnMod10;n=n\10WendPrintEndSub此程序功能是:輸入2個正整數(shù),反序輸出這2個數(shù)的每一位數(shù)字,再反序輸出這2個數(shù)之和的每一位數(shù)字。例如:若輸入123和234,則應該輸出:321432753但調試時發(fā)現(xiàn)只輸出了前2行(即2個數(shù)的反序),而未輸出第3行(即2個數(shù)之和的反序),程序需要修改。下面的修改方案中正確的是()。A、把過程pro的形式參數(shù)nAsInteger改為ByValnAsIntegerB、把Callpro(a+b)改為proa+bC、把n=n\10改為n=n/10D、在prob語句之后增加語句c%=a+b,再把Callpro(a+b)改為proc標準答案:A知識點解析:在過程定義中過程的形式參數(shù)定義時如果沒有ByVal指明參數(shù)的傳遞方式,那么默認為地址傳遞,這樣過程中對形參的改變將影響到實參的值。本程序中過程定義語句Privatesubpm(nAsInteger)說明形參n為按地址傳遞的,而在過程內語句n=n\10改變了形參的值,因此,a、b的值就不再是最初輸入的值了,表達式a+b就不是期望的兩個輸入數(shù)的和。因此得不到正確結果。只要把PrivateSubpro(nAsInteger)改為PrivateSubpro(ByValnAsInteger),程序即可得到正確結果,因此A選項正確。13、在黑盒測試方法中,設計測試用例的主要根據(jù)是()。A、程序內部邏輯B、程序外部功能C、程序數(shù)據(jù)結構D、程序流程圖標準答案:B知識點解析:黑盒測試是對軟件已經(jīng)實現(xiàn)的功能是否滿足需求進行測試和驗證,黑盒測試完全不考慮程序內部的邏輯結構和內部特性,只根據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的功能說明,所以本題選擇B。14、為了使文本框只具有垂直滾動條,應先把MultiLine屬性設置為True,然后再把ScrollBars屬性設置為()。A、0B、1C、2D、3標準答案:C知識點解析:文本框的ScrollBars屬性值:0表示無滾動條,1表示只有水平滾動條,2表示只有垂直滾動條,3表示水平和垂直滾動條都有。本題文本框只具有垂直滾動條,則ScrollBal屬性值就設置為2,故C選項正確。15、窗體上有一個名稱為Text1的文本框;一個名稱為Timer1的計時器控件,其Interval屬性值為5000,Enabled屬性值是True。Timer1的事件過程如下:PrirateSubTimer1_Jimer()SmileflagAsIntegerIfnag=0Thenflag=1flag=一flagIfflag=1ThenText1.ForeColor=&HFF&&HFF&為紅色ElseText1.ForeColor:&HC000&&HC000&為綠色EndIfEndSub以下敘述中正確的是()。A、每次執(zhí)行此事件過程時,flag的初始值均為0B、flag的值只可能取0或1C、程序執(zhí)行后,文本框中的文字每5秒改變一次顏色D、程序有邏輯錯誤,Else分支總也不能被執(zhí)行標準答案:C知識點解析:程序中flag被定義為Static變量,它的值只在第一次執(zhí)行事件過程時為0,以后每次執(zhí)行計時器事件過程它的值都會保留上次過程中運算后的值,之后它的值是1或一1。文本框控件的ForeColor屬性表示文本框中文字的顏色,計時器控件的Interval屬性為5000,即計時器間隔為5秒鐘一次,每次調用就會交替改變文本框中文字的顏色。因此C選項正確。16、Fibonaeei數(shù)列的規(guī)律是:前2個數(shù)為1,從第3個數(shù)開始,每個數(shù)是它前2個數(shù)之和,即:1,1,2,3,5,8,13,21,34,55,89,…。某人編寫了下面的函數(shù),判斷大于1的整數(shù)X是否是Fibonacci數(shù)列中的某個數(shù),若是,則返回True,否則返回False。FunctionIsfab(xAsInteger)AsBooleanDimaAsInteger,bAsInteger,cAsInteger,tlagAsBooleanflag=Falsea=1:b=1DoWhilex<bC=a+b:a=b:b=cIfx=bThenflag=TrueLoopIsfab=flagEndFunction測試時發(fā)現(xiàn)對于所有正整數(shù)x,函數(shù)都返回False,程序需要修改。下面的修改方案中正確的是()。A、把a=b與b=c的位置互換B、把c=a+b移到b=c之后C、把DoWhilex<b改為DoWhilex>bD、把Ifx=bThenflag=True改為Ifx=aThenflag=True標準答案:C知識點解析:在本題中通過分析題干中的程序可以看出,函數(shù)的返回值就是變量flag的值。錯誤現(xiàn)象是無論輸入哪個正整數(shù)均會返回False,這就代表著沒有執(zhí)行循環(huán),直接輸出的就是變量flag的初值False。進一步分析可以看出,由于b的初值為1,而任何正整數(shù)均不會小于1,所以永遠無法滿足循環(huán)條件從而進入循環(huán),因此需要將條件x<b改為x>b。17、在窗體上畫一個命令按鈕和一個文本框,其名稱分別為Command1和Text1,把文本框的Text屬性設置為空白,然后編寫如下事件過程:PrivateSubCommand1_Click()a=InputBox("Enteraninteger")b=Text1.TextText1.Text=b+aEndSub程序運行后,在文本框中輸入456,然后單擊命令按鈕,在輸入對話框中輸入123,則文本框中顯示的內容是()。A、579B、123C、456123D、456標準答案:C知識點解析:默認情況下,InputBox的返回值是一個字符串,因此程序中a="123",b="456",b+a="456"+"123"="456123"。因此C選項正確。另外,使用字符連接運算符"+"時,如果連接的是字符串和數(shù)值,可根據(jù)返回值類型判斷,若返回值類型為字符串,則它將數(shù)值轉換成字符串后與另一字符串連接成新字符串返回;若返回值類型為數(shù)值,則它要求字符串中只能包含數(shù)字,而不能有其他字符,否則報"類型不匹配"的錯誤。18、在窗體上畫一個組合框,一個命令按鈕和一個文本框,其名稱分別為Combo1,Command1和Text1,然后編寫如下事件過程:PrivateSubForm_Load()Combo1.AddItem"AAAAA"Combo1.AddItem"BBBBB"Combo1.AddItem"CCCCC"Combo1.AddItem"DDDDD"Combo1.AddItem"EEEEE"EndSub程序運行后,如果單擊命令按鈕,則在文本框中顯示組合框的項目"CCCCC"。為了實現(xiàn)該操作,在命令按鈕的Click事件過程中應使用的語句為()。A、Text1.Text=Combo1.List(2)B、Text1.Text=Combo1.TextC、Text1.Text=Combo1.List(3)D、Text1.Text=Combo1.ListIndex標準答案:A知識點解析:List屬性可以返回組合框中各選項的內容。用下標區(qū)分各選項,第1個選項下標為0,依次類推。"CCCCC"為組合框中第3個選項,可以用Combo1.List(2)返回選項內容。故A選項正確,C選項錯誤。Text屬性返回的是組合框中選中項目的內容;ListIndex屬性返回的是選中項目的索引值,即下標。故B、D選項錯誤。19、假定Picturel和Textl分別為圖片框和文本框的名稱,則下列錯誤的語句是()。A、Print25B、Picturel.Print25C、Textl..Print25D、Debug.Print25標準答案:C知識點解析:Ptint方法可以在窗體上顯示文本字符串和表達式的值,并可在其他圖形對象或打印機上輸出信息。其一般格式為:[對象名稱.]Print[表達式表][,l;]其中對象名稱可以是窗體(Fonn)、圖片框(PietureBox)或打印機(Printer),也可以是立即窗口(Debug)。如果省略對象名稱,則在當前窗體上輸出。20、在窗體上畫一個名稱為Combol的組合框,名稱為Textt的文本框,以及名稱為Command1的命令按鈕,如圖所示。運行程序,單擊命令按鈕,將文本框中被選中的文本添加到組合框中,若文本框中沒有選中的文本,則將文本框中的文本全部添加到組合框中。命令按鈕的事件過程如下:PrivateSubCommandl—Click()IfTextl.SelLength<>0ThenElseCornbol.AddltemText1EndIfEndSub程序中橫線處應該填寫的是()。A、Combol.AddItemText1.TextB、Combol.AddItemText1.SdStartC、Combol.AddhemText1.SelTextD、Combol.AddhemText1.SelLen舢標準答案:C知識點解析:根據(jù)題意可知,橫線處應該是將文本框中選中文本添加到組合框中。文本框Text屬性返回整個文本框中的文本,故A選項錯誤;SelStart屬性返回選中文本的起始位置,故B選項錯誤;SelLength屬性返回選中文本的長度,故D選項錯誤;SelText屬性返回選中的文本,故C選項正確。21、下列關于計時器控件的描述中,正確的是()。A、計時器只有1個事件,即Timer事件B、Interval屬性以微秒為單位設置計時器事件產(chǎn)生的間隔C、可以根據(jù)需要在窗體上調整計時器的大小D、可以通過屬性設置決定計時器是否在窗體上可見標準答案:A知識點解析:計時器的Interval屬性以毫秒為單位,B選項敘述錯誤;計時器控件的位置和大小無關緊要,因為它只是在設計階段出現(xiàn)在窗體上,程序運行時會自動消失,故C選項和D選項敘述均錯誤,本題A選項敘述正確。本題選擇A選項。22、在窗體上廁一個名稱為Command1的命令按鈕,然后編寫如下程序:PrivateSubCommand1_Click()DimaAsIntegera=2s=0Fori=1To3s=s+Fun(a)NextiPrintsEndSubFunctionFun(aAsInteger)StaticCb=0b=b+1c=c+1Fun=a+b+CEndFunction程序運行后,單擊命令按鈕,輸出結果是()。A、6B、9C、11D、15標準答案:D知識點解析:Function過程和Sub過程有一個很重要的區(qū)別,F(xiàn)unction過程可以帶返回值,而Sub過程不可以。本題的Command1_Click()過程中,使用。For循環(huán)結構調用函數(shù)過程Fun,并將Fun帶回的計算結果進行累加,Command1_Click()事件過程中For循環(huán)共執(zhí)行3次,循環(huán)執(zhí)行情況及各變量的值如下表所示。本題中Fun函數(shù)過程中定義的變量c是靜態(tài)局部變量,可以保留上次程序執(zhí)行后的結果,最后輸出變量s的值為15,所以D選項正確。23、設已經(jīng)在菜單編輯器中設計了彈出式菜單mnuStyle,要求程序運行時,當用戶在文本框Text1上單擊鼠標右鍵時,能夠彈出該菜單,則應使用的事件過程是()。A、PrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenumnuStyleEndIfEndSubB、PrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenPopupMenumnuStyleEndIfEndSubC、PrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenmnuStyle.ShowEndIfEndSubD、PrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenmnuStyle.PopupEndIfEndSub標準答案:A知識點解析:為了顯示彈出式菜單,通常把PopupMenu方法放在MouseDown事件中,該事件響應所有的鼠標單擊操作。按照慣例,一般通過單擊鼠標右鍵顯示彈出式菜單,這可以用Button參數(shù)來實現(xiàn)。對于鼠標來說,左鍵的。Button參數(shù)值為1,右鍵的Button參數(shù)設置為2,因此,可以使用“IfButton=2ThenPopupMenu菜單名”語句可以通過單擊鼠標右鍵來響應MouseDown事件、顯示彈出式菜單,故本題A選項正確。本題選擇A選項。24、軟件設計中模塊劃分應遵循的準則是A、低內聚低耦合B、高耦合高內聚C、高內聚低耦合D、以上說法均錯誤標準答案:C知識點解析:根據(jù)軟件設計原理提出如下優(yōu)化準則:①劃分模塊時,盡量做到高內聚、低耦合,保持模塊相對獨立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣合同模板集錦六篇
- 2024年版短期租房合同樣本
- 2024年版智能家居玻璃膠采購與供應合同
- 大班社會教案4篇
- 公司市場部工作計劃模板
- 客服人員個人工作總結總結計劃
- 2021-2026年中國抗貧血藥鐵劑行業(yè)市場全景調研及投資規(guī)劃建議報告
- 一年級語文老師述職報告
- 2022年中職教師工作計劃個人
- 三年級上冊數(shù)學說課稿范文集錦七篇
- 汽修廠消防培訓課件
- 智慧大棚方案
- 紀委案件工作總結
- 醫(yī)療研究小組成員及其角色劃分
- 陰道助產(chǎn)完整課件
- 宜家品牌分析報告
- 新媒體個人賬號分析報告
- 土地清查服務流程
- 農民專業(yè)合作社章程(參考范本)
- 搶救儀器設備管理培訓課件
- 幼兒園大班上學期社會教案《今天我當家》及教學反思
評論
0/150
提交評論