國家二級(VB)機試模擬試卷22_第1頁
國家二級(VB)機試模擬試卷22_第2頁
國家二級(VB)機試模擬試卷22_第3頁
國家二級(VB)機試模擬試卷22_第4頁
國家二級(VB)機試模擬試卷22_第5頁
已閱讀5頁,還剩125頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

家二級(VB)機試模擬試卷第1套

一、選擇題(本題共40題,每題1.0分,共40分。)

1、設R是一個2元關系,有.3個元組,S是一個3元關系,有3個元組。如丁=

RxS,則T的元組的個數為()。

A、6

B、8

C、9

D、12

標準答案:C

知識點解析:R為n元關系,有p個元組,S為m元關系,有q個元組。兩個關系

笛卡兒積是一個n+m元的關系,元組個數是qxp。所以T的元組的個數為9個。

2、窗體上有文本框Texll和一個菜單,菜單標題、名稱見表,結構如圖2所示。

要求程序執行時單擊“保存”菜單項,則把其標題顯示在Textl文本框中,下面可實

施名稱

牛file

新建new

耐save

現此功能的事件過程是()。

A、PrivateSubsave_Click()save_Click()Textl.Text=file.save.CaptionEndSub

B、PrivateSubsave_Click()Textl.Text=save.CaptionEndSub

C、PrivateSubfile_Click()Textl.Text=file.save.CaptionEndSub

D、PrivateSubfile_Click()Textl.Text=save.CaptionEndSub

標準答案:B

知識點解析:本題考查菜單事件。菜單建立以后,對于每個菜單項要進行編寫程

序,才可以進行處理,單擊“保存”命令時,代碼窗體自動出現事件過程:Private

Subsave_Click()EndSub在程序之間加上Textl的Text屬性改變代碼即可。

3、在窗體上有一個文本框Textl和一個標簽LabeH,要求運行程序時,在文本框中

輸入的內容立即顯示在標簽中(如圖1所示),則空白處應填入的內容是()。

*Foi.l匚叵*

AK

ffiIPrivateSubTextl()Label1.Caption=Textl.TextEnd

Sub

A、GetFocus

B、Click

C>Change

D、LostFocus

標準答案:C

知識點解析:考查文本框的事件。文本框的GetFocus事件為文本框獲得焦點時觸

發一次,而單擊文本框時觸發一次Click事件,Change事件是每次文本框中的文本

發生改變時觸發的事件,而LostFocus事件是文本框失去焦點時觸發的事件。

4、下面控件中,沒有Caption屬性的是()。

A、復選框

B、單選按鈕

C、組合框

D、框架

標準答案:C

知識點解析:Caption屬性是設置或返回控件的標題。組合框沒有Caption屬性。故

選C。

5、下面關于多重窗體的敘述中,正確的是()。

A、作為后動對象的Main子過程只能放在窗體模塊內

B、如果啟動對象是Main子過程,則程序啟動時不加載任何窗體,以后由該過程

根據不同情況決定是否加載窗體或加載哪一個窗體

C、沒有啟動窗體,程序不能執行

D、以上都不對

標準答案:B

知識點解析:本題考查多重窗體。VB允許對多個窗體進行處理,多重窗體

(MulliForm)程序中的每個窗體都可以有自己的界面和代碼,完成各自的功能。默

認第一個窗體為肩動窗體。也可以在“工程”菜單中利用屬性對話框的提示自行設置

后動窗體。可以在標準模塊中定義。Main子過程作為啟動窗體,如果啟動對象是

Main子過程,則程序啟動時不加載任何窗體,以后山該過程根據不同情況決定是

否加載窗體或加載哪一個窗體。

6、在文本框控件中,將Text的內容全部顯示為用戶所定義的字符的屬性是()。

A、PasswordChar

B、需要編程來實現

CNPassword

D、以上都不是

標準答案:A

知識點解析:本題考查文本框常見屬性。文本框的Passwordchar屬性設置顯示文

本為實際內容還是規定的字符顯示;文本框控件不存在Password屬性。

7、為達到把a、b中的值交換后輸出的日的,某人編程如下:PrivateSub

Command1-Click()a%=10:b%=20Callswap(a,b)Printa,bEndSubPrivateSub

swap(ByValaAsInteger,ByVaibAsInteger)c=a:a=b:b=cEndSub在運行時發現

輸出結果錯了,需要修改。下面列出的錯誤原因和修改方案中正確的是()。

A、調用swap過程的語句錯誤,應改為:Callswapa,b

B、輸出語句錯誤,應改為:Print%”,“b”

C^過程的形式參數有錯,應改為:swap(ByRefaAslnteger,ByRefbAsInteger)

D、sw叩中3條賦值語句的順序是錯誤的,應改為a=b:b=c:c=a

標準答案:C

知識點解析?:本題考查參數傳遞。VB過程調用中,參數有兩種傳遞方式:傳址傳

遞和傳值傳遞。如果在過程聲明時形參用ByVai聲明,說明此參數為傳值調用;

若用ByRef聲明,說明比參數為傳址調用;沒有說明傳遞類型,則默認為傳址傳

遞(即形參的結果會傳遞給實參)。本題中為了實現數據的交換,要求進行傳址調

用,因此形參前面不應用ByVai聲明。

8、下列選項中不屬于結構化程序設計原則的是()。

A、可封裝

B、自頂向下

C、模塊化

D、逐步求精

標準答案:A

知識點解析:結構化程序設計的思想包括:自頂向下、逐步求精、模塊化、限制使

用goto語句,所以選擇Ac

