國家二級VB機試(選擇題)模擬試卷2(共236題)_第1頁
國家二級VB機試(選擇題)模擬試卷2(共236題)_第2頁
國家二級VB機試(選擇題)模擬試卷2(共236題)_第3頁
國家二級VB機試(選擇題)模擬試卷2(共236題)_第4頁
國家二級VB機試(選擇題)模擬試卷2(共236題)_第5頁
已閱讀5頁,還剩69頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

家二級VB機試(選擇題)模擬試卷2

(共6套)

(共236題)

家二級VB機試(選擇題)模擬試卷

第1套

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

1、在窗體上畫一個名稱為Commandl的命令按鈕,編寫如下事件過程:Privaie

SubCominandl_Click()n=0Fori=0To10X=2*i-lIfXMod3=0Thenn=n+lNexti

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

A、1

B、3

C、5

D、7

標準答案:B

知識點解析:本題的For循環共執行11次,在每次循環中計算出一個X的值,然

后判斷能否被3整除,如能整除則令計數器n自加建

2、體上有一個名稱為Textl的文本框,一個名稱為Command1的命令按鈕。要求編

寫一個程序,統計文本框中0-9各數字字符的個數。某人編寫如下程序:Private

SubCommandl_Click()Dimcount(10)AsInteger'第1個For循環Fori=0To9

count(i)=0Nexts=Trim(Textl.Text)strLen=Len⑸'第2個For循環Fori=lTostrLen

c=Mid(s,i,1)Ifc>=,,0,,Andc<=,,9,,Thcnx=Val(c):count(i)=count(i)+lEndIf

Next'第3個For循環Fori=0To9PrintStr(i),count(i)NextEndSub運行程序后,

發現不能實現題目的要求,程序應該進行的修改是

A、將第2個For循環的初值改為0

B、將第2個For語句改為Fori=0To9

C、去掉x=Val?語句

D、Wcount(i)=count(i)+l改為count(x尸count(x)+l

標準答案:D

知識點解析:本題中要求分別統計數字0?9的個數,使用了一個數組coum來存

放各個數字的個數。在第一個For循環中,將數組的各個元素設置為0,在第二個

循環中,依次取出字符串中的每一個字符,判斷是不是在。?9之間,如果在范圍

內,則應該令對應的數組元素加1。如果寫成couni(i)=counKi)+l,只能順序的令每

一個數組元素都加1,只有改寫成count(x)=counl(x)+l,讓x作為下標,才能保證

讓x對應的數組元素加lo

3、在窗體上畫一個組合框,其名稱為Combol,然后編寫如下事件過程:Private

SubForm_Load()CombO1.Text=,,T,Fori=lTO10Sum=Sum+iNexti

Combol.lcxt=SumEndSub程序運行后,輸出結果為

A、在組合框的編輯區中顯示1

B、在組合框的編輯區中顯示不定值

C、在組合框的編輯區中顯示55

D、出錯信息

標準答案:C

知識點解析:組合框的Text屬性將會返回或者設置編輯區中的文本,本題中顯示

的是1?10的累加和55o

4、設a、b都是自然數,為求a除以b的余數,某人編寫了以下函數:Function

fun(aAsIntegenbAsInteger)Whilea>ba=a-bWendfun=aEndFunction在調試時發

現函數是錯誤的。為使函數能產生正確的返回值,應做的修改是

A、把a=a-b改為a=b-a

B、把a=a-b改為a二a\b

C、把Whilea>b改為Whilea<b

D、把Whilea>b改為Whilea>=b

標準答案:D

知識點解析:本題函數過程的原代碼僅適合a不能被b整除的兩數,而當a能被b

整除時則不適用,如a=4,h=2,a除以h的余數為0,而原代碼返I川的函數值為

2o因此需將語句Whilea>b改為Whilea>=bo

5、設有如下事件過程:PrivateSubForm_Click()x=0Whilex<10x=x+l:x=x*x

WendPrintxEndSub運行程序,單擊窗體,輸出結果是

A、16

B、19

C、20

D、25

標準答案:D

知識點解析:本題是簡單While循環,在循環中改變循環變量x的值,要注意退出

循環時x必然是不會滿足循環條件的。本題中循環中x依次變化為1、4、25o

6、假定有以下循環結構DoUntil條件表達式循環體Loop則以下正確的描述是

A、如果”條件表達式”的值是0,則一次循環體也不執行

B、如果”條件表達式”的值不為0,則至少執行一次循環體

C、不論”條件表達式”的值是否為“真”,至少要執行一次循環體

D、如果”條件表達式”的值恒為0,則無限次執行循環體

標準答案:D

知識點解析:本題考查的考點是有關Do型循環的。對于這種循環結構,首先看條

件判斷在循環體的前面還是后面,如果是先判斷條件,則有可能一次也不執行循環

體;如果是后判斷條件,則無論條件如何至少執行一次循環體。在Unlil循環中條

件為False時執行循環體,條件為True時退出循環;在While循環中條件為True

時執行循環體,條件為False時退出循環,這一點要注意區分清楚。

7、以下VisualBasic不支持的循環結構是

A、For...Next

ForEach...Next

C、Do...Loop

D^Do...EndDo

標準答案:D

知識點解析:VisualBasic支持的循環結構包括:For...Next循環、ForEach…Next

循環、Do…Loop循環和While循環。

