版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
國家二級VB機試(過程)模擬試卷第1
套
一、選擇題(本題共43題,每題1.0分,共43分。)
1>假定有如下事件過程:PrivateSubForm_Click()DimXAsIntcgcr,nAsInteger
x=l:n=0DoWhilex<28x=x*3:n=n+lloopPrintx,nEndSub程序運行后,單擊
窗體,輸出結(jié)果是
A、814
B、563
C、281
D、2435
標(biāo)準(zhǔn)答案:A
知識點解析:本題考查D。While循環(huán).在窗體的Click事件代碼里面,定義了變量
x和n,分析D。While循環(huán)可知,n保存循環(huán)次數(shù),x是循環(huán)控制變量,如果x的
值小于28則進入循環(huán)體,因此x和n的變化過程是:3和1、9和2、27和3、81
和4,經(jīng)過4次循環(huán)后x值變成81,循環(huán)條件不成立,循環(huán)結(jié)束。
2、以下敘述中錯誤的是
A、標(biāo)準(zhǔn)模塊文件的擴展名是.bas
B、標(biāo)準(zhǔn)模塊文件是純代碼文件
C、在標(biāo)準(zhǔn)模塊中聲明的全局變量可以在整個工程中使用
D、在標(biāo)準(zhǔn)模塊中不能定義過程
標(biāo)準(zhǔn)答案:D
知識之解析:本題考查的考點是有關(guān)標(biāo)準(zhǔn)模塊的。VB中的標(biāo)準(zhǔn)模塊也稱全局模塊
或總模塊,由全局變量聲明、模塊層聲明及通用過程等幾部分組成,其擴展名
為.bas,里面只有代碼而沒有任何控件。其中全局聲明放在標(biāo)準(zhǔn)模塊的首部,可以
在整個工程中使用。
3、下面不能在信息框中輸出“VB”的是
A、MsgBox”VB”
B、x=MsgBox("VB")
C、MsgBox(''VB")
D、CallMsgBox,,VB,,
標(biāo)準(zhǔn)答案:D
知識點解析:MsgBox()函數(shù)用于顯示提示信息,并可返回一個代表用戶單擊了哪
個按鈕的Integer類型值,當(dāng)其作為函數(shù)使用時必須將參數(shù)放在括號內(nèi)部,而返回
值可以賦值給一個變量,也可以單獨使用此函數(shù)而不將其返回值賦值給變量;
MsgBox過程也用于顯示提示信息,作為過程可以獨立使用,也可以使用Call關(guān)鍵
字來進行調(diào)用,但此時參數(shù)需要加括號。
4、以下關(guān)于過程的敘述中,錯誤的是
A、在Sub過程中不能再定義Sub過程
B、事件過程也是Sub過程
C、過程調(diào)用語句的形參個數(shù)必須與實參個數(shù)相同
D、函數(shù)過程一定有返回值
標(biāo)準(zhǔn)答案:C
知識點解析:Sub過程分為事件過程和通用過程,過程不允許嵌套定義,即在Sub
過程中再定義Sub過程;函數(shù)過程必須有一個返回值,當(dāng)過程的聲明語句中使用
了可選參數(shù)的時候,允許實參個數(shù)與形參不同。
5、設(shè)子程序過程定義的首部為:PublicSubs(xAsInteger,YAsSingle)?0以下正
確的調(diào)用形式為
A、CallS5,4.8
B、CallSub(5,4.8)
C、Sub5,4.8
D、S5,4.8
標(biāo)準(zhǔn)答案:D
知識點解析:子過程可以獨立使用,也可以使用Call關(guān)鍵字來進行調(diào)用,但此時
參數(shù)需要加括號。本題中子程序的名字是S,故此B、C選項可以排除,A選項中
缺少參數(shù)的括號。
6、在窗體上畫兩個標(biāo)簽和一個命令按鈕,其名稱分別為Labell、Label2和
Command),然后編寫如下程序:PrivateSubfunc(LAsLabel)L.Caption="1234”
EndSubPrivateSubForm_Load()Label1.Caption*ABCDE"Label2.Caption=IO
EndSubPrivateSubCommandl_Click()a=Val(LabeI2.Caption)Callfunc(Labell)
Label2.Ciption=aEndSub程庠運行后,單擊命令按鈕,則在兩個標(biāo)簽中顯示的內(nèi)
容分別為
A、ABCD和10
B、1234和100
C、ABCD和100
D、1234和10
標(biāo)準(zhǔn)答案:D
知識點解析:本題考查的考點是有關(guān)過程調(diào)用的。窗體加載時首先執(zhí)行了Load事
件里面的代碼,設(shè)置Labell的標(biāo)題為“ABCDE”,Label2的標(biāo)題為“10”;當(dāng)單擊命
令按鈕時,調(diào)用了func過程,在這個過程中把傳入的Labell的標(biāo)題設(shè)置為
“1234”,Label2的標(biāo)題沒有發(fā)生變化。
7、設(shè)有如卜.Commandl的單擊事件過程及fun過程:PrivateSub
Commandl_Click()DimXAsIntegerx=Val(InputBox(“請輸入一彳、整數(shù)"))fun(x)End
SubPrivateSubfun(xAsInteger)IfxMod2=0Thenfun(x/2、Printx;EndSub執(zhí)
行上述程序,輸入6,結(jié)果是
A、36
B、63
C、6
D、程序死循環(huán)
標(biāo)準(zhǔn)答案:A
知識點解析:本題中的fun過程是一個遞歸調(diào)用,如果參數(shù)x為偶數(shù)則進入遞歸;
本題中的實參6傳入fun過程之后,因其是偶數(shù),所以執(zhí)行fun(6/2),也就是先輸
出3,然后返回到fun中輸出6。
8、編寫如下程序:PrivateSubCommandI_Click()DimstrlAsString,str2AsString
strl=InputBox("輸入一個字符串“)sub自tri,str2:Printstr2EndSubSubsubf(slAs
String,s2AsString)DimtempAsStringStaticiAsIntegeri=i+ltemp=Mid(sl,i,1)
IftempoM"Thensubfsi.s2s2=s2&tempEndSub程序運行后,單擊命令按鈕
Commandl,且輸入“abcdef,則輸出結(jié)果為
A、afbecd
B、cdbeaf
C、fedcba
D、adbecf
標(biāo)準(zhǔn)答案:C
知識點解析?:本題中的子過程subf會進行遞歸調(diào)用,只要在參數(shù)si中取出的字符
不是空字符串就進行遞歸,直到i的值超過si的長度才停止,然后進行回歸操
作,相當(dāng)于每一次向s2中連接的字符都是最后取出的si中的字符,最終實現(xiàn)字符
串的逆序操作。
9、以下關(guān)于函數(shù)過程的敘述中,正確的是
A、函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關(guān)系
B、在函數(shù)過程中,過程的返回值可以有多個
C、當(dāng)數(shù)組作為函數(shù)過程的參數(shù)時,既能以傳值方式傳遞,也能以傳址方式傳遞
D、如果不指明函數(shù)過程參數(shù)的類型,則該參數(shù)沒有數(shù)據(jù)類型
標(biāo)準(zhǔn)答案:A
知識點解析:本題考查的考點是有關(guān)函數(shù)過程的。函數(shù)過程可以返回一個函數(shù)值,
但這個函數(shù)值的類型和參數(shù)類型沒有任何關(guān)系;如果不指明參數(shù)的類型,則默認(rèn)參
數(shù)為變體型;數(shù)組作為函數(shù)參數(shù)時只能通過傳地址的方式來調(diào)用。
10、在VB中,函數(shù)過程與子程序過程的區(qū)別之一是
A、函數(shù)過程必須有參數(shù),而子程序過程可以沒有
B、函數(shù)過程的參數(shù)傳遞只采用值傳遞,而子程序過程只采用地址傳遞
C、在程序中,子程序過程調(diào)用的代碼可以寫在表達(dá)式中,而函數(shù)過程不能
D、函數(shù)過程有返回值,而子程序過程沒有
標(biāo)準(zhǔn)答案:D
知識點解析:函數(shù)過程和Sub子過程一樣,也可以有參數(shù)也可以沒有參數(shù);參數(shù)
傳遞也可以使用地址傳涕也可以使用值傳遞;都是在代碼中進行調(diào)用,只是函數(shù)過
程必須有一個返回值,子過程沒有。
11>在窗體上畫一個命令按鈕(名稱為Command】),并編寫如下代碼:FunctionFun
l(ByValaAsInteger,bAsInteger)AsIntegerDimlAsIntegert=a.b:b=t+a:
Funl:t+bEndFunctionPrivateSubCommandl_Click()DimXAsIntegerx=10Print
Funl(Funl(x,(bunl(x?x-1))),x—1)EndSub程序運行后,單擊命令按鈕,輸出
結(jié)果是
A、10
B、0
C、II
D、21
標(biāo)準(zhǔn)答案:B
知識點解析:本題考查的考點是有關(guān)過程調(diào)用的。對于這種復(fù)雜的函數(shù)調(diào)用,一定
要搞清楚調(diào)用的順序以及參數(shù)傳遞的是值還是地址。根據(jù)過程調(diào)用的原則,首先調(diào)
用最內(nèi)層的Funl(x,x—1),其結(jié)果為12,x的值不變?nèi)詾?0;然后調(diào)用Funl(x,
12),其結(jié)果為6,x的值也不變?yōu)?0;最后調(diào)用Funl(6,x-1),其結(jié)果為0,x的值
也不變?yōu)?0。本題中的傳址調(diào)用是沒有作用的,因為表達(dá)式是不能傳地址的。
12、有下面程序代碼:PrivateSubCommandl_CIick()DimaAsString
a=<tCOMPUTER,,n=search(a,"T"):PrintIIf(n=O,"未找到“,n)EndSubPrivate
Functionsearch(strAsString,chAsString)AsIntegerFork=lToLen(str)
c=Mid(str,k,I)Ifc=chThensearch=k:ExitFunctionEndIfNextksearch=0End
Function程序運行后,單擊命令按鈕Commandl,輸出結(jié)果是
A、0
B、8
C、6
D、未找到
標(biāo)準(zhǔn)答案:C
知識點解析:本題中search函數(shù)的參數(shù)是兩個字符串,在函數(shù)內(nèi)進行循環(huán),依次
取出第一個參數(shù)的第k位和第二個參數(shù)進行比較,如果相等則返回k的值,實際上
就是查找第二個參數(shù)在第一個參數(shù)中出現(xiàn)的位置。
13^現(xiàn)有如下程序:PrivateSubCommandl_Click()s=0Fori=lTo5s=s+f(5+i)Next
PrintsEndSubPublicFunctionf(xAsInteger)IfX>=10Thent=x+lElset=x+2EndIf
f=tEndFunction運行程序,則窗體上顯示的是
A、38
B、49
C、61
D、70
標(biāo)準(zhǔn)答案:B
知識點解析:本題考查的考點是有關(guān)函數(shù)調(diào)用和If語句的。要注意在前4次循環(huán)
中每次調(diào)用f函數(shù)時傳遞的參數(shù)分別為6、7、8、9,都是小于10的,最后一次循
環(huán)傳遞參數(shù)10,所以最終結(jié)果應(yīng)該為8+9+10+11+11=49。
14>假定有以下通用過程:FunctionFun(nAsInteger)AsIntegerx=n*n;Fun=x—11
EndFunction在窗體上畫一個命令按鈕,其名稱為Commandl,然后編寫如卜事件
過程:PrivateSubCominandl_CIick()DimiAsIntegerFori=lTo2y=Fun(i)Printy;
NextiEndSub程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A、13
B、108
C、-10-7
D、05
標(biāo)準(zhǔn)答案:C
知識點解析:本題共調(diào)用Fun函數(shù)2次,每次的函數(shù)值都是參數(shù)的平方減去II的
值,故此輸出一10,-7.
15,求1!+2!+.......+10!的程序如下:PrivateFunctions(xAsInteger)f=lFori=lTo
xf=f*iNexts=fEndFunctionPrivateSubCommand1_Click()DimiAsInteger,yAs
LongFori=lTo10()NextPrintyEndSub為實現(xiàn)功能要求,程序的括號中應(yīng)該填
入的內(nèi)容是
A、Calls(i)
B、Calls
C、y=y+s(i)
D、y=y+s
標(biāo)準(zhǔn)答案:C
知識點解析:函數(shù)過程有一個返回值.一般出現(xiàn)在表達(dá)式中組成表達(dá)式的一部分C
本題的題口要求累加各個數(shù)的階乘,而函數(shù)s的作用是求參數(shù)的階乘,因此應(yīng)該在
每次循環(huán)中累加f函數(shù)的值,參數(shù)為循環(huán)變量i。
16、在窗體上畫一個名稱為Command】的命令按鈕,并編寫如下程序:Function
Fun(x)y=0Ifx<10Theny=xElsey=y+10EndIfFun=yEndFunctionPrivateSub
CommandlC1ick()n=InputBox("請輸入一個數(shù)“)n=Val(n)P=Fun(n):PrintPEndSub
運行程序「單擊命令按鈕,將顯示輸入對話框,如果在對話框中輸入100,并單擊
“確定”按鈕,則輸出結(jié)果為
A、10
B、100
C、110
D、出錯信息
標(biāo)準(zhǔn)答案:A
知識點解析:本題是一個簡單的函數(shù)調(diào)用,在函數(shù)中會判斷參數(shù)X的值,根據(jù)X的
值不同執(zhí)行If語句的不同分支。由于實際參數(shù)為100不滿足x<10,因此函數(shù)返回
值為10o
17、設(shè)有如下事件過程:PrivateSubCommandl_Click()Dimaa=Array(12,3,8,
5,10,3,5,9,2,4)Fork=lTo9Printfun(a(k-1),a(k));NextkEnd
SubPrivateFunctionfun(x,y)AsIntegerDoWhileX>=yx=x-yLoopfun=xEnd
Function程序運行時的輸出結(jié)果是
A、401030040
B、033513512
C、9-53-57-2-47-2
D、933573572
標(biāo)準(zhǔn)答案:B
知識點解析:本題中函數(shù)fun的作用是當(dāng)?shù)谝粋€形參比第二個形參大或著相等的時
候讓它減去第二個形參,直到比第二個形參小為止;在按鈕的單擊事件中循環(huán)調(diào)用
9次函數(shù),每次都用數(shù)組的前一個元素和后一個元素作為函數(shù)的實參,所以應(yīng)輸出
的是12-3—3—3.3、3、8—5、5、10—3、3、5、9-2、2。
18,設(shè)有如下函數(shù):FunctionDelSpace(chAsString)AsIntegerDimn%,st$,
c$st="":n=0Fork=lTOLen(ch)c=Mid(ch,k,1)Ifco,M,Thenst=st&CElsen=n+l
EndIfNextkch=st:DelSpace=nEndFunction該函數(shù)的功能是
A、統(tǒng)計并返回字符串ch中字符的個數(shù)
B、刪除字符串ch中的空格符,返回刪除字符的個數(shù)
C、統(tǒng)計并返回字符串ch中非空格字符數(shù)
D、刪除字符串ch中除空格符外的其他字符,返回刪除字符的個數(shù)
標(biāo)準(zhǔn)答案:B
知識點解析:在函數(shù)中進行字符串的正向遍歷,每次取出字符串中的一個字符,判
斷該字符如果不是空格就將其連接到4I:否則令n+L循環(huán)結(jié)束后將會刪除字符
串ch中的空格符,返并使用函數(shù)值返回刪除字符的個數(shù)。
19、窗體上有一個名稱為Command1的命令按鈕,其單擊事件過程及相關(guān)的函數(shù)過
程如下:PrivateSubCommandl_Click()DimiAsIntegerFori=lTo500Ifp(i)Then
s=s+lNextPrintsEndSubPrivateFunctionp(xAsInteger)AsBooleanIfxMod7o0
Thenp二TrueElsep二FalseEndIfEndFunction關(guān)于上述程序,以卜?敘述中正確的是
A、程序功能是統(tǒng)計1-500范圍內(nèi)能被7整除的整數(shù)個數(shù)
B、Command!Click事件過程中If語句的條件表達(dá)式不完整
C、Function過程定義方.誤,函數(shù)過程P的名稱與該過程中的變量名P相同
D、函數(shù)過程p的返回值為Boolean類型
標(biāo)準(zhǔn)答案:D
知識點解析:調(diào)用Funclion過程要返回一個值,因此可以像內(nèi)部函數(shù)一樣在表達(dá)
式中使用。如果在Function過程中省略“過程名=表達(dá)式”,則該過程返回一個默認(rèn)
值(數(shù)值函數(shù)過程返回0值:字符串函數(shù)過程返回空字符串)。因此,通常要在過程
體中給“過程名”賦值。本題中函數(shù)p的返回值為Boolean類型,功能是判斷參數(shù)x
是否能被7整除,如果不能整除返回True,否則返回FalseoConimandlClick事件
過程中使用了單行的If語句,不需要臼se分支和Endlf語句。程序功能是統(tǒng)計1-
500范圍內(nèi)不能被7整除的整數(shù)個數(shù)。
20、設(shè)有下面程序代碼:PrivateSubCommandl_Click()DimstrAsString,chAs
Stringstr="VisualBasicProgramming“:ch="a"n=fun(ch,str):Printstr,nEndSub
PrivateFunctionfun(chAsString,strAsString)AsIntegerDimstrbufAsString,cAs
String,nAsIntegerFork=lToLen(str)c=Mid$(str,k,1)IfcochThen
strbuf=strbut&cElsestrbut=strbut&UCasc(c):n=n+lEndItNextkstr=strbut:tun=n
EndFunction程序運行時的輸出是
A^VisualBasicProgramming0
B、VisuAlBAsicProgrAmming3
C、VisulBsicProgrmming3
D、VisualBasicProgramming2
標(biāo)準(zhǔn)答案:B
知識點解析:本題中函數(shù)fun除了有返回值外,還通過地址傳遞的形參sir帶回修
改以后的字符串。在函數(shù)中會依次遍歷整個字符串,每一次取得一個字符,判斷該
字符和給定的參數(shù)“建是否相等,如果不等則將其原樣連接,否則將此字符轉(zhuǎn)換成
大寫字符以后連接,而且令計數(shù)器加1。所以整個函數(shù)的功能就是將形參sir中所
有等于形參ch的字符轉(zhuǎn)換成大寫,并且統(tǒng)計這類字符的個數(shù)作為函數(shù)返回值。
21、以下敘述中錯誤的是
A、在通用過程中,多個形式參數(shù)之間可以用逗號作為分隔符
B、在Print方法中,多個輸出項之間可以用逗號作為分隔符
C、在Dim語句中,所定義的多個變量可以用逗號作為分隔符
D、當(dāng)一行中有多個語句時,可以用逗號作為分隔符
標(biāo)準(zhǔn)答案:D
知識點解析:本題考查的考點是有關(guān)分隔符的。在過程的參數(shù)中需要用分隔符隔
開;在Print方法中使用逗號可以隔開多個輸出項:在一條Dim語句中定義多個變
量時,這些變量也要用逗號隔開:在一行中寫多個語句時,多個語句之間需要用冒
號隔開。
22、以下關(guān)于過程及過程參數(shù)的描述中,錯誤的是
A、調(diào)用過程時可以用控件名稱作為實際參數(shù)
B、用數(shù)組作為過程的參數(shù)時,使用的是“傳地址”方式
C、只有函數(shù)過程能夠?qū)⑦^程中處理的信息傳回到調(diào)用的程序中
D、窗體(Fomi)可以作為過程的參數(shù)
標(biāo)準(zhǔn)答案:C
知識點解析:本題考查的考點是有關(guān)過程參數(shù)的。在VBU」不僅可以使用窗體作為
通用過程的參數(shù),還可以使用控件作為通用過程參數(shù)。控件參數(shù)用法同窗體參數(shù),
不過形參類型一般為Control。在使用數(shù)組作為參數(shù)時,使用的是傳地址的方式。
要想把過程中的信息傳回到調(diào)用過程中,不但使用函數(shù)可以完成,也可以使用傳地
址調(diào)用的參數(shù)傳遞來完成。
23、下面是求最大公約數(shù)的函數(shù)的首部Functiongcd(ByValxAsInteger,ByVaiYAs
Integer)As如teger若要輸出8、12、16這3個數(shù)的最大公約數(shù),下面正確的語句是
A、Printgod(8,12),gcd(12,16),gcd(16,8)
Printgcd(8,12,16)
C、Printgcd(8),gcd(12),gcd(16)
D、Printgcd(8,gcd(12,16))
標(biāo)準(zhǔn)答案:D
知識點解析:函數(shù)過程在傳遞參數(shù)時,形參表與實參表中對應(yīng)變量的名字不必相
同,但參數(shù)的個數(shù)、對應(yīng)位置和對應(yīng)類型必須相同。本題中的gcd函數(shù)有兩個參
數(shù),任何對于gcd的調(diào)用都必須傳遞實參為兩個整型值;選項A)中得到3個結(jié)
果,顯然不是我們所需要的;選項D)中的函數(shù)嵌套調(diào)用能夠求出3個數(shù)的最大公
約數(shù)。
24、為了通過傳值方式來傳送過程參數(shù),在函數(shù)聲明部分應(yīng)使用的關(guān)鍵字為
A、Value
B、ByVai
C、ByRef
D、Reference
標(biāo)準(zhǔn)答案:B
知識點解析:傳值就是通過值傳送實際參數(shù),即傳送實參的值而不是傳送它的地
址。在這種情況下,通用過程不訪問變量(實參)的原始地址,因此不會改變原來變
量的值,所有的變化都是在變量的副木上進行的。傳值方式通過關(guān)鍵字ByVai來
實現(xiàn)。也就是說,在定義通用過程時,如果形參前面有ByVai,則該參數(shù)通過傳值
方式傳送。在傳值方式下,對形參的改變不會影響到實參。
25、以下過程定義中正確的過程首行是
A、PrivateSubProc(OptionalaasInteger,basInteger)
B、PrivateSubProc(aasInteger)asInteger
C>PrivateSubProc(a()AsInteger)
D、PrivateSubProc(ByVala()AsInteger)
標(biāo)準(zhǔn)答案:C
知識點解析:VisualBasic允許用數(shù)組作為參數(shù)。但用數(shù)組作為過程的參數(shù)時,應(yīng)
在數(shù)組名的后面加上一對括號,以免與普通變量相混淆;而且只能使用地址傳遞,
不能使用值傳遞。為了定義可選參數(shù),需要在參數(shù)表中使用Optional關(guān)鍵字來指定
可選參數(shù),但是可選參數(shù)必須是變體型,而且放在參數(shù)表的最后。Sub子過程是不
能有返回值類型的。
26、某人編寫了下面的程序PrivateSubCommandl_Click()DimaAsInteger,bAs
Integera=InputBox("請輸入整數(shù)")b=InputBox("請/入整如)proa:probCall
pro(a+b)EndSubPrivateSubpro(nAsInteger)While(n>0)PrintnMod10:n=n\10
WendPrimEndSub此程序功能是:輸入2個正整數(shù),反序輸出這2個數(shù)的每一位
數(shù)字,再反序輸出這2個數(shù)之和的每一位數(shù)字。例如:若輸入123和234,則應(yīng)該
輸出:321432753但調(diào)試時發(fā)現(xiàn)只輸出了前2行(即2個數(shù)的反序),而未輸出
第3行(即2個數(shù)之和的反序),程序需要修改。下面的修改方案中正確的是
A^把過程pro的形式參數(shù)nAsInteger改為ByVainAsInteger
B、把Callpro(a+b、)改為proa+b
C、把n=n\10改為n=n/10
D、在prob語句之后增加語句c%=a+b,再把Callpro(a+b)改為proc
標(biāo)準(zhǔn)答案:A
知識點解析:本題考查的考點是有關(guān)過程調(diào)用的。本題題干中的程序之所以不能顯
示第三行的值,是由于在調(diào)用pro函數(shù)時使用的是默認(rèn)的傳地址調(diào)用,這時在pr。
過程中的對形參的更改都會影響到實參。仔細(xì)觀察pro過程,發(fā)現(xiàn)每次循環(huán)都要對
形參n整除10一直到n為0為止,所以每次pro過程調(diào)用結(jié)束后都會把對應(yīng)實參
改為0。修改參數(shù)傳遞方式為傳值調(diào)用即可使程序正確運行。
27、有下面程序代碼:PrivateSubCommandl_Click()DimxAsInteger,sAsInteger
x=lFork=lTo3x=x+l:procx:s:s+xNextkPrintsEndSubPrivateSub
proc(ByValaAsInteger)StaticxAsIntegerx=x+l:a=a+xEndSub程序運彳j后,單
擊命令按鈕Command1,輸出結(jié)果是
A、6
B、9
C、15
D、19
標(biāo)準(zhǔn)答案:B
知識點解析:本題中首先要區(qū)分在命令按鈕的單擊事件中定義的x是局部變量,僅
能在過程內(nèi)部起作用;在子過程proc中定義的靜態(tài)變量x也是局部變量,也只能
在本過程中起作用。在VB的過程調(diào)用時,參數(shù)有兩種傳遞方式;傳址傳遞和傳值
傳遞。如果在過程聲明時形參用ByVai聲明,說明此參數(shù)為傳值調(diào)用;若用ByRef
聲明,說明此參數(shù)為傳址調(diào)用:沒有說明傳遞類型,則默認(rèn)為傳址傳遞。即形參的
結(jié)果會傳遞給實參。本題中proc過程的參數(shù)a用的是值傳遞,因此形參的改變不
會影響到實參,所以在命令按鈕的單擊事件中循環(huán)累加的是2+3+4=9。
28、編寫如下程序:PrivateSubCommandl_Click()DimxAsIntegerx=10Print
funl(x,12)+xEndSubPrivateFunctionfunl(mAsInteger,nAsInteger)AsInteger
Ifn>10Thenm=nfunl=m+nEndFunction程序運行后,單擊命令按鈕Command),
輸出結(jié)果為
A、30
B、32
C、34
D、36
標(biāo)準(zhǔn)答案:D
知識點解析:本體是一個簡單的函數(shù)調(diào)用,調(diào)用funl函數(shù)時將x的值作為實參傳
送給funl函數(shù),由于第二個參數(shù)12滿足n>10,會將形參m的值也改變?yōu)?2,因
返回的函數(shù)值為24;由于函數(shù)funl的各個參數(shù)為地址傳遞,因此對于形參m的值
會影響實參x的值,即x的值也變?yōu)?2。
29、在窗體上畫一個名稱為Commandl的命令按鈕,再畫兩個名稱分別為Label1、
Labcl2的標(biāo)簽,然后編寫如下程序代碼:PrivateXAsIntegerPrivateSub
Commandl_Click()X=5:Y=3Callproc(X,Y)Label1.Caption=X
Label2.C叩tion=YEndSubPrivateSubproc(aAsInteger,ByVaibAsInteger)
X=a*a:Y=b+bHndSub程序運行后,單擊命令按鈕,則兩個標(biāo)簽中顯示的內(nèi)容分
別是
A、25和3
B、5和3
C、25和6
D、5和6
標(biāo)準(zhǔn)答案:A
知識點解析:本題考查的考點是有關(guān)參數(shù)傳遞的。在VB的過程調(diào)用時,參數(shù)有兩
種傳遞方式:傳址傳遞和傳值傳遞。如果在過程聲明時形參用ByVai聲明,說明
此參數(shù)為傳值調(diào)用:若用ByRef聲明,說明此參數(shù)為傳址調(diào)用:沒有說明傳遞類
型,則默認(rèn)為傳址傳遞。即形參的結(jié)果會傳遞給實參。由于本題中的實參Y采用
傳值傳遞,實參X采用傳址傳遞,而且X是全局變量,所以在被調(diào)過程中改變了
X的值而沒有改變Y的值。
30、設(shè)有如下通用過程:PublicFunctionf(xAsInteger)DimyAsIntegerx=20:
y=2:f=x*yEndFunction在窗體上畫一個命令按鈕,其名稱為Command],然后編
寫如下事件過程:PrivateSubCommandl_Click()StaticxAsIntegerx=IO:y=5:
y=fix)Printx;yEndSuh程序運行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容
是
A、105
B、2040
C、205
D、1040
標(biāo)準(zhǔn)答案:B
知識點解析:本題中函數(shù)f中的形參x和按鈕的單擊事件中的靜態(tài)變量x是不同的
變量,相互之間互不影響。函數(shù)f的參數(shù)X使用的是地址傳遞的形式,即形參的變
化會影響到實參;在命令按鈕的單擊事件中調(diào)用函數(shù)f,會使得參數(shù)X的值變成
20,函數(shù)返回值為40。
31、命任何一個滾動條滾動框件過程如下:PrivateSubCommandl_Click()x=10
Printf(x)EndSubPrivateFunctionf(yAsInteger)f=y*yEndFunction運行上述程
序,如下敘述中正確的是:
A、程序運行出錯,x變量的類型與函數(shù)參數(shù)的類型不符
B、在窗體上顯示100
C、函數(shù)定義錯,函數(shù)名f不能又作為變量名
D、在窗體上顯示10
標(biāo)準(zhǔn)答案:A
知識點解析:在淵用子過程或者函數(shù)過程時,要求實參與形參必須是匹配的,即個
數(shù)相同、類型相同、順序一致。本題中命令按鈕的Click事件中隱式聲明了變量
X,所以X是變體型:在調(diào)用函數(shù)f的時候?qū)⒆凅w型的X作為實參傳送,但函數(shù)f中
的形參y是整型的,故此產(chǎn)生類型不匹配的情況。
32、編寫如下程序:PrivateSubCommandl_Click()DimxAsInteger,yAsInteger
x=InputBox("輸入第一個數(shù)"):y=InputBox(“輸入第二個數(shù)")CallRx,y)Printx,y
EndSubSubf(aAsInteger.ByVaibAsInteger)a=a*2:x=a+b:b=b+100EndSub程
序運行后,單擊命令按鈕Command1,并輸入數(shù)值10和15,則輸出結(jié)果為
A、10115
B、20115
C、3515
D、2015
標(biāo)準(zhǔn)答案:D
知識點解析:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(ByVai)和按址傳遞(Byrd),默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在
引用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。
本題中f的參數(shù)a是按地址傳遞的,b是按值傳遞的,因此在f中對a的改變會影
響實參x,對b的操作不會影響實參y。
33、現(xiàn)有程序如下:OptionBase1PrivateSubFormClick()Dimx(5,6)AsInteger,
y(5)AsIntegerFori=lTo5Forj=lTo6x(i,j)=Int(Rnd*9+I)NextjNextiCallf(5,
6,x,y)Fori=lTo5Printy(i);NextiEndSubSubf(mAsInteger,nAsInteger,
a()AsInteger.h()AsInteger)Fori=lTomh(i)=0Fori=1Tonh(i)=h(i)+a(i,j)
Next{NextiEndSub關(guān)于上述程序,以下敘述中正確的是
A、調(diào)用過程語句有錯,參數(shù)不匹配
B、程序有錯,數(shù)組下標(biāo)越界
C、y數(shù)組中保存的是x數(shù)組每行數(shù)據(jù)之和
D、x數(shù)組中數(shù)據(jù)的取值范圍是1-10
標(biāo)準(zhǔn)答案:C
知識點解析:本題中子過程f的四個形參分別為整型、整型、整型數(shù)組和整型數(shù)
組,在窗體的單擊事件中調(diào)用過程f,四個實參和四個形參可以匹配,調(diào)用語句沒
有錯誤:在二重循環(huán)中為二維數(shù)組的每個元素賦值,數(shù)組下界從1開始,因此不會
越界;在二重循環(huán)中為數(shù)組x的元素賦值為0?9之間的值;在過程f中用一個二
重循環(huán)以此計算x數(shù)組每行數(shù)據(jù)之和放在y數(shù)組中,
34、窗體上有一個名稱為Command1的命令按鈕,一個名稱為Textl的文本框。編
寫如下程序:PrivateSubCommand!Click()DimxAsIntegerx=Va1(InputBox("輸入
數(shù)據(jù)”))Text1=Str(x+fun(x)+fun(x))EndSubPrivateFunctionfun(ByRefnAsInteger)
IfnMod3=0Thenn=n+nElsen=n*nEndIffun=nEndFunction對于上述程序,以下
敘述中錯誤的是
A、語句fun=n有錯,因為n是整型,fun沒有定義類型
B、運行程序,輸入值為5時,文本框中顯示655
C、運行程序,輸入值為6時,文本框中顯示42
D、ByRef表示參數(shù)按址傳遞
標(biāo)準(zhǔn)答案:A
知識點解析:本題中的函數(shù)fun的功能是判斷參數(shù)是否能被3整除,若可以整除則
將n翻倍,否則將n變?yōu)閚的平方返回。在函數(shù)頭部沒有聲明函數(shù)的返回值類型,
默認(rèn)為變體型,可以接受任何數(shù)據(jù)類型的賦值;ByRef表示參數(shù)按址傳遞,對形參
的改變將會影響實參;當(dāng)輸入5的時候輸出5+25+625=655;當(dāng)輸入6的時候輸出
6+12+24=42o
35、窗體上有一個名稱為Command]的命令按鈕,并有如下程序代碼:PrivateSub
Commandl_Click()Staticaa=l:b=2:c=3Callf(a,b,c)Printa:b:cEndSubSub
f(ByValx,ByRefy,z)x=x+l:y=y+1:z=z+1EndSub運行程序,單擊命令按鈕,
窗體上顯示的是
A、133
B、134
C、233
D、234
標(biāo)準(zhǔn)答案:B
知識點解析?:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(ByVai)和按址傳遞(Byref),默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在
引用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。
本題中f的參數(shù)x是按值傳遞的,y和z是按地址傳遞的,因此在f中對x的改變
不會影響實參a,對y和z的操作會影響實參b和c。
36、窗體上有一個名稱為Command1的命令按鈕,其單擊事件過程如下:Private
SubCommandI_Click()DimxAsInteger,VAsIntegerStaticzAsIntegerx=3:y=5:
z=yCallf(x,y,z)Printx;y;zEndSubPrivateSubf(ByValaAsInteger,ByRefb
AsInteger,cAsInteger)a=a+a:b=b+b:c=c+cEndSub運行程序,單擊命令按鈕
時,3個標(biāo)簽中顯示的內(nèi)容分別是
A、355
B、3510
C、3105
D、31010
標(biāo)準(zhǔn)答案:D
知識點解析:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(ByVai)和按址傳遞(Byre。,默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在
引用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。
本題中f的參數(shù)a是按值傳遞的,b和c是按地址傳遞的,因此在f中對a的改變不
會影響實參x,對b和c的操作會影響實參x和y。
37、窗體上有一個名稱為Command的命令按鈕,其單擊事件過程及相關(guān)的代碼如
卜:PrivateSubCommandlClick()DimxAsInteger,yAsIntegerx=Val(InputBox(“輸
入整數(shù)"))y=Val(InputBox("輸入整數(shù)"))PrintStr(fun(x,y)+x+y)EndSubPrivate
Functionfun(ByRefmAsInteger,ByVainAsInteger)n=n+n:fun=m+nEnd
Funciion運行程序,單擊命令按鈕時,出現(xiàn)輸入對話框,分別輸入3、5,則窗體
上顯示的是
A、27
B、28
C、33
D、38
標(biāo)準(zhǔn)答案:C
知識點解析?:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(Byval)和按址傳遞(Byref),默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在引
用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。本
題中fun的參數(shù)m是按地址傳遞的,n是按值傳遞的,因此在f中對m的改變會影
響實參x,對n的操作不會影響實參y,即輸出的是Slr(19十9十5尸“33”。
38、設(shè)有如下程序:PrivateSubInv(ByValxSlrAsString,ySlrAsString)DimtStr
AsStringDimLAsIntegerL=Len(xStr)DoWhileL>=1tStr=tStr+Mid(xStr,L,1):L=L-
1LoopyStr=tStrEndSubPrivateSubForm_Click()DimSIAsString,S2AsString
Sl^abcderinvSl.S2PrintS2EndSub運行程序,單擊窗體,輸出結(jié)果為
A、abcdef
B、afbecd
C、fedcba
D、defabc
標(biāo)準(zhǔn)答案:C
知識點解析:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(Byval)和按址傳遞(Byrd),默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在引
用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。本
題中Inv的參數(shù)xSlr一是按值傳遞的,yStr是按地址傳遞的,因此在Inv中對xSlr
的改變不會影響實參S1,對yStr的操作會影響實參S2。過程Inv的作用是在每次
循環(huán)中取出S1字符串靠后面的值連接到tStr中,然后將iStr賦值給ySlr從而通過
地址傳遞帶回給S2,即字符串的逆序。
39、設(shè)有如下程序:PrivateSubsV(ByValmAsInteger,nAsInteger)m=m*2:n=n-
5;Printm:nEndSubPrivateSubForm_Click()DimXAsInteger,YAsIntegerx=IO:
y=15:sVx,yPrintx;YEndSub運行程序,單擊窗體,輸出結(jié)果為
A、20101010
B、10152010
C、20151015
D、20102010
標(biāo)準(zhǔn)答案:A
知識點解析:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(ByVai)和按址傳遞(Byr田,默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在
引用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。
本題中sV的參數(shù)m是按值傳遞的,n是按地址傳遞的,因此在sV中對m的改變
不會影響實參x,對n的操作會影響實參y。
4。、由高中數(shù)學(xué)可知,對于連續(xù)函數(shù)f(x),若f(xl)與f(x2)值的符號相反,則在xl
和x2之間必存在x0,使得f(xO)=O(該點稱為“零點設(shè)有VB函數(shù):Private
Functionf(xAsSingle)AsSingle可以返回f(x)的值(函數(shù)體沒有給出)。下面程序的功
能是從鍵盤輸入2個實數(shù)xl、x2,判斷在xl、x2之間是否存在零點。PrivateSub
Commandl_Click()DimxlAsSingle,x2AsSinglexl=InputBox("請輸入一個實數(shù)
xl")x2=InputBox("請再輸入一個實數(shù)x2")If()ThcnPrint"在“:xl;n
與”;x2;”之間存在零點"ElsePrint”不能確定在“;與“與“:x2;”之間是否存在
零點”EndIfEndSubPrivateFunctionf(xAsSingle)AsSingleEndFunction為使上面
程序可以實現(xiàn)該功能,程序代碼中橫線處應(yīng)填寫的代碼是
A、f(xl)>0Orf(x2)<0
B、f(xl)<0Andf(x2)<0
C、f(xl)*f(x2)<0
D、f(xl)*f(x2)>0
標(biāo)準(zhǔn)答案:C
知識點解析:本題實際是要求判斷兩個函數(shù)值是否符號相反,由中學(xué)數(shù)學(xué)的知識可
知,兩數(shù)相反的標(biāo)志是兩數(shù)相乘結(jié)果小于0。
41、編寫如下程序:PrivateSubCommandl_Click()DimxAsInteger,YAsInteger
x=10:y=20Callfunl(x,y)Printx:YEndSubPrivateFunctionfunl(ByValmAs
Integer,nAsInteger)AsIntegerm=m*m:n=n+nEndFunction程序運行后,單擊命
令按鈕Commandl,輸出結(jié)果為
A、1025
B、1040
C、10025
D、10040
標(biāo)準(zhǔn)答案:B
知識點解析:在VisualBasic中調(diào)用過程時,參數(shù)有兩種傳遞形式:按值傳遞
(ByVai)和按址傳遞(Byref),默認(rèn)為按址傳遞。其中,當(dāng)參數(shù)按址傳遞時,如果在
引用該參數(shù)的過程中改變了形參的值,同時也就改變了傳遞參數(shù)時實參變量的值。
本題中。funl的參數(shù)m是按值傳遞的,n是按地址傳遞的,因此在funl中對m的
改變不會影響實參x,對n的操作會影響實參y。
42、設(shè)有以下過程:PrivateSubproc(xAsInteger,OptionalYAsInteger)Printx,y
EndSub針對此過程,下面正確的過程調(diào)用語句是
A、Callproc(a!,23)
B、Callprocx%,12
C>procb%
D、x=proc(12)
標(biāo)準(zhǔn)答案:C
知識點解析:Optional聲明的參數(shù)是可選參數(shù),在調(diào)用的時候可以省略對應(yīng)的實
參,但是可選參數(shù)必須放在形參列表的最后聲明;在過程內(nèi)可以使用IsMissing函
數(shù)來判斷是否實際調(diào)用的時候省略了對應(yīng)的實參。子過程可以獨立使用,也可以使
用Call關(guān)鍵字來進行調(diào)用,但此時參數(shù)需要加括號。
43、以下關(guān)于過程及過程參數(shù)的描述中,錯誤的是
A、過程的參數(shù)可以是控件名稱
B、調(diào)用過程時使用的實參的個數(shù)應(yīng)與過程形參的個數(shù)相同(假定不含可變參數(shù))
C、只有函數(shù)過程能夠?qū)⑦^程中處理的信息返回到調(diào)用程序中
D、窗體可以作為過程的參數(shù)
標(biāo)準(zhǔn)答案:C
知識點解析:本題考查的考點是有關(guān)過程參數(shù)的。過程的參數(shù)可.以為任何控件,包
括窗體,在傳遞參數(shù)時,形參表與實參表中對應(yīng)變量的名字不必相同,但參數(shù)的個
數(shù)、對應(yīng)位置和對應(yīng)類型必須相同。除了函數(shù)過程可以把信息返回到調(diào)用程序中,
一般過程也可以通過地址傳遞的方法把信息返回到調(diào)用程序中。
家二級VB機試(過程)模擬試卷第2
套
一、選擇題(本題共43題,每題1.0分,共43分。)
1、假定有如下事件過程:PrivateSubFormClick()DimXAsInteger,nAsInteger
x=l:n=0DoWhilex<28x=x*3:n=n+lloopPrintx,nEndSub程序運行后,單擊
窗體,輸出結(jié)果是
A、814
B、563
C、281
D、2435
標(biāo)準(zhǔn)答案:A
知識點解析?:本題考查D。While循環(huán)。在窗體的Click事件代碼里面,定義了變量
x和n,分析D。While循環(huán)可知,n保存循環(huán)次數(shù),x是循環(huán)控制變量,如果x的
值小于28則進入循環(huán)體,因此x和n的變化過程是:3和0、9和2、27和3、81
和4,經(jīng)過4次循環(huán)后x值變成81,循環(huán)條件不成立,循環(huán)結(jié)束。
2、以下敘述中錯誤的是
A、標(biāo)準(zhǔn)模塊文件的擴展名是.bas
B、標(biāo)準(zhǔn)模塊文件是純代碼文件
C、在標(biāo)準(zhǔn)模塊中聲明的全局變量可以在整個工程中使用
D、在標(biāo)準(zhǔn)模塊中不能定義過程
標(biāo)準(zhǔn)答案:D
知識點解析:本題考查的考點是有關(guān)標(biāo)準(zhǔn)模塊的。VB中的標(biāo)準(zhǔn)模塊也稱全局模塊
或總模塊,由全局變量聲明、模塊層聲明及通用過程等幾部分組成,其擴展名
為.bas,里面只有代碼而沒有任何控件。其中全局聲明放在標(biāo)準(zhǔn)模塊的首部,可
以在整個工程中使用。
3、下面不能在信息框中輸出“VB”的是
A、MsgBox”VB”
B、x=MagBox(''VB")
C、MsgBox(”VB”)
D、CallMsgBox”VB”
標(biāo)準(zhǔn)答案:D
知識點解析:MsgBox()函數(shù)用于顯示提示信息,并可返回一個代表用戶單擊了哪
個按鈕的Integer類型值,當(dāng)其作為函數(shù)使用時必須將參數(shù)放在括號內(nèi)部,而返回
值可以賦值給一個變量,也可以單獨使用此函數(shù)而不將其返回值賦值給變量;
MsgBox過程也用于顯示提示信息,作為過程可以獨立使用,也可以使用Call關(guān)鍵
字來進行調(diào)用,但此時參數(shù)需要加括號。
4、以下關(guān)于過程的敘述中,錯誤的是
A、在Sub過程中不能再定義Sub過程
B、事件過程也是Sub過程
C、過程調(diào)用語句的形參個數(shù)必須與實參個數(shù)相同
D、函數(shù)過程一定有返回值
標(biāo)準(zhǔn)答案:C
知識點解析:Sub過程分為事件過程和通用過程,過程不允許嵌套定義,即在Sub
過程中再定義Sub過程:函數(shù)過程必須有一個返回值,當(dāng)過程的聲明語句中使用
了可選參數(shù)的時候,允許實參個數(shù)與形參不同。
5、設(shè)子程序過程定義的首部為:PublicSubS(XAsInteger,YAsSingle)則以卜正確
的調(diào)用形式為
A、CallS5,4.8
B、CallSub(5,4.8)
C、Sub5,4.8
D、S5:4.8
標(biāo)準(zhǔn)答案:D
知識點解析:子過程可以獨立使用,也可以使用Call關(guān)鍵字來進行調(diào)用,但此時
參數(shù)需要加括號。本題中子程序的名字是S,故此B、C選項可以排除,A選項中
缺少參數(shù)的括號。
6、在窗體上畫兩個標(biāo)簽和一個命令按鈕,其名稱分別為Labell、Label2和
command1,然后編寫如下程序:PrivateSubfunc(LAsLabel)L.Caption^'1234''
EndSubPrivateSubFormLoad()Label1.Caption="ABCDE"Label2.Caption=10
EndSubPrivateSubCommandl_Click()a=Val(Labe12.Caption)Callfunc(Labell)
Labcl2.Caption=aEndSub程序運行后,單擊命令按鈕,則在兩個標(biāo)簽中顯示的內(nèi)
容分別為
A、ABCD和10
B、1234和100
C、ABCDfO100
D、1234和10
標(biāo)準(zhǔn)答案:D
知識點解析:本題考查的考點是有關(guān)過程調(diào)用的。窗體加載時首先執(zhí)行了Load事
件里面的代碼,設(shè)置Labell的標(biāo)題為“ABCDE”,Label2的標(biāo)題為“10”;當(dāng)單擊命
令按鈕時,調(diào)用了func過程,在這個過程中把傳入的Labell的標(biāo)題設(shè)置為
“1234”,Label2的標(biāo)題沒有發(fā)生變化。
7、設(shè)有如下Command1的單擊事件過程及fun過程:PrivateSub
Commandl_Click()DimXAsIntegerx=Val(InputBox(“請輸入一個整數(shù)"))fun(x)End
SubPrivateSubfun(xAsInteger)IfxMod2=0Thenfun(x/2)Printx;EndSub執(zhí)行
上述程序,輸入6,結(jié)具是
A、36
B、63
「、6
D、程序死循環(huán)
標(biāo)準(zhǔn)答案:A
知識點解析:本題中的fun過程是一個遞歸調(diào)用,如果參數(shù)x為偶數(shù)則進入遞歸;
本題中的實參6傳入fun過程之后,因其是偶數(shù),所以執(zhí)行fun(6/2).也就是先輸
出3,然后返回到fun中輸出6。
8、編寫如下程序:PrivateSubCommandl_Click()DimstrlAsString,str2AsString
strl=InputBox("輸入一個字符串")subfstrl,str2:Printstr2EndSubSubsubf(s1As
String,s2AsString)DimtempAsStringStaticiAsIntegeri=i+ltemp=Mid(sl,i,1)
Iftempo44,,Thensubfsl,s2s2=s2&tempEndSub程序運行后,單擊命令按鈕
Command1,且輸入“abcdeP,則輸出結(jié)果為
A、afbecd
B>edbeaf
C、fedeba
D、adbecf
標(biāo)準(zhǔn)答案:C
知識點解析:本題中的子過程subf會進行遞歸調(diào)用,只要在參數(shù)si中取出的字符
不是空字符串就進行遞歸,直到i的值超過si的長度才停止,然后進行回歸操
作,相當(dāng)于每一次向s2中連接的字符都是最后取出的si中的字符,最終實現(xiàn)字符
串的逆序操作。
9、以下關(guān)于函數(shù)過程的敘述中,正確的是
A、函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關(guān)系
13、在函數(shù)過程中,過程的返回值可以有多個
C、當(dāng)數(shù)組作為函數(shù)過程的參數(shù)時,既能以傳值方式傳遞,也能以傳址方式傳潴
D、如果不指明函數(shù)過程參數(shù)的類型,則該參數(shù)沒有數(shù)據(jù)類型
標(biāo)準(zhǔn)答案:A
知識點解析:本題考查的考點是有關(guān)函數(shù)過程的。函數(shù)過程町以返回一個函數(shù)值,
但這個函數(shù)值的類型和參數(shù)類型沒有任何關(guān)系;如果不指明參數(shù)的類型,則默認(rèn)參
數(shù)為變體型;數(shù)組作為函數(shù)參數(shù)時只能通過傳地址的方式來調(diào)用。
10、在VB中,函數(shù)過程與子程序過程的區(qū)別之一是
A、函數(shù)過程必須有參數(shù),而子程序過程可以沒有
B、函數(shù)過程的參數(shù)傳遞只采用值傳遞,而子程序過程只采用地址傳遞
C、在程序中,子程序過程調(diào)用的代碼可以寫在表達(dá)式中,而函數(shù)過程不能
D、函數(shù)過程有返回值,而子程序過程沒有
標(biāo)準(zhǔn)答案:D
知識點解析:函數(shù)過程和Sub子過程一樣,也可以有參數(shù)也可以沒有參數(shù);參數(shù)
傳遞也可以使用地址傳涕也可以使用值傳遞:都是在代碼中進行調(diào)用,只是函數(shù)過
程必須有一個返回值,子過程沒有。
11、在窗體上畫一個命令按鈕(名稱為Command〕),并編寫如卜代碼:FunctionFun
1(ByVaiaAsInteger,bAsInteger)AsIntegerDimtAsIntegert=a-b:b=t+a:
Funl=t+bEndFunctionPrivateSubCommandl_Click()DimxAsIntegerx=10Print
Funl(Funl(x,(Funl(x,x-I))),x—1)EndSub程序運行后,單擊命令按鈕,輸出
結(jié)果是
A、10
B、0
C、11
D、21
標(biāo)準(zhǔn)答案:B
知識點解析:本題考查的考點是有關(guān)過程調(diào)用的。對于這種復(fù)雜的困數(shù)調(diào)用,一定
要搞清楚調(diào)用的順序以及參數(shù)傳遞的是值還是地址。根據(jù)過程調(diào)用的原則,首先調(diào)
用最內(nèi)層的Funl(x,x—l),其結(jié)果為12,x的值不變?nèi)詾?0;然后調(diào)用
Funl(x,12),其結(jié)果為6,x的值也不變?yōu)?0;最后調(diào)用Funl(6,x-1),其結(jié)果
為0,X的值也不變?yōu)?0。本題中的傳址調(diào)用是沒有作用的,因為表達(dá)式是不能傳
地址的。
12>有下面程序代碼:PrivateSubCommandl_Click()DimaAsString
a=''COMPUTER"n=search(a,'T)PrintIIf(n=0,"未找至0",n)EndSubPrivate
Functionsearch(strAsString,chAsString)AsIntegerFork=lToLen(str)
c=Mid(str,k,1)Ifc=chThensearch=k:ExitFunctionEndIfNextksearch=0End
Function程序運行后,單擊命令按鈕Command1,輸出結(jié)果是
A、0
B、8
C、6
D、未找到
標(biāo)準(zhǔn)答案:C
知識點解析:本題中search函數(shù)的參數(shù)是兩個字符串,在函數(shù)內(nèi)進行循環(huán),依次
取出第一個參數(shù)的第k位和第二個參數(shù)進行比較,如果相等則返回k的值,實際上
就是查找第二個參數(shù)在第一個參數(shù)中出現(xiàn)的位置。
13、現(xiàn)有如下程序:PrivateSubCommandl_Click()s=0Fori=lTo5s=s+f(5+i)Next
PrintsEndSubPublicFunctionf(xAsInteger)Ifx>=10Thent=x+lElset=x+2EndIf
f=tEndFunction運行程序,則窗體上顯示的是
A、38
B、49
C、61
D、70
標(biāo)準(zhǔn)答案:B
知識點解析:本題考奄的考點是有關(guān)函數(shù)調(diào)用和If語句的。要注意在前4次循環(huán)
中每次調(diào)用f函數(shù)時傳遞的參數(shù)分別為6、7、8、9,都是小于10的,最后一次循
環(huán)傳遞參數(shù)10,所以最終結(jié)果應(yīng)該為8+9+10+11+11=49。
14、假定有以下通用過程:FunctionFun(nAsInteger)AsIntegerx=n*n:Fun=x-11
EndFunction在窗體上畫一個命令按鈕,其名稱為Commandl,然后編寫如卜事件
過程:PrivateSubCommandl_Click()DimiAsIntegerFori=lTo2y=Fun(i)Printy:
NextiEndSub程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A、I3
B、108
C、-10—7
D、05
標(biāo)準(zhǔn)答案:C
知識點解析:本題共調(diào)用Fun函數(shù)2次,每次的函數(shù)值都是參數(shù)的平方減去II的
值,故此輸出一10,-7,
15、求1!+2!+.......+10!的程序如b:PrivateFunctions(xAsInteger)f=lFori=lTo
xf=f*iNexts=fEndFunctionPrivateSubCommandl_Click()DimiAsInteger,yAs
LongFori=lTo10()NextPrintyEndSub為實現(xiàn)功能要求,程序的括號中應(yīng)該填
入的內(nèi)容是
A、Calls(i)
Calls
C、y=y+s(i)
D、y=y+s
標(biāo)準(zhǔn)答案:C
知識點解析:函數(shù)過程有一個返回值,一般出現(xiàn)在表達(dá)式中組成表達(dá)式的一部分。
本題的題目要求累加各個數(shù)的階乘,而函數(shù)s的作用是求參數(shù)的階乘,因此應(yīng)該在
每次循環(huán)中累加f函數(shù)的值,參數(shù)為循環(huán)變量i。
16、在窗體上畫一個名禰為Command1的命令按鈕,并編寫如卜程序:Function
Fun(x)y=0Ifx<10Theny=xElsey=y+10EndIfFun=yEndFunctionPrivateSub
Commandl_Click()n=InputBox("請琉入一個數(shù)")n=Val(n)P=Fun(n):PrintPEndSub
運行程序「單擊命令按鈕,將顯示輸入對話框,如果在對話框中輸入100,并單擊
“確定”按鈕,則輸出結(jié)果為
A、10
B、100
C、110
D、出錯信息
標(biāo)準(zhǔn)答案:A
知識點解析:本題是一個簡單的函數(shù)調(diào)用,在函數(shù)中會判斷參數(shù)x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年農(nóng)業(yè)檢測能力驗證合同
- 交通運輸部所屬事業(yè)單位2026年度第三批統(tǒng)一公開招聘備考題庫及一套答案詳解
- 2025年臺州學(xué)院編制外合同工招聘備考題庫及參考答案詳解一套
- 2025年茂名市電白區(qū)電城中學(xué)招聘合同制教師備考題庫帶答案詳解
- 國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心2026年度專利審查員公開招聘備考題庫及一套完整答案詳解
- 2025年杭州高新區(qū)(濱江)綜合行政執(zhí)法局招聘協(xié)管員備考題庫及答案詳解參考
- web項目論壇課程設(shè)計
- 《AQ 2031-2011金屬非金屬地下礦山監(jiān)測監(jiān)控系統(tǒng)建設(shè)規(guī)范》專題研究報告
- 2025西藏日喀則市第二中等職業(yè)技術(shù)學(xué)校招聘編外人員8人考試核心題庫及答案解析
- 2025年消費電子柔性電路用銅箔市場報告
- 檢驗科標(biāo)本前處理課件
- (15)普通高中美術(shù)課程標(biāo)準(zhǔn)日常修訂版(2017年版2025年修訂)
- CNC技術(shù)員調(diào)機培訓(xùn)
- 雨課堂在線學(xué)堂《審美的歷程》作業(yè)單元考核答案
- 2025-2026學(xué)年統(tǒng)編版(2024)三年級上冊語文期末綜合能力測試卷及答案
- 中科佰奧輻射建設(shè)項目環(huán)境影響報告表
- GB 15811-2025一次性使用無菌注射針
- 1688采購合同范本
- 購買鐵精粉居間合同范本
- 藥物致癌性試驗必要性指導(dǎo)原則
- 肌電圖在周圍神經(jīng)病中的應(yīng)用
評論
0/150
提交評論