9、下列關于數據庫設計的敘述中,正確的是()。

A、在需求分析階段建立數據字典

B、在概念設計階段建立數據字典

C、在邏輯設計階段建立數據字典

D、在物理設計階段建立數據字典

標準答案:A

知識點解析:數據字典是在需求分析階段建立,在數據庫設計過程中不斷修改、充

實和完善的。

10、待排序的關鍵碼序列為(15,20,9,30,67,65,45,90),要按關鍵碼值遞

增的順序排序,采取簡單選擇排序法,第一趟排序后關鍵碼15被放到第()個位

置。

A、2

B、3

C、4

D、5

標準答案:B

知識點解析:選擇排序的基本思想是掃描整個線性表,從中選出最小的元素,將它

交換到表的最前面,然后對剩下的子表采用同樣的方法,直到子表為空。所以第一

趟排序后,將選出最小的元素9放在第一個位置,元素15則放在第3個位置。

11、窗體上有一個Textl文本框,一個Command1命令按鈕,并有以下程序:

PrivateSubcommandl_Click()DimnIfTextl.Texto"l23456"Then

n=n+lPrint”口令輸入錯誤“&n&"次"EndIfEndSub希望程序運

行時得到左圖所示的效果,即:輸入口令,單擊“確認口令”命令按鈕,若輸入的口

令不是“123456”,則在窗體上顯示輸入錯誤口令的次數。但上面的程序實際顯示的

是右圖所示的效果,程序需要修改。卜.面修改方案中正確的是()。

A、在Dimn語句的下面添加一句:n=0

B、把Prin丑口令輸入錯誤“&n&"次"改為Print”口令輸入錯誤"+n+"次”

C、把Print”口令輸入錯誤“&n&"次"改為Print”口令輸入錯誤”&Str(n)&"次"

D、把Dimn改為Staticn

標準答案:D

知識點解析:木題考查的是動態變量與靜態變量.原來的程序中無法使變量n的值

保持到下一次的使用,只有D選項符合要求,將n定義為靜態局部變量,在程序

執行到該對象的聲明處時被首次初始化,每次執行后n的值都會被保存到內存中,

所以答案D是正確的;而A選項只是對n賦初值,所以A選項沒有意義;B選項

和C選項都沒有達到改進的目的。

12、為了在窗體上建立2組單選按鈕,并且當程序運行時,每組都可以有一個單選

按鈕被選中,則以下做法中正確的是()。

A、把這2組單選按鈕設置為名稱不同的2個控件數組

B、使2組單選按鈕的Index屬性分別相同

C、使2組單選按鈕的名稱分別相同

D、把2組單選按鈕分別畫到2個不同的框架中

標準答案:D

知識點解析:框架(Frame)是一個容器控件,用于將屏幕上的對象分組,單選按鈕

(OptionButton)組用于提供多個選項間的唯一選擇,因此若要使得每組中都有一個

按鈕被選中,需要將其使用框架分組。

13、下列針對框架控件的敘述中,錯誤的是()。

A、框架是一個容器控件

B、框架也有Click和DblClick事件

C、框架也可以接受用戶的輸入

D、使用框架的主要目的是為了對控件進行分組

標準答案:C

知識點解析:框架是一個容器控件,用于將屏幕上的對象分組。框架常用的事件是

Click和DblClick,它不接受用戶輸入,不能顯示文本和圖形,也不能與圖形相

連。

14、數據庫系統的三級模式不包括()。

A、概念模式

B、內模式

C、外模式

D、數據模式

標準答案:D

知識點解析:數據庫系統的三級模式是概念模式、外模式和內模式,所以選擇D。

15、有如下過程代碼:Subvar_dim()StaticnumaAsIntegerDimnumbAs

Integernuma=numa+2numb=numb+1printnuma;numbEndSub

連續3次調用vajdim過程,第3次調用時的輸出是()。

A、21

B、23

C、61

D、63

標準答案:c

知識點解析:Slatic聲明的變量為靜態變量,靜態變量在程序運行期間,每次進入

過程時都會保留上次的值,而普通變量不會保留。numa定義為靜態變量,因此每

次調用都會保留結果,3次調用過程,numa的值為6,numb的值為1。

16、窗體如圖1所示。要求程序運行時,在文本框Textl中輸入一個姓氏,單擊”

刪除'按鈕(名稱為Commandl),則可刪除列表框Lstl中所有該姓氏的項目。若編

寫以下程序來實現此功能:PrivateSubCommand1_Click()PrivateSub

Commandl_CIick()Dimn%,k%n=Len(Text1.Text)Fork=0To

Listl.ListCount—1IfLeft(Listl.List(k),n)=Text1.TextThen

List1.RemoveitemkEndIfNextkEndSub在調試時發現,如輸入"陳

",可以正確刪除所有姓“陳”的項目,但輸入“劉”,則只刪除了“劉邦“、”劉備”2

項,結果如圖2所示。這說明程序不能適應所有情況,需要修改。正確的修改方案

是把Fork=0ToLisll.LislCounl—1改為()。

A^Fork=List1.ListCount—1To0Step—1

B>Fork=0ToListI.ListCount

C、Fork=1ToList1.ListCount_1

D、Fork=1ToList1.ListCount

標準答案:A

知識點解析:錯誤原因:每一次刪除列表框滿足項,列表框的項目數目就會相應地

減少,所以就出現了漏刪內容,如果把循環變量k改成從Listl.ListCout—1到0,

從最后一個項目往第一個項目查找,滿足條件就刪除該項目,從而不會出現遺漏現

象,所以正確答案為A。