8、在窗體上畫兩個文本框(名稱分別為Textl和Tex⑵和一個命令按鈕(名稱為

Commandl),然后編寫如下事件過程:PrivateSubCommandi_Click()x=0DoWhile

x<50x=(x+2)*(x+3):n=n+lLoopTextl.Text=Str(n):Text2.Text=Str(x)EndSub

程序運行后,單擊命令笈鈕,在兩個文本框中顯示的值分別為

A、1和0

B、2和72

C、3和50

D、4和168

標準答案:R

知識點解析:本題考查的考點是有關D。型循環的。對于這種循環結構,首先看條

件判斷在循環體的前面還是后面,如果是先判斷條件,則有可能一次也不執行循環

體:如果是后判斷條件,則無論條件是什么,至少執行一次循環體。在Until循環

中條件為False時執行循環體,條件為True時退出循環;在While循環中條件為

True時執行循環體,條件為False時退出循環,這一點要注意區分清楚。本題只需

要實際計算一下兩次循環中x和n值的變化即可容易的得出結果。

9、編寫如卜程序:PrivateSubCommandl_Click()DimxAsInteger,yAsInteger

x=l:y=lDoy=x*yIfy>10ThenExitDoElsex=x+3EndIfLoopUntilx<=10Print

x:yEndSub程序運行后,單擊命令按鈕Commands輸出結果為

A、I1

B、41

C>42

D、728

標準答案:B

知識點解析:D。型循環結構,首先看條件判斷在循環體的前面還是后面,如杲是

先判斷條件,則有可能一次也不執行循環體;如果是后判斷條件,則無論條件是什

么,至少執行一次循環體。在Unlil循環中條件為False時執行循環體,條件為

True時退出循環;在While循環中條件為True時執行循環體,條件為False時退出

循環。本題中使用的是后判斷型循環,第一次循環時y的值為1,不滿足y>10,

執行Else分支,x變成4,此時由于滿足x<=10所以結束循環。

10、編寫如下程序:PrivateSubCommandI_Click()DimnAsLong,sAsString

n=lnputBox(“輸入一個數'')DoWhilen<>0s=s&nMod10:s=s&n\10Mod10n=n

\100LoopPrintsEndSub程序運行后,單擊命令按鈕Command!,并輸入數值

123456,則輸出結果為

A、654321

B、563412

C、642531

D、615243

標準答案:A

知識點解析:本題在循環中先將n除以10的余數(即個位數字)連接到s上,然后將

整除10后除以10的余數(即十位,數字)連接到s_L,然后n整除100的值賦值給

n(即去掉最后兩位),然后繼續進行循環,所以最終將會輸出數字的逆序。

11、下面程序計算并輸出的是PrivateSubCommandl_Click()a=10:s=0Do

s=s+a*a*a:a=a-lLoopUntila<=0PrintsEndSub

A、13+23+33…+103的值

B、10!+...4-3!+2!+l!的值

C、(1+2+3+…+10)3的值

D、10個103的和

標準答案:A

知識點解析:對于D。型循環結構,首先看條件判斷在循環體的前面還是后面,如

果是先判斷條件,則有可能一次也不執行循環體;如果是后判斷條件,則無論條件

是什么,至少執行一次循環體。在Until循環中條件為False時執行循環體,條件

為True時退出循環;在While循環中條件為True時執行循環體,條件為False時

退出循環。本題是一個比較簡單的D。循環,計算從1到10的立方和。

12>窗體上有1個名稱為Commandl的命令按鈕,事件過程如下:PrivateSub

Commandl_Click()Dimx%,y%,z%x=InputBox("請輸入第1個整數”):

y=InputBox(”請輸入第2個整數”)DoUntilx=yIfx>yThenx=x-yElsey=y-xEndif

LoopPrintxEndSub運夕亍程序,單擊命令按鈕,并輸入2個整數169和39,則在

窗體上顯示的內容為

A、11

B、13

C、23

D、39

標準答案:B

知識點解析:本題的循環中將兩個輸入的數x和y互相相減,直到x=y為止,實際

上就是輾轉相減法求最大公約數的過程。

13、窗體上有1個名稱為Command的命令按鈕,事件過程及函數過程如下:

PrivateSubCommandl_Click()DimmAsStringm=InputBox("請輸入字符串”)Print

pick_str(m)EndSubPrivateFunctionpick_str(sAsString)AsStringtemp="n:i=l:

sLen=Len(s)DoWhilei<=sLen/2temp=temp+Mid(s,i,1)+Mid(s,sLen-i+1,1)

i=i+lLooppick_str=tcmpEndFunction運行程序,單擊命令按鈕,并在輸入對話框

中輸入“basic”,則在窗體上顯示的內容為

A、bcai

B、cbia

C、bcais

D^cbias

標準答案:A

知識點解析:本題的函數中使用了D。循環,循環條件是i<=sLen/2;由于字符

串的長度為5,所以循環會執行兩次:在每次循環中使用Mid函數依次取得字符串

的笫一個字符、最后一個字符、笫二個字符、倒數第二個字符。

14、編寫如下程序:PrivateSubCommand1Click()DimmAsInteger,nAsInteger

m=l:n=0DoWhilem<20n=m+n:m=3*m+lLoopPrintm,nEndSub程序運行

后,單擊命令按鈕Commands輸出結果為

A、4018

B、4019

C、2064

D、2164

標準答案:A

知識點解析:本題的D。循環是一個先判斷條件型的循環,在循環中將循環變量m

的值每次改變。分析循環可看出,在4次循環中m的值分別為1、4、13、40,而

只有前三次循環中的m值被累加到n中,最后一次循環由于不滿足mV20而跳

出。

15、下列循環中,可以正常結束的是

A、i=10Doi=i+1LoopUntili<1

B、i=lDoi=i+lLoopUntili=10

C、i=10Doi=i+lLoopWhilei>1

D、i=10Doi=i-2LoopUntili=l

標準答案:B

知識點解析:Do循環語句的功能是:當指定的“循環條件”為真或直到指定的“循環

條件”變為真之前重復執行循環體。DoWhilc|Until…Loop循環是在條件滿足的情況

下才執行一次循環體,而Do...LoopWhile|Until循環不管是否滿足條件都先執行一

次循環體,然后再判斷條件是否成立以決定后續操作。本題的A選項由于i的值從

10開始遞增,永遠不會滿足i〈l而無限循環;C選項由于i的值從10開始遞增,

永遠滿足>1而無限循環:D選項由于i的值從10開始遞減,但是因為每次遞減

2,所以i永遠為偶數,不會滿足i=l而無限循環。

16、以下能夠正常結束循環操作的程序段是

A、i=5Doi=i+lLoopUntili<0

B、i=5Doi=i+2LoopUntili=l

C、i=5DoWhilei>0i=i-2Loop

D、1=0DoWhilei<Ii=i-2Loop

標準答案:C

知識點解析:D。循環語句的功能是:當指定的“循環條件”為真或直到指定的“循環

條件''變為真之前重復執行循環體。DoWhilc|Until...Loop循環是在條件滿足的情況

下才執行一次循環體,而Do...LoopWhile|Until循環不管是否滿足條件都先執行一

次循環體,然后再判斷條件是否成立以決定后續操作。本題的A選項由于i的值從

5開始遞增,永遠不會滿足i<0而無限循環;B選項由于i的值從5開始遞增,永

遠滿足i=l而無限循環;D選項由于i的值從0開始遞減,永遠滿足i〈l而無限循

環。

17、窗體上有一個名稱為Command1的命令按鈕,其單擊事件過程如下:Private

SubCommandl_Click()DimsAsDoubles=0:i=lDoWhilei<6s=s+i/(i+1):i=i+l

LoopPrintsEndSub該事件過程的功能是計算一個表達式的值,該表達式是

A、1+1/2+2/3+3/4+4/5

B、1+1/2+2/3+3/4+4/5+5/6

C、1/2+2/3+3/4+4/5

D、1/2+2/3+3/4+4/5+5/6

標準答案:D

知識點解析:本題中D。循環的循環變量i的初值為1.繼續循環的條件是iV6.

在每次循環中i的值加1,因此循環會執行5次;在第一次循環中累加1,2,第二

次循環中累加2/3,第三次循環中累加3/4……即最后計算的是1/2+2/3+3/

4+4/5+5/6的值

18、假定有如下程序:PrivateSubForm_Click()DimNAsInteger,]AsIntegerN=0

J=1DoUntilN>2N=N-1:J=J+N*(N+1)LoopPrimN:JEndSub運行程序,單擊

窗體,輸出結果是

A、321

B、37

C、01

D、313

標準答案:A

知識點解析:D。循環語句的功能是:當指定的“循環條件”為真或直到指定的“循環

條件''變為真之前重復執行循環體。DoWhile|UntiL..Loop循環是在條件滿足的情況

下才執行一次循環體,而Do...LoopWhi1e|Until循環不管是否滿足條件都先執行一

次循環體,然后再判斷條件是否成立以決定后續操作。本題的循環共執行3次,跳

出循環時N的值為3,J的值為21。

19、有如下程序:Functionfun(ByValnumAsInteger)AsIntegerDimkAsInteger

k=lnum=Abs(num)DoWhilenumk=k*(numMod10):num=num\10Loopfun=k

EndFunctionPrivateSubForm_Click()DimnAsInteger,rAsIntegern=InputBox(“請輸

入一個數:"):n=Int(n):r=fun(n):PrintrEndSub程序運行后,單擊窗體,在輸入

對話框中輸入246,輸巴結果為

A、120

B、48

C、24

D、60

標準答案:B

知識點解析:在函數fun中會對傳過來的參數num進行判斷,如果不為。則進行循

環,將各位數字乘到一起然后作為函數的返回值。

20、F面程序的功能是輸出100以內所有素數:PrivateSubCommandl_Click()For

n=2To100isprime=True:k=2DoWhilek<=n/2AndIfnModk=0Then

isprime=Fa!sek=k+lLoopIfisprimeThenPrintnNextnEndSub為使上面程序可以

實現該功能,程序代碼中橫線處應填寫的代碼是

A、isprime

B、Notisprime

C、n<100

D、nV=100

標準答案:A

知識點解析:求素數的基本思路是,用2到n/2依次去除要判斷的數n,如果能

整除就將isprime置為Fake代表不是素數:如果isprime已經為False,那么循環沒

有繼續執行的必要了,所以應填入isprime=Truc,由于是布爾型變量,可以簡寫為

isprime。

21、編寫如下程序:DimnumAsInteger,rAsInteger,nAsInteger,!As

Integer,arr(5)AsIntegerPrivateSubCommandl_Click()num=12:r=2Callsubl(num,

r,n)Fori=nTo1Step-1Printarr(i);NextiEndSubSubsubl(dAsInteger,rAs

Integer,kAsInteger)k=0DoWhiled<>0k=k+1:arr(k)=dModr:d=d\rLoopEnd

Sub程序運行后,單擊命令按鈕Command】,輸出結果為

A、1100

B、0011

C、0101

D、1010

標準答案:A

知識點解析:本題實際上是在子過程subl中對arr數組進行的賦值工作,形參d的

值為12,r的值為2,k的初值為0;在循環中計算d除以2的余數放到數組的第一

個元素,整除2后再除以2的余數放到第二個元素……以此類推,最后數組arr中

存放的是(0、0、1、1),在Commandl_Click()過程中調用完子過程對數組進行賦值

以后,逆序輸出了數組的值。

22>編寫如下程序:PrivateSubCommandl_Click()DimnAsLong,sAsString

n=lnputBox(“輸入一個數“)DOWhilen<>0Printn\10Mod10;:PrintnMod

10;:n=n\100LoopPrintsEndSub程序運行后,單擊命令按鈕Commandl,并輸

入數值123456,則輸出結果為

A、654321

B、563412

C、642531

D、615243

標準答案:B

知識點解析:本題中是在一個D。循環中對一個數字進行分解,首先輸出該數字整

除10之后再除以10得到的余數(即H立上數字),然后輸出該數除以10得到的余

數(即個位數字),然后將該數去掉十位和個位上的數字以后繼續循環,最終依次輸

出5、6、3、4、1、2?

23、假定有以下程序段Fori=lTo3Fori=5To1Step-1Printi*jNextjNexti則語句

Printi*j的執行次數是

A、15

B、16

C、17

D、18

標準答案:A

知識點解析:本題考查的考點是有關二重循環的°For…Next循環語句可提供一個

重復執行的語句序列,遵循“先檢查,后執行''的規則,執行過程中,循環次數

=Inl(終值-初值)/步長+1。二重循環的內循環語句執行次數等于內外循環次數之

積。

24、在窗體上畫1個命令按鈕,并編寫如下事件過程:PrivateSubCommand

l_Click()Dima(3,3)Form=lTO3Forn=lTo3Ifn=mOrn=4-mThena(m,n)=m+n

Elsea(m,n)=0EndIfPrinta(m,n);NextnPrintNextmEndSub運行程序,單擊

命令按鈕,窗體上顯示的內容為

A、200040006

B、204040406

C、230340006

D、200045056

標準答案:B

知識點解析:本題通過一個嵌套的For循環為二維數組a的各元素賦值,該二維數

組對應矩陣的主對角線上的元素(即滿足條件m=n)卻副對角線上的元素(即滿足條

件m+n=4)其值為m+n,即主對角線上的元素從左一卜至右下依次為2、4、6,副

對角線上的元素均為4,而其它元素均為0。

25、編寫如下程序:PrivateSubCommandl_Click()DimnumAsInteger,kAs

Intcgcr,nAsIntegernum=InputBox("請輸入一個正整數:")k=numn=2DoDoWhile

numModn=0Printn;:num=num/nLoopn=n+lLoopUntiln>k/2EndSub程序

運行后,單擊命令按鈕Command1,并輸入數值20,則輸出結果為

A、225

B、234

C、2345

D、25

標準答案:A

知識點解析:D。型循環結構,首先看條件判斷在循環體的前面還是后面,如杲是

先判斷條件,則有可能一次也不執行循環體;如果是后判斷條件,則無論條件是什

么,至少執行一次循環體。在Unlil循環中條件為False時執行循環體,條件為

True時退出循環;在While循環中條件為True時執行循環體,條件為False時退出

循環。本題是一個嵌套的D。循環,外層循環是后判斷條件的Until型循環,內層

循環是先判斷條件的While型循環。根據輸入的值20可判斷出三次輸出的結果為

2、2、5o

26、編寫如下程序:PrivateSubCommandl_Click()Dima(3,3)AsInteger,b(3,

3)AsIntegerFori=lTo3Forj=lTo3a(i,j)=i+j:b(i,j)=a(i,j)+i*(j*l)NextiNexti

Fori=lTo3Forj=lTo3Printb(i,j);NextjPrintNextiEndSub程序運行后,單擊

命令按鈕Command1,輸出結果為

A、234345456

R、2463694812

C、357581171115

D、46871013101418

標準答案:B

知識點解析:本題中有兩個二維數組a和b,然后用一個二重循環為兩個數組賦

值,根據每次循環中i和i的值不難得出B為正確答案。

27、已知在4行3列的全局數組score(4,3)中存放了4個學生3門課程的考試成績

(均為整數)?,F需要計算每個學生的總分,某人編寫程序如下:OptionBasel

PrivateSubCommandl_Click()DimsumAsIntegersum=0Fori=lTo4Fori=lTo3

sum=sum+score(i,j)NextjPrint"第“&i&”個學生的總分是:“;sumNextiEndSub

運行此程序時發現,除第1個人的總分計算正確外,其他人的總分都是錯誤的,程

序需要修改。以下修改方案中正確的是

A^把外層循環語句Fori=lTo4改為Fori=lTo3內層循環語句Forj=lTo3改為

Fori=lTo4

B、把sum=O移到Fori=lTo4和Foij=lTo3之間

C>ffisum=sum+score(i,j)改為sum=sum+score(j,i)

D^把sum=sum+score(i,j)改為sun尸score。,j)

標準答案:B

知識點解析:本題考查的考點是有關循環求和和二維數組的。本題要對二維數組的

每行進行累加求和,每計算新的一行就應該將累加和變量sum清零,否則上一行

的累加計算結果將會在下一行繼續累加,造成結果不正確。

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

后編寫如下事件過程:FnvatcSubCommandl_Click()Countcr=0Fori=lIo4bor

i=6To1Stcp-2Counter=Countcr+1NextjNextiLabelLCaption=Str(Countcr)EndSub

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

A、11

B、12

C、16

D、20

標準答案:B

知識點解析:本題考查的考點是有關循環的。通過觀察可以得知,在每次內循環中

Counter的值會增加1,所以最終結果就是內循環執行的總次數。由于內循環和外

循環都是For循環,所以循環次數一定,外循環共執行4次,每次外循環中內循環

都執行3次,故內循環執行的總次數為4*3=12次。

29、在窗體上畫一個命令按鈕,然后編寫如下事件過程:PrivateSubCommand

l_Click()DimI,NumRandomizeDoFor1=1To100()Num=!nt(Rnd*I00):Print

Num;SelectCaseNumCase12ExitForCase58ExitDoCase65,68,92EndEnd

SelectNextILoopEndSub上述事件過程執行后,下列描述中正確的是

A、D。循環執行的次數為1000次

B、在For循環中產生的隨機數小于或等于100

C、當所產生的隨機數為12時結束所有循環

D、當所產生的隨機數為65、68或92時窗體關閉、程序結束

標準答案:D

知識點解析:本題考查的考點是有關隨機數和退出語句的。在本題中,首先在循環

中生成一個隨機數,由于Rnd函數可以生成0?I開區間的數,所以Inl(Rnd*100)

能夠生成0?99之間的整數,隨后對此數進行判斷,當隨機數為12時退出內循

環;當隨機數為58時退出外循環;當隨機數為65、68或92時將會結束整個窗體

的運行。本題中的循環次數受隨機數控制,所以次數不定。

30、運彳丁如卜程序PrivateSubCommandl_Click()Dima(5,5)AsIntegerFori=lTo

5Foij=1To4a(i,j)=i*2+jIfa(i,j)/7=a(i,j)\7Thenn=n+1EndIfNextjNext

PrintnEndSub貝ijn的值是

A、2

B、3

C、4

D、5

標準答案:B

知識點解析:在二重循環中為二維數組賦初值,每個元素的值均為行號*2加上列

號;在If語句中進行判斷,如果數組元素能被7整除則令計數器n加1,所以整個

程序的功能就是統計二維數組中能被7整除的數的個數。

31、命令按鈕Command1的單擊事件過程如下:PrivateSubCommandl_Click(i

Dima(10,10)AsIntegerx=0Fori=lTo3Foij=lTo3a(i,j)=i*2ModjIfx<a(i,

j)lhcnx=a(i,j)NextNextBrintxEndSub執行上述事件過程后,窗體上顯示的是

A、1

B、2

C、3

D、4

標準答案:B

知識點解析:本題中使用二重循環為二維數組賦初值,每個元素的值為行號x2然

后除以列號的余數;接下來找出數組的最大值。由于列號最大只能為3,所以余數

的最大值為2。

32、設有如下程序:OptionBase1Dima(3,4)AsInteger,b(4,3)AsIntegerPrivate

SubCommand1click()'循環1Fori=lTo3Foij=lTo4b(j,i)=a(i,j)NextjNextT

循環2x=b(l,1)Fori=lTo4Foij=lTo3Printb(i,j);Ifx<b(i,J)Thenx=b(i,j)

NextjPrintNextiEndSub程序中的數組a已被賦值。以下關于上述程序的敘述中,

正確的是

A、窗體模塊中,不能使用Dim聲明a、b數組

B、“循環B可以正常運行

C、“循環2”中循環變量i、j的終值不對,所以不能正常運行

D、程序可以正常運行.x中保存的是數如人中所有元素中最小的數

標準答案:B

知識點解析:在窗體模塊中使用Dim聲明模塊接變量,也可以聲明模塊級數組:

在循環1中i從1到3,j從1到4,無論是訪問b(j,i)還是a(i,j)均在數組的范圍

內,可以正常運行;在循環2中b(i,i)的值也在數組范圍內,循環可以正常運行;

最后x里面保存的是數組中最大的數。

33、有如下程序:PrivateSubForm_Click()DimsAsInteger,pAsIntegerp=lFori=l

To4Forj=lTois=s+jNextjp=p*sNextiPrintpEndSub程序運行后,單擊窗體,

則輸出結果是

A、90

B、180

C、400

D、800

標準答案:D

知識點解析:本題是一個二重循環,而且內循環次數根據外循環的循環變量而定。

內循環完成累加,內循環結束后將累加和乘到p中保存起來。在4次外循環中分別

累乘的是1、4、10、20o

34、窗體上有1個名稱為Command1的命令按鈕,事件過程如下:PrivateSub

Commandl_Click()Dimarr_x(5,5)AsIntegerFori=lTo3Foij=2To4arr_x(i,j)=i*j

NextjNextiPrintart_x(2,I):arr_x(3,2);art_x(4,3)EndSub運行程序,并單擊

命令按鈕,窗體上顯示的內容為

A、060

B、260

C、0612

D、2612

標準答案:A

知識點解析:本題二重循環為二維數組的部分元素賦值,其中arr_x(2,1)的值因

為列號為1,并沒有在循環中賦值,保持了默認初值0;arr_x(3,2)的值被賦值為

3*2的值6;arr_xx(4,3)的值因為行號為4也沒有在循環中賦值,也保持默認初值

0o

35、在窗體上畫一個名稱為Command1的命令按鈕,并編寫如下程序:Option

BaseIPrivateSubCommandl_Click()Dima(4,4)Fori=lTo4Fori=lTo4a(i,

j)=(i-l)*3+jNextjNextiFori=3To4Foij=3To4Printa(j,i);NextjPrintNextiEnd

Sub運行程序,單擊命令按鈕,則輸出結果為

A、69710

B、710811

C、811912

D、9121013

標準答案:D

知識點解析:本題中首先用一個二重循環為二維數組的每一個元素賦值,然后輸出

二維數組的部分元素,即依次輸出a(3,3)、a(4,3)、a(3,4)、a(4,4)的值,根據

二維數組元素的值,輸出分別為9、12、10、13。

36、編寫如下程序:PrivateSubCommandl_Click()Dima(3,3)AsInteger,sAs

IntegerFori=lTo3Fori=ITo3a(i,j)=i*j+iNextjNextis=0Fori=lTo3s=s+a(i,

4-i)NextiPrintsEndSub程序運行后,單擊命令按鈕Command1,輸出結果為

A、7

B、13

C、16

D、20

標準答案:C

知識點解析:本題中首先用一個二重循環為二維數組的每一個元素賦值,然后累加

二維數組的部分元素,即依次累加a(l,3)、a(2,2)、a(3,1)的值,相當于對角線

求和。

37、編寫如下程序:PrivateSubCommandl_Click()DimiAsIntegerJAsInteger

n=InputBox("輸入一個大于1的正整數")Fori=2TonFoij=2ToSqr(i)IfiModj=0

ThenExitForNextjIfj>Sqr(i)ThenPrintiNextiEndSub該程序的功能是

A、判斷n是否為素數

B、輸出n以內所有的奇數

C、輸出n以內所有的偶數

D、輸出n以內所有的素數

標準答案:D

知識點解析:本題中的外循環是從2循環到n,然后進入內循環,在內循環中依次

判斷i能否被j整除,若能整除則退出內循環:內循環結束后進行判斷,如果是中

途退出內循環的則必然不滿足i>SqKi),不會輸出i的值;只有i不能被任何一個j

整除的情況下才會輸出i的值,即判斷i是不是素數,只有素數才輸出。

38、命令按鈕Command)的事件過程如下:PrivateSubCommandl_Click()Dim

art(5,5)AsIntegerDimiAsIntegerjAsIntegerFori=lTo4Foij=2To4arr(i,j)=i+j

NextjNextiPrintart(1,3)+art(3,4)EndSub執行上述過程,輸出結果是

A、6

B、7

C、11

D、12

標準答案:C

知識點解析:本題中首先在一個二重循環中給二維數組arr的部分元素賦值,循環

結束后輸出兩個數組元素的和,根據題意arr(l,3)+arr(3,4)=4+7=1lo

國家二級VB機試(選擇題)模擬試卷

第2套

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

1、在窗體上畫一個通用對話框,程序運行中用ShowOpen方法顯示“打開”對詬框

時,希望在該對話框的“文件類型”欄中只顯示擴展名為DOC的文件,則在設計階

段應把通用對話框的Filter屬性設置為

A、”(*.DOC)*.DOC”

B、”(*.DOC)||.DO

C、”(*?DOC)||*.DOC^^

D、”(*.DOC)|*.DOC”

標準答案:D

知識點解析:通用對話框(CommonDialog)是可提供諸如打開文件、保存文件、設

置打印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框。打開(Open)和

保存(Save)文件對話框中的Filter。屬性是過濾器,返回或設置在對話框的類型列

表框中所顯示的文件類型,例如,過濾器為*.1X3表示顯示所有的文本文件,語

法為:通用對話框名.Filter"描述|文件擴展名”,使用管道符⑴將描述與過濾器隔

開,同樣使用管道符將多個過濾器相互分隔;FilteHndex屬性返回或設置“打開”或

“另存為”對話框中的一個默認的過濾器,第一個過濾器的索引號是1,如果只有一

個過濾器則無需設置。Filterindex屬性。

2、以下關于通用對話框的敘述中,錯誤的是

A、在程序運行狀態下,通用對話框控件是不顯示的

B、通用對話框控件是VisualBasic的標準控件

C、設計時,通用對話框控件的大小是固定的,不能改變

D、在同一個程序中,一個通用對話框控件可以作為打開、保存等多種對話框

標準答案:B

知識點解析:通用對話框(CommonDialog)是ActiveX控件,提供諸如打開文件、保

存文件、設置打印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框。該

控件設計時大小固定不能改變,運行時不可見。

3、窗體上有一個名稱為CD1的通用對話框,一個名稱為Commandl的命令按鈕,

相應的事件過程如卜:PrivateSubCommandl_Click()CD1.Fiker="All

File|*,*|TextFile|*.txt|PPT|*.ppt“CDLFilterlndex=2:CD1.InitDir=X:

CD1.FilcName^'dcfaulf':CD1.ShowSavcEndSub關于上述過程,以下敘述中

正確的是

A、默認過濾器為“*.ppt”

B、指定的初始目錄為“C:\”

C、打開的文件對話框的標題為“default”

D、卜而事件過程實現保存文件的操作

標準答案:B

知識點解析:通用對話框(CommonDialog)是可提供諸如打開文件、保存文件、設

置打印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框。打開(Open)和

保存(Save)文件對話框有共同的主要屬性,若沒有指定InitDir屬性值,則起始目錄

為當前目錄;FileName屬性返回或設置所選文件的路徑和文件名;Filter屬性是過

濾器,返回或設置在對話框的類型列表框中所顯示的文件類型,例如,過濾器為

*.txt,表示顯示所有的文本文件,語法為:通用對話框名.Filter”描述|文件擴展

名“,使用管道符(1)將描述與過濾器隔開,同樣使用管道符將多個過濾器相互分

隔;RMrlndcx屬性返回或設置“打開”或“另存為”對話框中一個默認的過濾器,第

一個過濾器的索引號是1:如果只有一個過濾器則無需設置Fikerlndex屬性。本題

中只是顯示了一個“保存”對話框,并不能真正實現保存操作。

4、在窗體畫一名為CoinmonDialogl,則下列與CommonDialogl.ShowOpen方法

等效的語句是

A、CommonDialog1.Action=l

CommonDialog1.Action=2

C、CommonDialog1.Action=3

D、CommonDialog1.Action=4

標準答案:A,

知識點解析:通用對話框提供諸如打開文件、保存文件、設置打印選項、選擇顏色

和字體、顯示幫助等操作的一組標準對話框,該控件運行時不可見。Aclion屬性用

于設置被打開對話框的類型,與ShowXXX方法相對應,如下表所示:

Action屬性值顯示的對話類取VisualBasic6中對應方法

0無操作

1打開ShowOpen

*2另存為ShowSave

3廉色ShowCoior

4字體ShowFont

5打印ShowPrinter

6調用Windows幫助ShowHelp

5、下列關于利用通用對話框產生的文件對話框的相關屬性的描述中,錯誤的是

A、InitDir屬性用于設置對話框中顯示的起始目錄

B、Filter屬性用于設置對話框默認的過濾器

C、DefaukExl屬性用于設置對話框中默認的文件類型

D、FileTitle屬性用于存放對話框中所選擇的文件名

標準答案:B

知識點解析:通用對話框(CommonDialog)是可提供諸如打開文件、保存文件、設

置打印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框。打開(Open)和

保存(Save)文件對話框有共同的主要屬性,若沒有指定InitDir屬性值,則起始目錄

為當前目錄;FileName屬性返回或設置所選文件的路徑和文件名;Filter屬性是過

濾器,返回或設置在對話框的類型列表框中所顯示的文件類型,例如,過濾器為

*.txt,表示顯示所有的文本文件,語法為:通用對話框名.Filtcr="描述|文件擴展

名”,使用管道符⑴將描述與過濾器隔開,同樣使用管道符將多個過濾器相互分

隔;FiMrlndcx屬性返回或設置“打開”或“另存為”對話框中一個默認的過濾器,第

一個過濾器的索引號是1;FileTiUe屬性用于存放對話框中所選擇的文件名;

DefaultExt屬性用于設置對話框中默認的文件類型。

6、下列大于通用對話框CommonDialog1的敘述中,錯誤的是

A、只要在“打開”對話框中選擇了文件,并單擊“打開”按鈕,就可以將選中的文件

打開

B、使用CommonDialogl.ShowColor方法,可以顯示“顏色”對話框

C、CancelError屬性用于控制用戶單擊“取消”按鈕關閉對話框時,是否顯示出錯警

D、在顯示“字體”對話框前,必須先設置CommonDialogl的Flags屬性,否則會出

標準答案:A

知識點解析:通用對話框(CotnmonDialog)提供諸如打開文件(ShowOpen)、保存文

件(ShowSave)、設置打印選項(ShowPrinler)、選擇顏色和字體(ShowFonl)、顯示幫

助(ShowHelp)等操作的一組標準對話框,該控件運行時不可見。當通用對話框顯示

為“打開”類型時.,單擊“打開”按鈕后其FilcName屬性可返回或設置所選文件的路

徑和文件名,但并不能直接打開該文件。使用顯示字體(Font)對話框之前,必須先

設置控件的Flags屬性為cdlCFBoth、cdlCFPrinterFonts^cdlCFScreenFonts這3個

值中的一個。CancclError屬性用于設置當用戶選擇“取消”按鈕時,是否顯示錯誤信

息(默認為否)。

7、通用對話框Filter屬性的作用是

A、設置對話框的標題

B、指定對話框所選擇的文件名

C、指定對話框的打開方式

D、指定對話框中顯示的文件類型

標準答案:D

知識點解析:通用對話框(CommonDialog)是可提供諸如打開文件、保存文件、設

置打印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框。Filter屬性是

過濾器,返回或設置在對話框的類型列表框中所顯示的文件類型,例如,過濾器

為.txt,表示顯示所有的文本文件,語法為:通用對話框名.Filter"描述|文件擴

展名“,使用管道符(|)將描述與過濾器隔開,同樣使用管道符將多個過濾器相互分

隔:Fillerindex屬性返回或設置“打開”或“另存為”對話框中一個默認的過濾器,第

一個過濾器的索引號是1。

8、窗體上有一個名稱為CD1的通用對話框,一個名稱為Tcxtl的文本框,窗體的

單擊事件過程如下:PrivateSubForm_Click()CDI.DialogTitle="改變顏色”:

CD1.Color=Forml.BackColorCD1.Action=3:Textl.BackColor=CD1.Color

EndSub運行程序時,單擊窗體,則以下敘述中錯誤的是

A、通用對話框的標題被改為“改變顏色”

B、通用對話框被打開為顏色對話框

C、若選擇顏色對話框中的“取消”按鈕,則文本框的背景色改為窗體背景色

D、若選擇顏色對話框中的“確定”按鈕,則文本框的背景色改為在顏色對話框中選

中的顏色

標準答案:A

知識點解析:通用對話框(CommonDialog)提供諸如打開文件、保存文件、設置打

印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框,該控件運行時不可

見。通用對話框的DialogTitle屬性用于返回或設汽該對話框標題欄上所顯示的文

本:Action屬性用于設置被打開對話框的類型,3為“打開”顏色對話框類型。只有

設置了Aclion屬性后對話框才被打開,對對話框屬性的設也才能起作用,由于本

題中設置DialogTitle的語句在設置Action屬性之前,因此不起作用。

9、假定在窗體上添加了一個通用對話框控件,其名稱為CD1,并有如下程序段:

CD1.ShowOpen:CDI.DefaultExt=”doc”在打開文件的對話框中選擇了“c:\

理el?txt”文件,則FileTitle屬性的值是

A^filel.doc

B、filel.txt

C、c:\filel.txt

D、c:\filel.doc

標準答案:B

知識點解析:通用對話框(CommonDialog)是可提供諸如打開文件、保存文件、設

置打印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框。打開(Open)和

保存(Save)文件對話框有共同的主要屬性,若沒有指定InilDir屬性值,則起始目錄

為當前目錄;FileName屬性返回或設置所選文件的路徑和文件名;Filter屬性是過

濾器,返回或設置在對話框的類型列表框中所顯示的文件類型,例如,過濾器為

*.txt,表示顯示所有的文本文件,語法為:通用對話框名.Filter“描述|文件擴展

名”,使用管道符(1)將描述與過濾器隔開,同樣使用管道符將多個過濾器相互分

隔:Fihcrlndcx屬性返回或設置“打開、蹴"另存為”對話框中一個默認的過濾器,笫

一個過濾器的索引號是1;FileTiUe屬性用于存放對話框中所選擇的文件名;

DefauItExt屬

10、利用通用對話框控件打開字體對話框的操作是

A、把通用對話框控件的Action屬性設置為4

B、把通用對話框控件的Action屬性設置為5

C、調用通用對話框控件的OpenFont方法

D、調用通用對話框控件的ShowText方法

標準答案:A

知識點解析:通用對話框(CommonDialog)提供諸如打開文件、保存文件、設置打

印選項、選擇顏色和字體、顯示幫助等操作的一組標準對話框,該控件運行時不可

見。Action屬性用于設置被打開對話框的類型,要想打開字體對話框,需要將通用

對話框控件的Action屬性設置為4,或者調用對話框的ShowFont方法。

11、以下關于多重窗體程序的敘述中,錯誤的是

A、對于多重窗體程序,需要單獨保存每個窗體

B、在多重窗體程序中,可以根據需要指定啟動窗體

C、在多重窗體程序中,各窗體的菜單是彼此獨立E勺

D、用Hide方法不僅可以隱藏窗體,而且還可以清除內存中的窗體

標準答案:D

知識點解析:包含多個窗體的程序稱為多重窗體程序(MutilForm)。多重窗體是單

一窗體的集合,每個窗體獨立保存,各窗體之間的控件、菜單等對象都是相互獨立

的。對于多重窗體程序,必須指定其中某一個窗體為啟動窗體,如果未指定,設計

時的第一個窗體默認為啟動窗體。只有啟動窗體才能在運行程序時自動顯示出來,

其他窗體必須通過Load及Show方法才能看到,使用Hide方法使窗體隱藏,即不

在屏幕上顯示,但仍在內存中。

12、下列操作中不能向工程添加窗體的是

A、執行“工程”菜單中的“添加窗體”命令

B、單擊工具欄上的“添加窗體”按鈕

C、右擊窗體,在彈出的菜單中選擇“添加窗體”命令

D、右擊工程資源管理器,在彈出的菜單中選擇“添加”命令,然后在下一級菜單中

選擇''添加窗體”命令

標準答案:C

知識點解析:可以通過執行“工程(Project)”一“添加窗體(AddForm)”菜單命令來建

立窗體,每執行一次就新建立一個窗體:也可以單擊工具欄上的“添加窗體”按鈕;

右擊工程資源管理器,在彈出的菜單中選擇“添加『命令,然后在下一級菜單中選擇

“添加窗體”命令也可以添加窗體。

13、對于含有多個窗體的工程而言,以下敘述中正確的是

A、沒有指定啟動窗體時,系統自動將最后一個添加的窗體設置為啟動窗體

B、啟動窗體可以通過“工程屬性”對話框指定

C、Load方法兼有裝入劉顯示窗體兩種功能

D、Hide方法可以將指定的窗體從內存中清除

標準答案:B

知識點解析:沒有指定啟動窗體時,系統自動將第一個添加的窗體設置為啟動窗

體;啟動窗體可以通過“工程屬性”對話框指定。Load方法用于將窗體裝入內存,

Show方法用于顯示窗體,Hide方法用于隱藏窗體,Unload方法可以將指定的窗體

從內存中清除。

14、設工程中有Fonnl>Form2兩個窗體,要求單擊Fonn2上的Commandl命令按

鈕,Form2就可以從屏幕上消失,下面的事件過程中不能實現此功能的是

ANPrivateSubCommandl_Click()Form2.HideEndSub

B、PrivateSubCommandl_Click()UnloadMeEndSub

C、PrivateSubCommandl_Click()Form2.UnloadEndSub

D、PrivateSubCommandl_Click()Me.HideEndSub

標準答案:C

知識點露析:Hide方法可以隱藏一個窗體,Me指代當前窗體,所以語句

Form2.Hide和Me.Hide均可以隱藏當前窗體Form2;Unload語句可以在內存中

卸載一個窗體,該語句不能當作方法使用。

15、工程中有Forml>Form2兩個窗體(Fonnl中有文本框Textl;Form2中有Textl

文本框和Command1命令按鈕)。Forml是啟動窗體,在這些模塊中編寫下面的程序

代碼:Forml中的代碼如下:PrivateSubText1DblClick()Textl=^^VisualBasic^^

Form2.ShowEndSubForm2中的代碼如F:PrivateSubCommandl_Click()

Textl=Forml.TextlForml.ShowEndSub下面關于程序的敘述中錯誤的是

A^雙擊Forml的Textl后,Textl中顯示“VisualBasic",彈出Form2

B、雙擊Forml的Texll后,Form2成為當前窗體

C、單擊Form2的命令按鈕,Forml成為當前窗體

D^Form2的Textl=Forml.Textl語句不能正確執行

標準答案:D

知識點解析:本題中Forml中文本框的雙擊事件中會將文本框里面的內容設置為指

定的值,而且打開窗體Form2并使Form2成為當前窗體;在Form2的命令按鈕中

的單擊事件中會將本窗體中的Textl內容賦值成Forml窗體的文本框Textl的內

容,并使Fonnl成為當前窗體。

16、設工程中有2個窗體:FormlForm2,每個窗體上都有一個名稱為Textl的

文本框。若希望把Forml上文本框中的內容復制到Form2上的文本框中,應進行

的操作是

AN執行Forml中的語句:Forml.Tcxtl=Form2.Textl

B、執行Forml中的語句:Textl=Forml.Text

C^執行Form2中的語句:Forml.Textl=Textl

D、執行Fonn2中的語句:Tcxtl=Forml.Textl

標準答案:D

知識點解析:文本框的默認屬性是Text屬性,在當前窗體中引用控件不必加上窗

體前綴。

17、設工程文件包含兩個窗體文件Forml.(Ym、Form2.frm及一個標準模塊文件

Module1.bas。兩個窗體上分別只有一個名稱為Commandl的命令按鈕。Forml的

代碼如下:PublicxAsIntegerPrivateSubForm_Load()x=1:y=5EndSubPrivate

SubCommandl_Click()Form2.ShowEndSubForm2的代碼如F:PrivateSub

Commandl_Click()PrintForml.x.yEndSuhModulel的代碼如下:PublicyAs

Integer運行以上程序,單擊Forml的命令按鈕Commandl,則顯示Fonn2;再單擊

Form2上的命令按鈕Commandl,則窗體上顯示的是

A、15

B、05

C、00

D、程序有錯

標準答案:A

知識點解析:本題考查的考點是有關變量的作用域的。本題中的y就是在標準模塊

中定義的全局變量,在任何一個窗體中都能應用,并在

溫馨提示

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

最新文檔

評論

0/150

提交評論