二级Visual+Basic过程二模拟题.docx
《二级Visual+Basic过程二模拟题.docx》由会员分享,可在线阅读,更多相关《二级Visual+Basic过程二模拟题.docx(18页珍藏版)》请在冰豆网上搜索。
二级Visual+Basic过程二模拟题
[模拟]二级VisualBasic过程
(二)
选择题
第1题:
已知数组a(1To10)AsInteger,下面调用GetValue函数正确的是______。
PrivateFunctionGetValue(a()AsInteger)AsInteger
Fori=1To10
GetValue=GetValue+a(i)
Nexti
EndFunction
A.S=GetValue(a(1To10))
B.S=GetValue(a)
C.S=GetValue(a(10))
D.S=GetValuea
参考答案:
B
第2题:
运行下面程序后,输出结果为______。
PrivateSubCommand1_Click()
a=1:
b=2:
c=3
Calltest(a,b+3,(c))
Print"main:
";a;b;c
EndSub
PrivateFunctiontest(p,m,n)
p=p+1:
m=m+1:
n=n+1
Print"sub:
";p;m;n
EndFunction
A.sub:
264main:
123
B.sub:
246main:
223
C.sub:
264main:
264
D.sub:
264main:
164
参考答案:
B
第3题:
执行按钮单击事件,输出结果为______。
PrivateSubCommand1_Click()
Dima(1To4)AsInteger
a
(1)=5:
a
(2)=6:
a(3)=7:
a(4)=8
Pa()
Fori=1To4
Printa(i)
Nexti
EndSub
PrivateSubP(b()AsInteger)
Fori=1To4
b(i)=2*i
Nexti
EndSub
A.2468
B.5678
C.10121416
D.出错
参考答案:
A
第4题:
调用并执行C盘计算器程序,让窗口具有焦点,且会还原到它原来的大小和位置,下列调用方法正确的是______。
A.Shell"C:
WINDOWS\CALC.EXE",vbHide
B.Shell"C:
\WINDOWS\CALC.EXE",vbNormalFocus
C.Shell"C:
\WINDOWS\CALC.EXE",vbMinimizedNoFocus
D.Shell"C:
\WINDOWS\CALC.EXE",vbNormalNoFocus
参考答案:
B
第5题:
下列程序输出结果为:
PrivateSubCommand1_Click()
a%=10
b%=5
Changea,b
Printa,b
EndSub
PrivateSubChange(ByValaAsInteger,bAsInteger)
Tmp=a
a=b
b=tmp
EndSub
A.55
B.1010
C.105
D.510
参考答案:
B
第6题:
下述程序的运行结果是______。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=5
b=5
ShowValuea,b
EndSub
SubShowValue(aAsInteger,bAsInteger)
calc1a,b
calc2a,b
Printa:
Printb
EndSub
PrivateSubcalc1(aAsInteger,bAsInteger)
a=a+b
EndSub
PrivateSubcalc2(aAsInteger,bAsInteger)
b=a*b
EndSub
A.1050
B.525
C.55
D.105
参考答案:
A
第7题:
下列程序运行后,输出的结果是______。
PrivateSubCommand1_Click()
a=1:
b=1
Print"a=";a;",b=";b
Callmulti(a,b)
Print"a=";a;",b=";b
EndSub
PrivateSubmulti(x,y)
x=2*x
y=3*y
Print"x=";x",y=";y
EndSub
A.a=1,b=1x=2,y=3a=1,b=1
B.a=1,b=1x=2,y=3a=2,b=3
C.a=1,b=1x=2,y=3a=1,b=3
D.a=1,b=1x=2,y=3a=2,b=1
参考答案:
B
第8题:
单击一次命令按钮后,下列程序代码的执行结果为______。
PrivateSubCommand1_Click()
DimmAsInteger,iAsInteger,x(10)AsInteger
Fori=0To4:
x(i)=i+1:
Nexti
Fori=1To2:
CallPrioc(x):
Nexti
Fori=0To4:
Printx(i);:
Nexti
EndSub
PrivateSubPrioc(a()AsInteger)
StaticiAsInteger
Do
a(i)=a(i)+a(i+1)
i=i+1
LoopWhilei〈2
EndSub
A.34756
B.35745
C.12345
D.12357
参考答案:
B
第9题:
有如下程序,运行后单击按钮输出的结果是______。
PrivateSubCommand1_Click()
m=5:
n=4
CallA(m,n)
Printm,n
EndSub
PrivateSubA(m,n)
s=m
m=s/n
n=sModn
EndSub
A.1.251
B.54
C.14
D.51
参考答案:
A
第10题:
通用过程可以通过执行“工具”菜单中的______命令来建立。
A.添加过程
B.通用过程
C.添加窗体
D.添加模块
参考答案:
A
第11题:
Sub过程与Function过程最根本的区别是______。
A.Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以
B.Function过程可以有参数,Sub过程不可以
C.两种过程参数的传递方式不同
D.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值
参考答案:
D
第12题:
单击窗体时,下列程序代码的执行结果是______。
PrivateSubInvert(ByValxstrAsString,ystrAsString)
DimtempstrAsString
DimIAsInteger
I=Len(xstr)
DoWhileI〉=1
Tempstr=tempstr+Mid(xstr,I,1)
I=I-1
Loop
ystr=tempstr
EndSub
PrivateSubForm_Click()
Dims1AsString,s2AsString
s1="abcdef"
InvertS1,s2
Prints2
EndSub
A.abcdef
B.afbecd
C.fedcba
D.defabc
参考答案:
C
第13题:
下面过程定义语句中合法的是______。
A.SubProc(ByValn())
B.SubProc(n)AsInteger
C.FunctionProc(Proc)
D.FunctionProc(ByValn)
参考答案:
D
第14题:
要想在过程调用后返回两个结果,下面的过程定义语句中合法是______。
A.SubProc(ByValn,ByValm)
B.SubProc(n,ByValm)
C.SubProc(n,m)
D.SubProc(ByValn,m)
参考答案:
C
第15题:
以下程序执行按钮单击事件后的输出结果为______。
PrivateSubCommand1_Click()
PrintTest(2,3)
PrintTest(2,3,4)
PrintTest(2,3,0)
EndSub
PrivateFunctionTest(p,m,Optionaln=0)AsInteger
Test=p*m-n
EndFunction
A.626
B.622
C.624
D.出错
参考答案:
A
第16题:
下列程序执行后,在文本框中输入“a”,输出结果为______。
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
PrintKeyCode
Shift=2
PrintShift
EndSub
A.652
B.651
C.a2
D.出错
参考答案:
A
第17题:
下列叙述中正确的是______。
A.在窗体的Form_Load事件过程中定义的变量是全局变量
B.局部变量的作用域可以超出所定义的过程
C.在某个Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只限于该过程
D.在调用过程时,所有局部变量被系统初始化为0或空字符串
参考答案:
C
第18题:
以下叙述中错误的是______。
A.如果过程被定义为Static类型,则该过程中的局部变量都是Static类型
B.Sub过程中不能嵌套定义Sub过程
C.Sub过程中可以嵌套调用Sub过程
D.事件过程不可以像通用过程一样由用户定义过程名
参考答案:
C
第19题:
假定有以下函数过程:
FunctionFun(sAsString)
Dims1AsString
Fori=1ToLen(s)
s1=Ucase(Mid(s,i,1))+s1
Nexti
Fun=s1
EndFunction
在窗体上画一个命令按钮,然后编写如下事件过程:
PrivateSubComand1_Click()
Str1=InputBox("请输入一个字符串")
Str2=Fun(Strl)
PrintStr2
EndSub
程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上输出的结果为______。
A.abcdefg
B.ABCDEFG
C.gfedcba
D.GFEDCBA
参考答案:
D
第20题:
以下叙述中错误的是______。
A.用Shell函数可以调用能够在Windows下运行的应用程序
B.用Shell函数可以调用可执行文件,也可以调用VisualBasic的内部函数
C.调用Shell函数的格式应为:
〈变量名〉=Shell(…)
D.用Shell函数不能执行DOS命令
参考答案:
B
第21题:
在窗体上画一个名称为Command1的命令按钮,再画两个名称分别Labe11,Labe12的标签,然后编写如下程序代码:
PrivatexAsInteger
PrivateSubCommand1_Click()
DimyAsInteger
X=5:
y=3
Callproc(x,y)
Label1.Caption=X
Labe12.Caption=y
EndSub
PrivateSubproc(ByValaAsInteger,ByValbAsInteger)
x=a*a
b=b+b
EndSub
程序运行后,单击命令按钮,则两个标签中显示的内容分别是______。
A.5和3
B.25和3
C.25和6
D.5和6
参考答案:
B
填空题
第22题:
过程前面添加______表示此过程只可被本模块中的其他过程调用,而添加______表示可被其他模块过程调用。
参考答案:
Private;Public
第23题:
下列程序的功能是根据两直角边计算直角三角形的斜边并输出,完成下列程序。
PrivateSubCommand1_Click()
a%=InputBox("InputLineA")
b%=InputBox("InputLineB")
c%=______
Ifc%〈=0Then
Print"WrongLines!
"
Else
Printc%
EndIf
EndSub
PrivateFunctionGetValue(ByValaAsInteger,ByValbAsInteger)AsInteger
Ifa〈=0Orb〈=0ThenExitFunction
GetValue=______
EndFunction
参考答案:
GetValue(a,b);Sqr(a*a+b*b)
第24题:
有如下程序:
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,CAsInteger
a=3:
b=5:
c=7
abc=F(c,a,b)
Printabc
EndSub
PrivateFunctionF(xAsInteger,yAsInteger,zAsInteger)AsInteger
F=(x+y*y)*z
EndFunction
运行后,输出的结果是______。
参考答案:
80
第25题:
有如下程序:
PrivateSubCommand1_Click()
Forj=5To3Step-1
Calls(n)
m=m+n
Nextj
Printm;n
EndSub
PrivateSubs(n)
n=1+2*n
EndSub
运行后,输出的结果是______。
参考答案:
117
第26题:
过程(Sub)和函数(Function)二者中,______可以直接返回值。
参考答案:
函数
第27题:
在窗体上画一个命令按钮,然后编写如下程序:
Subinc(aAsInteger)
StaticxAsInteger
x=x+a
Printx:
EndSub
PrivateSubCommand1_Click()
mc2
inc3
inc4
EndSub
程序运行后,单击命令按钮,输出结果为______。
参考答案:
259
第28题:
在窗体上画一个命令按钮,然后编写如下程序:
FunctionM(xAsInteger,yAsInteger)AsInteger
M=IIf(x〉y,x,y)
EndFunction
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=1
b=2
PrintM(a,b)
EndSub
程序运行后,单击命令按钮,输出结果为______。
参考答案:
2
第29题:
有一个窗体,其上有一个命令按钮Command1(Caption为“确定”),在该窗体上设置如下事件过程:
Functionfun(ByValxAsInteger)
If(x=0Orx=1)Then
fun=3
Else
fun=x-fun(x-2)
EndIf
EndFunction
PrivateSubCommand1_Click()
Printfun(9)
EndSub
程序运行后,单击“确定”按钮后,输出的结果为______。
参考答案:
7
第30题:
有一个窗体,其上有一个命令按钮Command1(Caption为“确定”),在该窗体上设置如下事件过程:
PrivateSubCommand1_Click()
DimaAsSingle
DimbAsSingle
a=5
b=4
funa,b
Printa:
b
EndSub
Subfun(xAsSingle,yAsSingle)
t=x
X=t/y
y=tMody
EndSub
程序运行后,单击“确定”命令按钮后,输出结果为______。
参考答案:
1.251
第31题:
下列程序的运行结果是______。
Functionabcd(ByValnAsInteger)AsInteger
abcd=n*5+10
EndFunction
PrivateSubForm_Click()
DimxAsInteger
x=abcd(234)+109*abcd(12)
Printx
EndSub
参考答案:
8810
第32题:
下列程序的运行结果是______。
Subtest(iAsInteger)
i=i+1
EndSub
PrivateSubForm_Click()
DimXAsInteger
x=4
Print"x=":
x
Calltest(x)
Print"x=":
x
EndSub
参考答案:
x=4x=5
第33题:
下列程序的运行结果是______。
Functionfactor(ByValnAsInteger)AsInteger
DimtempAsInteger
temp=1
Fori%=1Ton
temp=temp*i%
Nexti%
factor=temp
EndFunction
PrivateSubForm_Click()
DimnsumAsInteger
nsum=1
Fori%=2To4
nsum=-nsum+factor(i%)
Nexti%
Printnsum
EndSub
参考答案:
19
第34题:
下列程序的运行结果是______。
OptionExplicit
PrivateFunctiondg(n)AsInteger
Ifn=1Then
dg=1
Else
dg=n*dg(n-1)
EndIf
EndFunction
PrivateSubForm_Click()
DimmAsInteger
DimfaAsInteger
m=5
fa=dg(m)
Print"fa=":
fa
EndSub
参考答案:
fa=120
第35题:
下列程序功能是,产生10个0~100的随机数,输出其中的最大值。
请将程序补充完整。
PrivateSubForm_Click()
Diman(10)AsInteger
DimmaxAsInteger
Randomize
Fori%=1To10
an(i%)=______
Nexti%
max=______
Fori%=2To10
if______then
max=an(i%)
EndIf
Nexti%
Printmax
EndSub
参考答案:
Int(Rnd*100);an
(1);an(i%)〉max
第36题:
下列程序的功能是,计算1!
+3!
+…+9!
的值。
请将程序补充完整。
Dimnt1AsSingle
Subnaa(ByValnAsSingle)
nt1=1
Fori%=1Ton
nt1=nt1*i%
Nexti%
EndSub
PrivateSubForm_Click()
DimnsumAsSingle
nsum=0
nsum=0
Fornlp%=______
naa(______)
nsum=______
Nextnlp%
Printnsum
EndSub
参考答案:
1To9Step2;nlp%;nsum+nt1