17、為了使標簽控件在顯示其內容時不覆蓋其背景內容,需進行設置的屬性為

()o

A、BackColor

B、BordcrStyle

C、ForeColor

D^BackStyle

標準答案:D

知識點解析:標簽控件的BackStyle屬性值為。時,標簽為透明的,不會遮住背景

內容,BackStyle屬性值為1時,標簽將覆蓋背景。

18、在窗體上畫一個命令按鈕和一個標簽,其名稱分別為Command1和Label1,

然后編寫如下事件過程:PrivateSubCommandl_Click()Dimarr(10)Fori

=6To10arr(i)=i—5NextiLabel1.Caption=arr(O)+arr(arr(10)/

arr(6))EndSub運行程序,單擊命令按鈕,則在標簽中顯示的是()。

A、0

B、1

C、2

D、3

標準答案:C

知識點解析:程序為使用For語句為數組中部分元素賦值,沒顯示賦值的數組元素

的值默認為O因此am:0)=0,arr(10)=10—5=5,arr(6)=6-5=1,arr(arr(10)/

arr(6))即,arr(5/l)=an(5)=0,arr(0)+arr(5)=0+0=0。因此標簽中顯示為0,

19、編寫如卜程序代碼:PrivateSubCommandl―Click()CallsubproEndSubSub

sub_pro()StaticsumAsIntegerDimiAsIntegerFori=lTo10Step2sum=sum+iNext

PrintsumEndSub程序運行后,第三次單擊命令按鈕Commandl時,輸出結果為

()。

A、25

B、75

C、55

D、165

標準答案:B

知識點解析:在過程sub_pr。中定義了一個靜態整型變量sum,與Dim定義變顯不

同的是,用Static定義的變量,過程在被多次被調用時,其值可以繼續保留。過程

中使用的for循環的功能是:對1到10之間的所有奇數進行求和,將結果保留到

變量sum中。程序3次單擊按鈕,則過程sub_pm過程被調用3次,第1次靜杰變

量sum的值為25;第2次調用sub_pro過程時,第1次sum的值被保留,靜態變

量sum第2次的值為50;第3次調河sub_pro過程時,第2次sum的值被保留,

靜態變量sum第3次的值為75;故最終變量sum的值為75,B選項正確。本題選

擇B選項。

20、下列關于棧的敘述中,正確的是

A、棧底元素一定是最后入棧的元素

B、棧頂元素一定是最先入棧的元素

C、棧操作遵循先進后出的原則

D、以上說法均錯誤

標準答案:C

知識點解析:棧頂元素總是后被插入的元素,從而也是最先被刪除的元素;棧底元

索總是最先被插入的元索,從而也是最后才能被刪除的元素。棧的修改是按后進先

出的原則進行的。因此,棧稱為先進后出表,或“后進先出”表,所以選擇C。

21、有下面程序代碼:PrivateSubCommandl_Click()Fork=5To1Step-1x=k+

x*10NextkPrintxEndSub程序運行后,單擊命令按鈕Commandl,輸出結果是

A、12345

B、54321

C、15

D、150

標準答案:B

知識點解析:For循環用來對x賦值。步長為一共執行5次,第一次執行完后

x=5,第二次執行完后x=54,以此類推,選B)。

22、有下面程序代碼:PrivateSubCommand1_C1ick()a=Array(1,2,3,4,5,6,7,8,

9,10)n=UBound(a)Fork=0ToUBound(a)/2Printa(k)*a(n);n=n-1NextkEnd

Sub程序運行后,單擊命令按鈕Commandl,輸出結果是

A、26122030

B、212205690

C、3028241810

D、1018242830

標準答案:D

知識點解析:UBound獲取數組a的上標值,n=9。For循環邊界為0至4。每次執

行For的循環體時均會進行打印。選D)。

23、下列關于標簽的描述中,錯誤的是

A、標簽可以響應Click事件

8、標簽不能響應DblClick事件

C、為了使標簽的Wordwrap屬性起作用,必須將其AutoSize屬性設置為True

D、標簽上顯示的文本就是Caption屬性的值

標準答案:B

知識點解析:標簽可以響應Click事件和DblClick事件。選B)。

24、下列敘述中正確的是

A、棧與隊列都只能順序存儲

B、循環隊列是隊列的順序存儲結構

C、循環鏈表是循環隊列的鏈式存儲結構

D、棧是順序存儲結構而隊列是鏈式存儲結構

標準答案:B

知識點解析:棧是所有的插入與刪除都限定在表的同一端進行的線性表;隊列是指

允許在一端進行插入,而在另一端進行刪除的線性表,二者均即可以順序存儲也可

以鏈式存儲。為「充分地利用數組的存儲空間,把數組的前端和后端連接起來,形

成一個環形的表,稱為循環隊列,因此循環隊列是隊列的一種順序存儲結構,B

選項正確。

25、一個工程中包含兩個名稱分別為Forml、Form2的窗體、一個名稱為Func的

標準模塊。假定在Forml、Form2和Func中分別建立了自定義過程,其定義格式

為:Foiml中定義的過程:PrivateSubFunl()EndSubForm2中定義的過程:

PrivateSubFun2()EndSubFunc中定義的過程:PrivateSubFun3()EndSub在調用

上述過程的程序中,如果不指明窗體或模塊的名稱,則以下敘述中正確的是()。

A、上述3個過程都可以在工程中的任何窗體或模塊中被調用

B、Funl和Fun2過程能夠在工程中各個窗體或模塊中被調用

C、上述3個過程都只能在各自被定義的模塊中調用

