练习题答案.docx
《练习题答案.docx》由会员分享,可在线阅读,更多相关《练习题答案.docx(17页珍藏版)》请在冰豆网上搜索。
![练习题答案.docx](https://file1.bdocx.com/fileroot1/2023-2/2/eac06709-4f13-480e-825c-f85ba04ae39b/eac06709-4f13-480e-825c-f85ba04ae39b1.gif)
练习题答案
模拟题
(题型、难度相似)
一、选择题(30×2’)
1.窗体上放置了三个文本框,若在Text1中输入456,在Text2中输入78,在程序中执行了语句Text3=Text1+Text2后,则在Text3中显示(B)。
A.434B.45678C.溢出D.语法错误
2.如果窗体上有命令按钮“确定”,在代码编辑窗口有与之相对应的OK_Click()事件过程,则命令按钮控件的名称属性和Caption属性分别为(A)。
A.“OK”和“确定”
B.“确定”和“OK”
C.“Command1”和“确定”
D.“Command1”和“OK”
3.下面Sub子过程的各个语句中,正确的是(D)
a)PrivateSubSub1(A()Asstring)
b)PrivateSubSub1(A(1to10)Asstring*8)
c)PrivateSubSub1(SAsstring)
d)PrivateSubSub1(sAsstring*8)
A.a)b)c)d)B.a)b)c)
C.a)c)d)D.a)c)
4.假设变量BOOL是一个布尔型变量,则下列赋值语句中,正确的是(
D )。
A.BOOL='TRUE'B.BOOL=.TRUE.
C.BOOL=#TRUE#D.BOOL=True
5.表达式6.5*5Mod28\8的值是( C )。
A.0B.1C.2D.3
6.以下所列项目不属于窗体事件的是( B )。
A.InitializeB.SetFocus
C.GotFocusD.LostFocus
7.下列定义Sub过程的语句正确的是(A)。
A.PrivateSubSubl(A())
B.PrivateSubSubl(AAsString*5)
C.PrivateSubSubl(ByValA()AsInteger)
D.PrivateSubSubl(A(10)AsInteger)
8.计算下面的表达式,其值是(A)。
CInt(-3.5)*Fix(-3.81)+Int(-4.1)*(5Mod3)
A.2B.1C.一1D.6
9.如果准备向随机文件中写入数据,正确的语句是(C)。
A.Print#1,rec
B.Write#1,rec
C.Put#1,rec
D.Get#1,rec
10.形参是(B)级的。
A.全局B.过程C.模块D.窗体
11.下面关于过程参数的说法,错误的是(B)。
A.过程的形参不可以是定长字符串类型的变量
B.形参是定长字符串的数组,则对应的实参必须是定长字符串型数组,且长度相同
C.若形参是按地址传递的参数,形参和实参也能以按值传递方式进行形实结合
D.按值传递参数,形参和实参的类型可以不同,只要相容即可
12.下列有关数组的说法中,不正确的是(B)。
A.在窗体模块中不可以定义全局数组
B.可以使用Erase语句释放所有数组所占据的存储空间
C.语句DimX(3.6+2)AsInteger定义了一个维上界是6的一维的整型数组
D.形参数组的类型可以是定长字符串类型
13.在窗体Form1中用“PublicSubFun(xAsInteger,yAsSingle)”定义过程Fun,在窗体Form2中定义了变量i为Integer,j为Single,若要在Form2的某事件过程中调用Form1中的Fun过程,则下列语句中,正确的语句有(C)个。
(1)CallFun(i,j)
(2)CallForm1.Fun(i,j)
(3)Form1.Fun(i),j
(4)Form1.Funi+1,(j)
A.1B.2C.3D.4
14.在多窗体的应用程序中,当前窗体模块的Form_Click事件过程中包含如下语句,单击该窗体,其中(B)一定可以将Hello显示在当前窗体上。
A.Form1.Print"Hello"
B.Me.Print"Hello"
C.Debug.Print"Hello"
D.Form2.Print"Hello"
15.下列说法正确的是(B)。
A.窗体文件的扩展名为.vfp
B.一个窗体对应一个窗体文件
C.一个工程只包含一个窗体
D.一个工程最多可包含256个窗体文件
16.指出下列正确的变量名(D)。
A.g(1-k)B.6adhs
C.*sssD.kL2_1
17.下列表达式中,正确的是(B)。
A.t+cos(300°)
B.(x+y)^(25/s)
C.[(X1+X2)*(X1-3)-6]*7
D.(X/-2)+sin(1.2+π)
18.下列语句运行时系统给出错误提示的是(A)。
A.Print-32000-769
B.Print“1E2”+8
C.Print“AB”&128
D.Print3=2=4
19.下列表达式中,值为True的是(C)。
A.Ucase("ABCD">="abcd")
B.14/2\3<10Mod4
C.Mid("ABCD",2,2)>Left("ABCD",2)
D.Not(Sqr(4)-3>=-2)
20.下列程序的循环结构执行后,i的输出值是( C)
Fori=1to10step2
y=y+i
Nexti
Printi
A:
25B:
10C:
11
D:
因为y的初值不知道,所以不确定
21.从由字母数字组成的字符串中找出所有大写字母并逆序输出。
DimsAsString,dAsString,tAsString
DimiAsInteger
s=Text1.Text
Fori=1ToLen(s)
IfMid(s,i,1)>="A"And
Mid(s,i,1)<="Z"Then
t=(A)
EndIf
Nexti
Fori=Len(t)To1Step-1
d=d&Mid(t,i,1)
Nexti
Text2.Text=d
A.t&Mid(s,i,1)
B.t&Mid(s,1,i)
C.Mid(s,1,i)&t
D.Mid(s,i,1)&t
22.程序
X=100
Y=200
PrintIIF(X>50,X-50,X+50)
PrintIIF(Y<50,Y=Y-50,Y=Y+50)
则显示的结果是(D)。
A.150150
B.50250
C.50True
D.50False
23.下面程序的结果是(B)。
PrivateSubCommand1_Click()
DimsumAsInteger,iAsInteger
Fori=7To4Step-1
SelectCasei
Case4,7
sum=sum+i
Case3,5
sum=sum+2
CaseElse
sum=sum+1
EndSelect
Nexti
Print"sum=";sum
EndSub
A.sum=12
B.sum=14
C.sum=16
D.sum=7
24.下列可以将变量A和B的值互换的语句是(
C)。
A.A=B:
B=A
B.A=C:
C=B:
B=A
C.A=A+B:
B=A-B:
A=A-B
D.A=(A+B)/2:
B=(A-B)/2
25.以下程序代码能执行的是(D)。
A.Ifa=1Thenb=0Elsec=0Endif
B.Ifa=1Then:
B=0:
ElseIfc=0Then:
d=0
C.Ifa=1Then
b=0
ElseIfc=0Then
b=1
D.Ifa=1Then
b=0
ElseIfc=0Then
EndIf
26.下面程序的结果是(B)。
OptionBase1
PrivateSubForm_Click()
Dimexam(2,3)AsInteger,vAsVariant
DimiAsInteger,jAsInteger
Fori=1To2
Forj=1To3
exam(i,j)=i*10+j
Nextj
Nexti
ForEachvInexam
Printv;
Nextv
EndSub
A.111221223132
B.112112221323
C.112112223132
D.111221221323
27.在窗体上画一个命令按钮,编写如下程序:
OptionBase1
PrivateSubCommand1_Click()
Dima(10),p(3)AsInteger
k=5
Fori=1To10
a(i)=i
Nexti
Fori=1To3
p(i)=a(i*i)
Nexti
Fori=1To3
k=k+p(i)*2
Nexti
Printk
EndSub
运行程序后,单击命令按钮,输出结果是(C)。
A)35B)28C)33D)37
28.在窗体的通用声明处有语句DimA()AsSingle,以下在某事件过程中重定义此数组的一组正确语句是:
(D)。
A.ReDimA(3,3)
ReDimA(4,4)AsInteger
B.ReDimA(3,3)
ReDimPreserveA(4,4)
C.ReDimA(3)
ReDimA(3,3)AsInteger
D.ReDimA(3,3)
ReDimPreseverA(3,4)
29.在窗体上画一个命令按钮,名称为Command1。
程序运行后,如果单击命令按钮,则显示一个输入对话框,在该对话框中输入一个整数,并用这个整数作为实参调用函数过程F1。
在F1中判断所输入的整数是否是奇数,如果是奇数,过程F1返回0,否则返回1。
能够正确实现上述功能的代码是(C)。
A.PrivateSubCommand1_Click()
x=InputBox(“请输入整数”)
a=F1(Val(x))
Printa
EndSub
FunctionF1(ByRefbAsInteger)
IfbMod2=0Then
Return0
Else
Return1
EndIf
EndFunction
B.PrivateSubCommand1_Click()
x=InputBox(“请输入整数”)
a=F1(Val(x))
Printa
EndSub
FunctionF1(ByRefbAsInteger)
IfbMod2=0Then
F1=0
Else
F1=1
EndIf
EndFunction
C.PrivateSubCommand1_Click()
x=InputBox(“请输入整数”)
F1(Val(x))
Printa
EndSub
FunctionF1(ByRefbAsInteger)
IfbMod2=0Then
F1=1
Else
F1=0
EndIf
EndFunction
D.PrivateSubCommand1_Click()
x=InputBox(“请输入整数”)
F1(Val(x))
Printa
EndSub
FunctionF1(ByRefbAsInteger)
IfbMod2=0Then
Return0
Else
Return1
EndIf
EndFunction
30.设有如下通用过程:
PublicFunctionf(xAsInteger)
DimyAsInteger
x=20
y=2
f=x*y
EndFunction
在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
StaticxAsInteger
x=10
y=5
y=f(x)
Printx;y
EndSub
程序运行后,如果单击命令按钮,则在窗体上显示的内容是(C)。
A.105B.205
C.2040D.1040
二、填空题(20×2’)
31.在VB中最基本的对象是__窗体____,它是应用程序的基石,也是控件的容器。
32.若要将窗体放在屏幕中央,设置的语句是
PrivateSubForm_Load()
CallMove(___(Screen.Width-Width)/2,(Screen.Height-Height)/2__)
EndSub
33.窗体的BorderStyle属性是为了设置窗体的_____边框样式_____。
34.在文本框Text1中显示当前的日期和时间
PrivateSubTimer1_Timer()
Text1.Text=___Now_______
EndSub
35.在字符串表示中,“&”和“+”的区别是_____
__________+:
连接符两旁的操作数应均为字符型;若其中一个为数值字符型,如“123”、“78”,另一个为数值型,则自动将数值字符型转换成数值型,然后进行算术加法运算;若其中一个为非数值字符型,如“abc”,”DEF”等,另一个为数值型,则出错。
___________________。
36.运行程序时,Form1的事件Activate、GotFocus、Initialize、Load、LostFocus发生的先后顺序是_______Initialize、Load、Activate、GotFocus、LostFocus_________。
37.通用过程分为__公有public_____过程和___私有private____过程。
38.计算5!
=1x2x3x4x5的积
PrivateSubCommand1_Click()
DimfAsSingle,iAsInteger
f=__1___
i=1
DoWhilei<=5
f=_f*i_____
i=i+1
Loop
Printf,i
EndSub
39.X、Y都是正整数,使用VB语言表达为______X>0ANDY>0ANDX=INT(X)ANDY=INT(Y)_____,
产生1-100的随机整数的VB表达式为__1+INT(RND*100)___。
40.执行下面程序,当单击窗体时,显示在窗体上结果是___20010______。
PrivateSubForm_Click()
DimIAsInteger,SumAsInteger
ForI=0.5To8.5Step2.5
Sum=Sum+I*10
NextI
PrintSum
printI
EndSub
41.执行下面程序,当单击Commandl时,窗体上显示的内容的第二行是__111_______,第三行是__314_______、第四行是___131__。
OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,ZAsInteger
a=1:
b=1:
Z=1
CallP1(a,b)
Me.Printa,b,Z
CallP1(b,a)
Printa,b,Z
EndSub
PrivateSubP1(XAsInteger,ByValYAsInteger)
StaticZAsInteger
X=X+Z:
Y=X-Z:
Z=X+Y
PrintX,Y,Z
EndSub
42.运行下面的程序,当单击窗体时,窗体上显示的内容的第三行是___2 :
3______,第五行是___4 :
1______。
PrivateSubFrom_Click()
DimsAsString,iAsInteger,n(9)AsInteger
Dims1AsString*1,jAsInteger
s=Trim("12345a307291b233")
Fori=1ToLen(s)
s1=Mid(s,i,1)
Ifs1>="0"Ands1<="9"Then
j=Val(s1)
n(j)=n(j)+1
EndIf
Nexti
Forj=0To9
Printj;":
";n(j)
Nextj
EndSub
43.执行下面程序,单击命令按钮Command1后,显示在窗体上的结果是__4816_______。
OptionExplicit
PrivateSubCommand1_Click()
DimNAsInteger,MAsInteger
N=2
DOWhilem<3
N=N+2
IfFun(N)Then
PrintN
M=M+1
EndIf
Loop
EndSub
PrivateFunctionFun(ByValNAsInteger)AsBoolean
IfN/2=Int(N/2)Then
Fun=Fun(N/2)
Else
IfN=1ThenFun=True
EndIf
EndFunction
44.下面程序输出的结果是___-1____。
OptionExplicit
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
b=6:
c=6.5
a=b=c
Printa
EndSub
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)