第06章 过程设计题目.docx
《第06章 过程设计题目.docx》由会员分享,可在线阅读,更多相关《第06章 过程设计题目.docx(25页珍藏版)》请在冰豆网上搜索。
第06章过程设计题目
1.当在Text1文本框中输入字母“A”时,则被调用的事件过程是(D)。
A.Form_KeyPress()B.Text1_LostFocus()C.Text1_Click()D.Test1_Change()
2.当单击窗体上名称为Command1的命令按钮时,则光标移动到名称为Text1的文本框中。
下面正确的事件过程是(B)。
A.PrivateSubCommand1_Click()
Text1.GotFocus
EndSub
B.PrivateSubCommand1_Click()
Text1.SetFocus
EndSub
C.PrivateSubText1_Click()
Command1.GotFocus
EndSub
D.PrivateSubText1_Click()
Command1.SetFocus
EndSub
3.单击窗体Form1上的一个列表框List1中某一项时,把该项显示在窗体上,正确的事件过程是(A)。
A.PrivateSubList1_Click()
PrintList1.Text
EndSub
B.PrivateSubList1_Click()
PrintList1.ListIndex
EndSub
C.PrivateSubList1_Click()
PrintList1.List(ListIndex)
EndSub
D.PrivateSubForm_Click()
PrintList1.List(List1.ListIndex)
EndSub
4.根据阶乘的定义,可编写求阶乘的递归函数过程如下,其中空格处应该是(B)。
PrivateFunctionFact(ByValNAsInteger)AsLong
IfN=0OrN=1Then
Fact=1
Else
Fact=__N*Fact(N-1)______
EndIf
EndFunction
A.N*N-1B.N*Fact(N-1)C.N*(N-1)D.N*(N-1)!
5.为达到把a、b中的值交换后输出的目的,某人编程如下:
PrivateSubCommand1_Click()
a%=10:
b%=20
Callswap(a,b)
Printa,b
EndSub
PrivateSubswap(ByValaAsInteger,ByValbAsInteger)
c=a:
a=b:
b=c
EndSub
在运行时发现输出结果错了,需要修改。
下面列出的错误原因和修改方案中正确的是(C)。
A.调用swap过程的语句错误,应改为Callswapa,b
B.输出语句错误,应改为:
Print”a”,”b”
C.过程的形式参数有错,应改为:
swap(ByRefaAsInteger,ByRefbAsInteger)
D.swap中3条赋值语句的顺序是错误的,应改为a=b:
b=c:
c=a
6.下面程序的输出结果是(B)。
PrivateSubCommand1_Click()
ch$=”ABCDEF”
procch
Printch
EndSub
PrivateSubproc(chAsString)
S=””
Fork=Len(ch)To1Step-1
s=s&Mid(ch,k,1)
Nextk
ch=s
EndSub
A.ABCDEFB.FEDCBAC.AD.F
7.某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下:
FunctionMaxValue(a()AsInteger)AsInteger
Dimmax%
max=1
Fork=2To10
Ifa(k)>a(max)Then
max=k
EndIf
Nextk
MaxValue=max
EndFunction
程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是(C)
A.语句max=1应改为max=a
(1)
B.语句Fork=To10应改为Fork=To10
C.语句MaxValue=max应改为MaxValue=a(max)
D.If语句中的条件a(k)>a(max)应改为a(k)>max
8.在窗体上画一个名称为Command1的命令按钮,并编写以下程序:
PrivateSubCommand1_Click()
Dimn%,b,t
t=1:
b=1:
n=2
Do
b=b*n
t=t+b
n=n+1
LoopUntiln>9
Printt
EndSub
此程序计算并输出一个表达式的值,该表达式是(C)。
A.9!
B.10!
C.1!
+2!
+…+9!
D.1!
+2!
+…+10!
9.设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面叙述中正确的是(B)。
A.窗体的Click事件过程的过程名是Myform_Click
B.命令按钮的Click事件过程名是C1_Click
C.命令按钮的Click事件过程的过程名是Command1_Click
D.命令按钮的Click事件过程的过程名是Form1_Click
10.工程中有2个窗体,名称分别为Form1、Form2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令按钮时显示Form2,则按钮的Click事件过程应该是(A)。
A.PrivateSubCommand1_Click()
Form2.Show
EndSub
B.PrivateSubCommand1_Click()
Form2.Visible
EndSub
C.PrivateSubCommand1_Click()
LoadForm2
EndSub
D.PrivateSubCommand1_Click()
Form2.Load
EndSub
11.已知有下面的过程:
PrivateSubproc1(aAsInteger,bAsString,OptionalxAsBoolean)
……
EndSub
正确调用此过程的语句是(D)。
A.Callprocl(5)B.Callproc15,”abc”,False
C.proc1(12,”abc”,True)D.proc15,“abc”
12.某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是(A)。
A.在工程属性对话框中把“启动对象”设置为Form2
B.在Form1的Load事件过程中加入语句LoadForm2
C.在Form2的Load事件过程中加入语句Form2.Show
D.在Form2的TabIndex属性设置为1,把Form1的TabIndex属性设置为2
13.以下叙述中正确的是(b)。
A.一个Sub过程至少要有一个ExitSub语句
B.一个Sub过程必须有一个EndSub语句
C.可以在Sub过程中定义一个Function过程,但不能定义Sub过程
D.调用一个Function过程可以获得多个返回值
14.有以下程序:
SubsubP(b()AsInteger)
Fori=1To4
b(i)=2*I
NextI
EndSub
PrivateSubCommand1_Click()
Dima(1To4)AsInteger
a
(1)=5:
a
(2)=6:
a(3)=7:
a(4)=8
subPa
Fori=1To4
Printa(i)
Nexti
EndSub
运行上面的程序,单击命令按钮,输出结果为(A)。
A.2
4
6
8
B.5
6
7
8
C.10
12
14
16
D.出错
15.在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
PrivateSubTxtA_KeyPress(KeyAsciiAsInteger)
……
EndSub
假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是(D)。
A.单击鼠标B.双击文本框C.鼠标滑过文本框D.按下键盘上的某个键
16.在窗体画一个命令按钮和两个文本框,其名称分别为Command1,Text1和Text2,然后编写如下程序:
DimS1AsString,S2AsString
PrivateSubForm_Load()
Text1.Text=""
Text2.Text=""
EndSub
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
S2=S2&Chr(KeyCode)
EndSub
PrivateSubText1_KeyPress(KeyAsciilAsInteger)
S1=S1&Chr(KeyAscii)
EndSub
PrivateSubCommand1_Click()
Text1.Text=S2
Text2.Text=S1
S1=""
S2=""
EndSub
程序运行后,在Text1输入“abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为(C)。
A.abc和ABCB.abc和abcC.ABC和abcD.ABC和ABC
17.以下关于过程的叙述中,错误的是(B)。
A.事件过程是由某个事件触发而执行的过程
B.函数过程的返回值可以有多个
C.可以在事件过程中调用通用过程
D.不能在事件过程中定义函数过程
18.以下关于函数过程的叙述中,正确的是(D)。
A.如果不指明函数过程参数的类型,则该参数没有数据类型
B.函数过程的返回值可以有多个
C.当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递
D.函数过程形参的类型与函数返回值的类型没有关系
19.以下关于KeyPress事件过程中参数KeyAscii的叙述中正确的是(A)。
A.KeyAscii参数是所按键的ASCII码
B.KeyAscii参数的数据类型为字符串
C.KeyAscii参数可以省略
D.KeyAscii参数是所按键上标注的字符
20.如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是(D)。
A.任何时刻最多只有一个窗体是活动窗体
B.不能把标准模块设置为启动模块
C.用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体
D.如果工程中含有Sub Main过程,则程序一定首先执行该过程
21.在窗体(名称为Form1)上添加一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。
程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“淮海工学院VB考试”。
以下能实现上述操作的事件过程是(A)。
A.PrivateSubText1_Change()
Command1.Caption="淮海工学院VB考试"
EndSub
B.PrivateSubCommand1_Click()
Caption="淮海工学院VB考试"
EndSub
C.PrivateSubForm1_Click()
Text1.Caption="淮海工学院VB考试"
EndSub
D.PrivateSubCommand1_Click()
Text1.Text="淮海工学院VB考试"
EndSub
22.在VisualBasic工程中,可以作为“启动对象”的程序是(D)。
A.任何窗体或标准模块B.任何窗体或过程
C.SubMain过程或其他任何模块
D.SubMain过程或任何窗体
23.以下关于多窗体程序的叙述中,错误的是(A)。
A.用Hide方法不但可以隐藏窗体,而且能清除内存中的窗体
B.在多重窗体程序中,各窗体的菜单是彼此独立的
C.在多重窗体程序中,可以根据需要指定启动窗体
D.对于多重窗体程序,需要单独保存每个窗体
24.当一个复选框被选中时,它的Value属性的值是(C)。
A.3B.2C.1D.0
25.以下叙述中错误的是(B)。
A.在KeyPress事件过程中不能识别键盘的按下与释放
B.在KeyPress事件过程中不能识别回车键
C.在KeyDown和KeyUp事件过程中,将键盘输入的"A"和"a"视作相同的字母
D.在KeyDown和KeyUp事件过程中,从大键盘上输入的"1"和从右侧小键盘上输入的"1"被视作不同的字符
26.一个工程中含有窗体Form1、Form2和标准模块Model1,如果在Form1中有语句PubilcXAsInteger,在Model1中有语句PubilcYAsInteger,则以下叙述中正确的是(C)。
A.变量X、Y的作用域相同B.Y的作用域是Model1
C.在Form1中可以直接使用XD.在Form2中可以直接使用X和Y
27.在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编写如下事件过程和通用过程:
PrivateSubCommand1_Click()
n=Val(Text1.Text)
Ifn\2=n/2Then
f=f1(n)
Else
f=f2(n)
EndIf
Printf;n
EndSub
PublicFunctionf1(ByRefx)
x=x*x
f1=x+x
EndFunction
PublicFunctionf2(ByValx)
x=x*x
f2=x+x+x
EndFunction
程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是(A)。
A.7236B.10836C.726D.1086
28.在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
Private Sub TxtA_KeyPress(keyascii as integer)
……
End Sub
若焦点位于文本框中,则能够触发KeyPress事件的操作是(D)。
A.单击鼠标B.双击文本框 C.鼠标滑过文本框 D.按下键盘上的某个键
29.以下叙述中错误的是(D)。
A.如果过程被定义为Static类型,则该过程中的局部变量都是Static类型
B.Sub过程中不能嵌套定义Sub过程
C.Sub过程中可以嵌套调用Sub过程
D.事件过程可以像通用过程一样由用户定义过程名
30.下面的过程定义语句中合法的是(D)。
A.SubProc1(ByValn())B.SubProc1(n)AsInteger
C.FunctionProc1(Proc1)D.FunctionProc1(ByValn)
31.要想在过程调用后返回两个结果,下面的过程定义语句合法的是(C)。
A.SubProc1(ByValn,ByValm)B.SubProc1(n,ByValm)
C.SubProc1(n,m)D.SubProc1(ByValn,m)
32.Sub过程与Function过程最根本的区别是(D)。
A.Sub过程可以试用Call语句或直接使用过程名调用,而Function过程不可以
B.Function过程可以有参数,Sub过程不可以
C.两种过程参数的传递方式不同
D.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值。
33.在参数传递过程中,使用关键字(A)来修饰参数,可以使之按值传递。
A.ByValB.ByRefC.ValueD.Reference
34有如下程序代码,在去掉StaticSUM语句之前和之后,各单击一次命令按钮,执行结果分别为(A)。
A.35和20B.35和115C.20和115D.20和35
35.有如下程序代码,在删去Value过程形参表中的ByVal关键字之前和之后,各单击一次窗体,执行结果分别为(B)。
A.2010和2010
20101015
B.2010和2010
10152010
C.1015和1015
10152010
D.1015和1015
20101015
36.在VisualBasic应用程序中,以下正确的描述是(B)。
A.过程的定义可以嵌套,但过程的调用不能嵌套
B.过程的定义不可以嵌套,但过程的调用可以嵌套
C.过程的定义和过程的调用均可以嵌套
D.过程的定义和过程的调用均不可以嵌套
37.有如下程序:
PrivateStaticFunctionFac(nAsInteger)AsInteger
DimfAsInteger
f=f+n
Fac=f
EndFunction
PrivateSubForm_Click()
DimIAsInteger
ForI=2To3
Print"#";I;"="&Fac(I)
NextI
EndSub
程序运行后,单击窗体,在窗体上显示的是(B)。
A.#2=2
#3=3
B.#2=2
#3=5
C.#;2=2
#;3=3
D.#;2=2
#;3=5
38.单击命令按钮时,下列程序代码的执行结果为(B)。
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=12:
y=34
CallPro(x,y)
printx;y
EndSub
PublicSubPro(nAsInteger,ByValmAsInteger)
n=nMod10
m=m\10
EndSub
A.1234B.234C.23D.123
39.下面的Sub过程中,只有一个形参,且形参为窗体类型。
空格处应该补充的内容是(C)。
A.FormAsFormB.FormNumAsForm
C.MeAsFormD.FormNum
40.设有如下过程:
SubFun(a,b,c)
c=a+b
EndSub
以下调用语句中,所有参数的形实结合都是按地址传递的是(D)。
A.CallFun(3,5,z)B.CallFun(x+y,x-y,z)
C.CallFun(3+x,5+y,z)D.CallFun(x,y,z)
41.以下关于过程的对象参数描述中,正确的是(C)。
A.过程的对象参数特指窗体,并不包括控件
B.过程的对象参数特指控件,并不包括窗体
C.过程的对象参数的传递只能是按地址传递
D.过程的对象参数的传递只能是按数值传递
42.单击命令按钮时,下列程序代码的执行结果为(a)。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger,cAsInteger
a=2:
b=3:
c=4
printPro2(c,b,a)
EndSub
PublicFunctionPro1(xAsInteger,yAsInteger,zAsInteger)
Pro1=2*x+y+3*z
EndFunction
PublicFunctionPro2(xAsInteger,yAsInteger,zAsInteger)
Pro2=Pro1(z,x,y)+x
EndFunction
A.21B.19C.17D.34
43.单击命令按钮,下列程序代码的执行结果是(D)。
PrivateSubCommand1_Click()
m=5:
n=4
CallPro1((m),n)
printm,n
EndSub
PublicSubPro1(n,m)
s=n
n=s/m
m=sModm
EndSub
A.51B.14C.54D.1.251
44.通用过程可以通过执行“工具”菜单中的(A)命令来建立。
A.添加过程B.通用过程C.添加窗体D.添加模块
45.单击命令按钮时,下列程序代码的执行结果为(D)。
PrivateSubCommand1_Click()
y=10
printFun1(1+Fun1(Fun1(Fun1(y)))*10)
EndSub
PrivateFunctionFun1(x)
Fun1=1/x
EndFunction
A.2B.1.001C.0.90909D.0.5
46.单击命令按钮时,下列程序代码的执行结果为(A)。
PrivateSubCommand1_Click()
printFun1(2,3,0)
printFun1(2,3,4)
printFun1(2,3,0)
EndSub
PrivateFunctionFun1(x,y,z)AsInteger
Fun1=x*y-z
EndFunction
A.6
2
6
B.6
2
2
C.6
6
2
D.出错
47.下列程序执行后,在文本框中输入“a”,输出结果是(B)。
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
PrintKeyCode
EndSub
A.97B.65C.0D.出错
48.单击命令按钮时,下列程序代码的执行结果为(C)。
PrivateSubCommand1_Click()
Fori=1To10
GetValuei
Nexti
printGetValue(i)
EndSub
PrivateFunctionGetValue(ByValaAsInteger)