D、只在Fun3過程能夠被工程中各窗體或模塊調用

標準答案:C

知識點解析:本題考查過程的作用域。在定義過程或者函數的時候選用了Private

關鍵字說明,那么這個過程僅可以在本模塊中使用,標準模塊定義的函數或者過程

也不例外。

26、窗體上有一個名稱為Textl的文本框;一個名稱為Timerl的計時器控件,其

Interval屬性值為5000,Enabl6d屬性值是True。Timerl的事件過程如下:Private

SubTimerl_Timer()StaticflagAsIntegerIfflag=0Thenflag=1flag=

-HagIfflag=1ThenTextl.ForeColor=&HFF&'&HFF&為紅色

ElseText1.ForeColor=&HC000&'&HC000&為綠色EndIfEr.d

Sub以下敘述中正確的是()<,

A、每次執行此事件過程時,flag的初始值均為0

B、flag的值只可能取0或1

C、程序執行后,文本框中的文字每5秒改變一次顏色

D、程序有邏輯錯誤,Else分支總也不能被執行

標準答案:C

知識點解析:程序中flag被定義為Static變量,它的值只在第一次執行事件過程時

為0,以后每次執行計時器事件過程它的值都會保留上次過程中運算后的值,之后

它的值是1或一1。文本框控件的ForeColor屬性表示文本框中文字的顏色,計時

器控件的Interval屬性為5000,即計時器間隔為5秒鐘一次,每次調用就會交替改

變文本框中文字的顏色。因此C選項正確。

27、在Forml窗體上有一個菜單項,名稱為Menu,它有自己的子菜單。若希望在

鼠標右鍵單擊窗體時能夠彈出Menu的子菜單,某人編寫了下面的事件過程:

PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAs

Single)IfButton=2ThenMenuPopupMenuEndIfEndSub但調試時發現不能達到

目的,需要修改程序,下面正確的修改方案是

A、把IfButton=2Then改為IfButton=IThen

把過程名改為Forml_MouseDown

C>把MenuPopupMenu改為PopupMenu

D、把MenuPopupMenu改為PopupMenuMenu

標準答案:D

知識點解析:PopupMenu方法用來顯示彈出式菜單,PopupMenu后接菜單名。菜

單名是在菜單編輯器中定義的主菜單項名,故選項D正確,C選項錯誤。對于兩

個鍵的鼠標來說,左鍵的Button參數值為1,右鍵的Button參數值為2,因此,若

鼠標右鍵單擊窗體時能夠彈出Menu的子菜單,IfButton=2條件語句正確,故A選

項錯誤。故本題答案為D項。

28、下面不屬于黑盒測試方法的是

A、邊界值分析法

B、基本路徑測試

C、等價類劃分法

D、錯誤推測法

標準答案:B

知識點解析:常用的黑盒測試方法和技術有:等價類劃分法、邊界值分析法、錯誤

推測法和因果圖等?;韭窂綔y試屬于白盒測試,故正確答案為B選項。

29、下面肯定是一個整型變量的是

A^x%

B、Int_x

C、x$

D、x#

標準答案:A

知識點解析:選項B中,x也可能是字符類型;選項C中,$是字符串類型符;選

項D中,#是雙精度浮點數類型符。故正確答案為選項A。

30、設通用對話框的名彌為CommonDialogl,執行語句CommonDialogl.Action=

3,則打開的對話框是

A、顏色對話框

B、字體對話框

C、打開文件對話框

D、保存文件對話框

標準答案:A

知識點解析:通用對話框CommonDialog的Action屬性設置為3,表示打開顏色對

話框。故正確答案為選項A。

31、在VisualBasic中,不能關閉的窗口是

A、窗體設計器窗口

B、工程窗口

C、屬性窗口

D、立即窗口

標準答案:B

知識點解析:在VisualBasic中,不能關閉的窗口是工程窗口。

32、窗體的MouseUp事件過程如下:PrivateSubForm_MouseUp(ButlonAs

Integer,ShiftAsInteger,XAsSingle,YAsSingle).......EndSub關于以上

定義,以下敘述中錯誤的是()0

A、根據Shift參數,能哆確定使用轉換鍵的情況

B、根據X、Y參數可以確定觸發此事件時鼠標的位置

C、Button參數的值是在MouseUp事件發生時,系統自動產生的

D、MouseUp是鼠標向上移動時觸發的事件

標準答案:D

知識點解析:MouseUp事件是鼠標松開時觸發的事件過程,事件過程的Bulton參

數值由系統產生,為被按下的鍵,Shift參數表示Shift、Ctrl和Alt鍵的狀態,X、

Y參數表示光標的當前位置。

按照下表建立菜單:

序號腌⑻名稱?Index

1菜單項Mnu無

2菜單項1Mnul????1

3菜單項2Mnul????2J

4菜單項3Mnul---?3

單擊菜單的事件過程如下:

PrivateSubmnul_Click(lndexAsInteger)

SelectCaselnde<

Case1

Print"選中菜單項1"

Case2

Ifmnul(2).Checked=TrueThen

mnul(2).Checked=False

Else

mnul(2).Checked=True

EndIf

Case3

Print"選中菜單項3"

EndSelect

EndSub

關于上述程序,以下敘述中錯誤的是

A、各子菜單項組成一個名稱為mnul的控件數組

B、不論選中菜單項1、2或3,均執行mnuLClick事件過程

C、Case2分支的語句沒有必要,因為該菜單獨的“復選”屬性已被設置

D、程序中的Index是系統自動產生的

標準答案:C

知識點解析:菜單項1至菜單項3是名稱為mnul的控件數組,系統自動產生索引

分別為123。由于是控件數組的原因,在選中菜單項1至3中任何一項,都會執

行mnul_Click事件過程。選C)。

34、一個棧的初始狀態為空。現將元素1,2,3,A,B,C依次入棧,然后再依次出棧,

則元素出棧的順序是

A、1,2,3,A,B,C

B、C,B,A』,2,3

C、C,B,A,3,2』

D、1,2,3,C,B,A

標準答案:C

知識點解析:棧的修改是按后進先出的原則進行的,所以順序應與入棧順序相反,

故選C。

35、現有如下一段程序:PrivateSubCommandl_Click()x=UCase(InputBox("

輸入:"))SelectCasexCasenAMTo"C"Print”考核通

過!”Case,'D1'Prinl”考核不通過!"CaseElse

Print”輸入數據不合法!"EndSelectEndSub執行程序,在輸入框中輸入字母

"B",則以下敘述中正確的是()<>

A、程序運行錯

B、在窗體上顯示"考核通過!”

C、在窗體上顯示“考核不通過!”

D、在窗體上顯示”輸入數據不合法!”

標準答案:B

知識點解析:程序中Ucase函數將輸入的字母轉換為大寫,然后通過Select多分支

控制語句選擇輸出不同信息,當輸入字母在”A“到”C”之間時,顯示“考核通過!、

輸入的是“D“時顯示”考核不通過!'如果輸入的是”A”到“D”之外的其他字符則顯

示“輸入數據不合法!程序中輸入字母”B“,因此會顯示“考核通過!

36、程序運行時,拖動滾動條上的滾動框,則所觸發的事件是

A、Move

B、Scroll

C、Drag

D、DragDrop

標準答案:B

知識點解析:在滾動條內拖動滾動框時,觸發產生Scroll事件。

37、編寫如下程序:DimnumAsInteger,rAsInteger,nAsInteger,iAsIntegerDim

arr(5)AsIntegerPrivateSubCommand1_Click()num=12:r=2Callsub1(num,r,n)

Fori=nTo1Step-1Printarr(i);NextiEndSubSubsubl(dAsInteger,rAsInteger,k

AsInteger)k=0DoWhiled<>0k=k+1arr(k)=dModrd=d\rLoopEndSub程

序運行后,單擊命令按鈕Command1,輸出結果為

A、1100

B、0011

C、0101

D、1010

標準答案:A

知識點解析:subl函數對全局數組arr元素賦初值,subl函數參數傳遞均為默認的

引用傳遞。因此執行完后n值被修改。Commandl_Oick0事件中的For循環對arr

數組元素進行倒序輸出。選A)。

38、在軟件開發中,需求分析階段產生的主要文檔是()。

A、軟件集成測試計劃

B、軟件詳細設計說明書

C、用戶手冊

D、軟件需求規格說明書

標準答案:D

知識點解析:需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規

格說明書、需求評審四個方面。所以選擇D

39、下面屬于黑盒測試方法的是

A、語句覆蓋

B、邏輯覆蓋

C、邊界值分析

D、路徑覆蓋

標準答案:C

知識點解析:黑盒測試不關心程序內部的邏輯,只是根據程序的功能說明來設計測

試用例。在使用黑盒測試法時,手頭只需要有程序功能說明就可以了。黑盒測試法

分等價類劃分法、邊界值分析法和錯誤推測法,答案為C。而A、B、D均為白盒

測試方法。

40、窗體上有一個名稱為Textl的文本框,一個名稱為Commandl的命令按鈕。命

令按鈕的單擊事件過程如下:PrivateSubCommandl_Click()DimxlAsInteger,x2

AsInteger,x3AsIntegers=Trim(Textl.Text)strLen=Len(s)Fori=1TostrLenc=

Mid(s,i,1)SelectCasecCase"0"To"9"xl=xl+1Case"AnTo"Z"x2=x2+1Case

"a"To,rz"x3=3+1CaseElsex4=x4+1EndSelectNextPrint"xln;xl,“x2”;x2,

“x3”;x3,“x4”;x4EndSub以下關于上述程序的敘述中,正確的是

A、s是去掉文本框中字符串末尾的空格

B、SelectCasec有誤,Case后應該是一個表達式

C、各Case分支條件有誤,不能用T。表示字符的取值區間

D、x4是字符串中非字母、非數字字符的個數

標準答案:D

知識點解析:Trim函數是去掉字符串前面和后面的空格,A)錯。SelectCase語句

的測試表達式,可以是算術表達式或字符表達式,其值應是數字或字符型,B)

錯。Case語句可以是連續的范圍:界1To界2,如:I2TO20,C)錯。x4是排除

了字符串中字母、數字字符的個數的和。選D)。

二、基本操作題(本題共2題,每題7.0分,共2分。)

請根據以下各小題的要求設計VisualBasic應用程序(包括界面和代碼)。

41、在名稱為Forml的窗體上畫一個名稱為CD1的通用對話框,通過屬性窗口設

置CD1的初始路徑為C:\,默認的文件名為None,標題為“保存等級考試”,如

保〃號續態或

何枳EB-F)三].電d0?

usmr?■SOCMM

UI

QlHKAi2

,二Pr.,Filmict

J-e?m

OW

jTDBWStul

劉似精738c

ren

3rrni

胃口因

(?)nuie

叉胃名,Hi-[GR]

.egI--------------3I

____________________

圖2所示。圖2注意:

存盤時必須存放在考生文件央下,_£程文件名為sj〔l.vbp,窗體文件名為

sjtl.frnio

標準答案:|操作步驟|步驟1:新建一個“標準。EXE”工程,選擇|工程]一[部件]命

令,在彈出的“部件”對話框的列表中選PWicroSoftCommonDiMogControl.0"

項目,單擊“確定”按鈕。步驟2:在窗體Forml上畫一個通用對話框,其相關屬

表12-7

屬性設?值

NameCDI

通用對話刖DialogTitJc保存等級考試

FdcNameNone

性設置如表12—7所示。----------InitDir——口——步驟3:編寫

Forml的Iroad事件,加入下面的代碼:CDI.ShowSave步驟4:按要求將文件保

存至考生文件夾中。

知識點解析:通用對話框的InitDir屬性用于為打開或另存為對話指定初始的目

錄,如果此屬性沒有指定,則使用當前目錄。通用對話框的初始路徑由InitDir屬

性設置,默認文件名由FilcName屬性設置,標題由DialogTi加屬性設置。

42、在名稱為Forml的窗體上設ii^一個菜單。要求在窗體上添加名為menu。,標

題為“菜單命令”的主菜單,再添加兩個名稱分別為“memil"、“menu2”,標題分別

為“不可用菜單項“、“_L一菜單項可用''的子菜單,并且使程序運行時?,menul子菜

單不可用,menu2子菜單已經選中(運行時的效果如圖3所示)。

?For?1回區

榮I

.上一mwr常

圖3再編寫適當的事件過程,使得程序運行時,單擊“上一

菜單項可用”,則“不可用菜單項”變為黑色(可用)。要求程序中不得使用變量,且只

有一條語句。注意:存盤時必須存放在考生文件夾卜,工程文件名為sii2.vbp,

窗體文件名為sit2.Frir.o

標準答案:[操作步驟]步驟1:新建一個“標準EXE”工程,打開VB菜單設計器設

計菜單,各菜單項及屬性設置如表12—8所示。

?12-8

標題名稱是否育效內?符號

菜單命令menuO有效0

不可用菜單項menu!無效1

上菜單項可用menu2有效1一步驟2:打開代碼編輯窗口,編

寫“上一菜單項可用”命令的Click事件過程。參考代碼:PrivateSubmenu2_Click()

menu1.Enabled=TrueEndSub步驟3:按要求將文件保存至考生文件夾中。

知識點解析:①VB中的菜單是通過菜單編輯器來設計的。菜單編輯器中的基本設

置項有:“標題”項,對應出現在菜單中的顯示內容;“名稱”項,系統識別菜單項的

唯一關鍵字(不能重復);“索引”項,用于設置菜單數組中各元素的索引號;“快捷

鍵''項,是一個下拉列表框,用于設置菜單項的快捷鍵;“幫助上下文”項,設置當

鼠標移動到某菜單項上按<F1>鍵時顯示的幫助信息在幫助文件中的對應位置;

Visible(可見)項,用于設置控件或菜單項在程序運行時是否可見,值為True表示可

見,值為False表示不可見;Enabled(有效)項,用于設置控件或菜單項在程序運行

時是否有效,值為True時表示有效,值為False時表示無效(顯示為灰色)。通過編

輯按鈕區的七個按鈕可對菜單進行添加、插入、刪除、提升(設置為上一級菜單)、

縮進(設置為下一級菜單)、上移、下移等操作。②文本框的Text屬性用于設置或

返回其顯示的文本內容。本題原程序設計思路:在“上一菜單項可用”命令的單擊

事件過程中,通過語句設置“不可用菜單項''命令的Enabled屬性值為True。

三、簡單應用題(本題共I題,每題1.0分,共1分C)

43、(1)在考生文件夾下有一個工程文件sjt3.vbpo其窗體文件上有一個標題為“得

分”的框架,在框架中有一個名稱為Textl的文木框數組,含6個文木框控件;文

本框Text2用來輸入難度系數。程序運行時,在左邊的6個文本框中輸入6個得

分,輸入難度系數后,單擊“計算分數”按鈕,則可計算出最后得分并顯示在文本框

Text3中(如圖所示)。計算方法:去掉1個最高得

分和1個最低得分,求剩下得分的平均分,再乘以3,冉乘以難度系數。最后結果

保留到第2位小數,不四舍五入。注意:文件中已經給出了所有控件和程序,但

程序不完整,請去掉程序中的注釋符,把程序中的?改為正確的內容,考生不能修

改程序中的其他部分和各控件的屬性。最后把修改后的文件按原文件名存盤。(2)

在考生文件夾下有一個工程文件sjt4.vbpo窗體上的控件如圖所示。程序運行

時,若選中“累加”單選按鈕,則“10”、“12”菜單項不可用,若選中“階乘”單選按

鈕,則力000”、“2000”菜單項不可用(如圖所示)。選中菜單中的一個菜單項后,單

擊“計算”按鈕,則相應的計算結果在文本框中顯示(例如,選中“累加”和“2000”,則

計算1+2+3+...+2000。選中“階乘”和“10”,則計算10!)。單擊“存盤”按鈕則把文本

框中的結果保存到考生文件夾下的out4.dat文件中。

:I?

3ww

?要求:編寫“計算”按鈕的Click事件過程。注意:不

得修改已經存在的程序,在結束程序運行之前,必須用“存盤”按鈕存儲計算結果,

否則無成績。最后,程序按原文件名存盤。

標準答案:(1)【操作步驟】步驟1:打開本題工程文件。步驟2:打開代碼編輯

窗口,去掉程序中的注釋符?",將問號改為正確的內容。參考答案(畫線部分是需

考生填入的內容)PrivateSubCommandl_Click()DimkAsInteger,sAsSingle,a

AsSingle,bAsSinglea=Val(Textl(0).Text),將第一個文本框的值作為最大值賦予

as=ab=a,將第一個數作為最小值賦予bFork=lTo5,剩余文本框作為循環次數的條

件s=s+Val(TcxtI(k).Text)Ifa<Val(Textl(k).Text)Thcn'取出每個文本框的值與

最大值比較,求最大值a=Val(Textl(k).Text)EndIfIfb>Val(Textl(k).TexQThen

b=Val(Textl(k).Text)EndIfNextks=(s一a一b)/4'根據要求去掉一個最高分和一

個最低分后求四科的平均分s=s*3*Val(Tcxt2.Text)'根據題意此處應填平均分

Text3=Int(s*IOO)/1001M(N)是求小于或等于N的最大整數,同時將最后結果顯示

在16乂13上£”5此步驟3:調試并運行程序,關閉程序后按題目要求存盤。(2)

【操作步驟】步驟1:打開本題工程文件;步驟2:打開代碼編輯窗口,在指定位

置編寫如下代碼。參考答案PrivateSubCommandl_Click()DimiAsIntegerDimj

AsIntegerDimmAsLongDimsumAsLongm=lIfn=10Orn=12Then'通過判斷n

的值??纱_定使用什么操作Fori=2Tonm=i*mNexti'求n的階乘Textl.Text=m

EndIfsum=0Ifn=2000Orn=1000ThenForj=lTonsum=sum+jNextj'求1到n的和

Textl.Text=sumEndIfEndSub步驟3:調試并運行程序,關閉程序后按題目要求

存盤。

知識點解析:(1)通過Val()函數獲取文本框數組的值,并把它轉換為數值型,通過

循環語句和判斷語句,找出最大值和最小值賦值給變量a和b,同時累加所有數值

的和賦值給s,那么最終的和為s—a—b,根據算法求剩下得分的平均分,乘以3,

再乘以Texl2中輸入的難度系數,得出最終的得分.(2)本題的語句比較多,先看

一下程序實現的過程,通過單選按鈕決定是進行階乘還是累加運算,并確定4個菜

單項的Enabled屬性,在菜單項的Click事件過程中,設置n的值,運用If判斷語

句判斷n值,進行累加或階乘運算,然后通過文件編輯實現存盤操作。

四、綜合應用題(本題共7題,每題7.0分,共[分0)

44、在考生文件夾卜有一個工程文件sjt5.vbpo在窗體文件中已經給出了全部控

件及部分程序。程序運行時,在文本框Textl中輸入一個大于2的偶數,并單擊

“分解為”命令按鈕,則可以將該偶數分解為兩個素數之和,且要求其中一個素數是

所能夠分解出的最小的素數(一個偶數有時可以分解為多種素數的組合,例如24可

以分解為5和19,也可以分解為11和13.要求取含有最小素數的組合.如圖所

示)。要求編寫“分解為“命令按鈕事件過程中“考牛編寫程序開始”和“考生編寫程序

結束”之間的代碼,以實現上述功能。過程IsPrime用來判斷一個數是否為素數,

如果是,返同值為True,否則返回值為False。注意:不得修改原有程序和控件的

屬性。至少正確運行一次程序,且程序運行時在文本框中輸入23456,單擊“分解

為"按鈕,將結果顯示在標簽中,否則將沒有成績,最后將修改后的文件按原文件

名存盤。

標準答案:步驟1:打開本題工程文件。步驟2:打開代碼編輯窗口,在代碼編輯

窗口指定位置編寫以下代碼。Fori=lToVaKTextl.Text)」從1開始,第一個找到

的肯定就是滿足務件的最小素數IfIsPrime《i)AndIsPrime(Val(Textl.Text)—

i)ThcrT判定兩個數是否都滿足素數條件Label1二iLabcl2=Val(Textl.Text)—i

ExitForEndlfNexti步驟3:調試并運行程序,關閉程序后按題目要求存盤。

知識點解析:FunctionIsPrime。函數用來判斷一個數是否為素數,在處理循環變量

的上限時,為了節約循環的次數,設置為Sqr(x)為x的平方根,如果x能被循環變

量的值整除,IsPrime。函數的返回值為False,x就不是素數。在Commandl―Click

事件過程中,通過調用函數判斷是否為素數。只要出現一組數據滿足條件,就停

止。For循環,這樣可以保證是最小的素數。

國家二級(VB)機試模擬試卷第2套

一、選擇題(本題共40題,每題1.0分,共40分。)

1、在軟件開發中,需求分析階段產生的主要文檔是()。

A、數據字典

B、詳細設計說明書

C、數據流圖說明書

D、軟件需求規格說明書

標準答案:D

知識點解析:需求分析的最終結果是生成軟件需求規格說明書,可以為用戶、分析

人員和設計人員之間的交流提供方便。

2、下列關于棧的敘述正確的是()。

A、棧按“先進先出”組織數據

B、棧按“先進后出”組織數據

C、只能在棧底插入數據

D、不能刪除數據

標準答案:B

知識點解析:棧是按“先進后出”的原則組織數據的,數據的插入和刪除都在棧頂進

行操作。

3、在窗體(Name屬性為Forml)上畫兩個文本框(Name屬性分別為Textl和Tex[2)和

一個命令按鈕(Name屬性為Commandl),然后編寫如卜兩個事件過程。PrivateSub

Commandl_Click()a=TeXtl.Text+Text2.TextPrintaEndSubPrivateSub

FormJnadOTextl.Text=""Text2.Text=""EndSuh程序運行后,在第一個文本

框(Textl)和第二個文本框(Tex⑵中分別輸入123和321,然后單擊命令按鈕,則輸

出結果為()。

A、444

B、321123

C、123321

D、132231

標準答案:C

知識點解析:文本框的Text屬性返回的是字符串。因此,Textl.Text的值

為‘123'、Text2.Text的值為‘321題目中語句“a=Textl.Text+Text2.Text”就是

一個連接字符并賦值運算,兩個值連接起來就是123321,因此最后輸出結果為選

項C。

4、窗體上有一個名稱為HScro川的滾動條,程序運行后,當單擊滾動條兩端的箭

頭時,立即在窗體上顯示滾動框的位置(即刻度值)。下面能夠實現上述操作的事件

過程是()。

A、PrivateSubHScmlll_Change()PrintHScmlll.ValueEndSub

B、PrivmeSubHScrolIl_Change()PrintHScrolil.SmallChangeEndSub

C^PrivateSubHScrolll_Scroll()PlintHScrolil.ValueEndSub

D、PrivateSubHScrolll_Scroll()PrimHScmll1.SmallChangeEndSub

標準答案:A

知識點解析:根據題意可知,用戶的操作是單擊滾動條兩端的箭頭,故觸發的是滾

動條的Change事件;在窗體上顯示的是滾動框的位置,即滾動條的當前刻度值,

Value屬性值可返回這個值,綜合一下,故A選項正確。

5、下列程序段的執行結果為()。a=0:b=lDoa=a+bb=b+lLoopWhilea<10Print

a:b

A、1030

B>ab

C、01

D、105

標準答案:D

知識點解析:本題考查Do…While循環分析。根據分析循環程序的原則,首先找

出循環變量為a,其初始值為0,循環步長為a+b,注意每次循環b的值會發生變

化,變化規律為1,2,3,…,由此推出a的變化規律為:0+1,1+2,3+3...,當

a累加到10的時候,退出循環。

6、窗體上有名為Textl、Text2的兩個文本框,和一個由3個單選按鈕組成的控件

數組Optionl,如圖1所示。程序運行后,如果單擊某個單選按鈕,則執行Textl

中數值與該單選按鈕所對應的運算(乘1、乘10或乘100),并將結果顯示在Text2

中,如圖2所示0為了實現卜述功能,在程序中的橫線處應填入的內容是(人

圖1圖2PrivateSubOptionl—

Click(AsInteger)IfTexll.Texto"MThenSelectCaseCase0:T

A、Optionl.Index

Index

C、OplionlOndex)

D、Optionl(Index).Value

標準答案:B

知識點解析:本題考查控件數組元素的區分??丶到M由一組相同類型的控件組

成。它們共用一個控件名,具有相同的屬性,建立時系統給每個元素賦一個惟一的

索引號(Index),索引號從0開始??丶到M共享同樣的事件過程,通過返回的下標

值區分控件數組中的各個控件。

7、對于長度為n的線性表,在最壞情況下,下列各排序法所對應的比較次數中正

確的是()。

A、冒泡排序為n(n-l)/2

B、簡單插入排序為n

C>希爾排序為n

D、快速排序為n/2

標準答案:A

知識點解析:在最壞情況下,冒泡排序所需要的比較次數為n(n-l)/2;簡單插入

排序所需要的比較次數為n(n-l)/2:希爾排序所需要的比較次數為O(i/5);堆排

序所需要.的比較次數為O(nlog2n)。

8、語句Dima(-3To4,3To6)AsInteger定義的數組的元素個數是()。

A、18

B、28

C、21

D、32

標準答案:D

知識點解析:本題定義的是一個整型的二維數組,-3To4指的是一3、一2、-

1、0、1、2、3、4(共8行),3T。6指的是3、4、5、6(共4列),因此數組元素個數

是8x4=32,故選D。

9、窗體上有一個名稱為Optionl的單選按鈕數組,程序運行時,當單擊某個單選

按鈕時,會調用卜.面的事件過程:PrivateSubOptionl_Click(IndexAs

Integer)...EndSub下面關于此過程的參數Index的敘述中正確的是()。

A、Index為1表示單選按鈕被選中,為0表示未選中

B、Index的值可正可負

C.Index的值用來區分哪個單選按鈕被選中

D、Index表示數組中單選按鈕的數量

標準答案:c

知識點器析:Index參數值返回的是單選按鈕數組中各單選按鈕的索引值,用它來

區分各單選按鈕。故A、D選項錯誤,C選項正確;Index的值只能是非負數,故

R選項錯誤。

10、若看到程序中有以下事件過程,則可以肯定的是,當程序運行時()。Private

SubClick—MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAs

Single)Printt4VBProgram"EndSub

A、用鼠標左鍵單擊名稱為“Commands的命令按鈕時,執行此過程

B、用鼠標左鍵單擊名稱為“MouseDown”的命令按鈕時,執行此過程

C、用鼠標右鍵單擊名稱為“MouseDown”的控件時,執行此過程

D、用鼠標左鍵或右鍵單擊名稱為“Click”的控件時,執行此過程

標準答案:D

知識點解析:本題中,Click是控件的名稱,MouseDown是鼠標按下事件,當用鼠

標左鍵或右鍵單擊Click控件時就會觸發MouseDown事件,執行MouseDown事件

過程。故選D。

11、下列關于二叉樹的敘述中,正確的是()。

A、葉子結點總是比度為2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論