C)1=5)
4.InputBox函数返回值的类型为(B)。
A)数值型B)字符串型C)逻辑型D)货币型
5.执行语句:
Print4+5\6*8/8Mod9输出的值是(A)。
A)4B)5C)6D)7
6.下列循环语句能正常结束循环的是(C)。
A)i=5B)i=1
DoDo
i=i+1i=i+2
LoopUntili<0LoopUntili=10
C)i=10D)i=6
DoDo
i=i+1i=i-2
LoopUntili>0LoopUntili=1
7.以下叙述中正确的是(A)。
A)窗体的Name属性指定窗体的名称,用来标识一个窗体
B)窗体的Name属性的值是显示在窗体标题栏中的文本
C)可以在运行期间改变窗体的Name属性的值
D)窗体的Name属性值可以为空
8.VB为命令按钮提供的Cancel属性(A)。
A)用来指定命令按钮是否为窗体的“取消”按钮
B)用来指定命令按钮的功能是停止一个程序的运行
C)用来指定命令按钮的功能是关闭一个运行程序
D)用来指定命令按钮的功能是中断一个程序的运行
9.若使命令按钮失效,要对(A)属性设置为False。
A)EnabledB)VisibleC)BackColorD)Caption
10.在窗体中添加两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:
PrivateSubCommand1_Click()
a=UCase(Text1.Text)+Left(Text2.Text,3)
Printa
EndSub
PrivateSubForm_Load()
Text1.Text="abcDEF"
Text2.Text="123456"
EndSub
程序启动后,单击命令按钮,输出结果为(C)
A)abcDEF123456B)abcDEF123
C)ABCDEF123D)ab123456
11.在运行程序时,要使文本框获得焦点,则需使用(B)方法。
A)ChangeB)SetFocusC)GotFocusD)Move
12.下列语句中不能把图片框Picture1中的图形清除的是(A)。
A)Picture1.DelB)Picture1.Picture=LoadPicture("")
C)Picture1.Picture=LoadPicture()D)Picture1.Picture=Nothing
13.要删除列表框中的某一个项目,需要使用(D)方法。
A)ClearB)ReMoveC)MoveD)ReMoveItem
14.在组合框中选择某一项目内容,在程序中可以通过(D)属性获得。
A)ListB)ListIndexC)ListCountD)Text
15.若有数组说明语句:
Dima()ASInteger,则a被定义为( B)。
A)定长数组B)可调数组C)静态数组D)可变类型数组
16.有如下语句:
TypeStudent
NameAsString
AgeAsInteger
SexAsString
EndType
DimStuAsStudent
WithStu
.Name="李强"
.Age=21
.Sex="男"
EndWith
执行语句PrintStu.Age后在窗体上显示的结果是(B)。
A)李强B)21C)“男”D)Age
17.要使子过程f1调用后能用形式参数返回两个结果,下面子过程定义正确的是(C)。
A)Subf1(ByValn%,ByValm%)B)Subf1(n%,ByValm%)
<子过程体><子过程体>
EndSubEndSub
C)Subf1(n%,m%)D)Subf1(ByValn%,m%)
<子过程体><子过程体>
EndSubEndSub
18.以下叙述中错误的是(D)。
A)一个工程中可以包含多个窗体文件
B)在一个窗体文件中用Private定义的子过程或函数过程不能被其他窗体文件调用
C)在设计VB程序时,窗体模块和标准模块需要分别保存为不同类型的文件
D)全局变量必须在标准模块中定义
19.从磁盘上打开顺序文件"c:
\t1.txt"为读入数据做好准备,如下语句(A)是正确的。
A)F="c:
\t1.txt"B)F="c:
\t1.txt"
OpenFForInputAs#1Open"F"ForInputAs#2
C)Open"c:
\t1.txt"ForOutputAs#1D)Openc:
\t1.txtForInputAs#2
20.以下叙述中正确的是(B)。
A)一个记录中所包含的各个元素的数据类型必须相同
B)随机文件中每个记录的长度是固定的
C)Open命令的作用是打开一个已经存在的文件
D)使用Input#语句可以从随机文件中读取数据
三、程序阅读题(第1题3分,第2题5分,其余题各4分,共24分)
1.当x的输入值分别为4、8和12时,写出执行下列事件过程的输出结果。
PrivateSubCommand1_Click()
Dimx%,y%
x=InputBox("请输入x的值:
")
SelectCasex
Case1,3,5,7
y=x+10
Case8To10
y=x+2
Case2,4,6
y=5*x
CaseIs>10
y=x*x+1
EndSelect
Print"x=";x,"y=";y
EndSub
x=4y=20
x=8y=10
x=12y=145
2.写出执行下列事件过程的输出结果。
PrivateSubCommand1_Click()
Constn=3
DimiAsInteger,kAsInteger
Fori=1Ton
PrintTab((n-i)*2+1);
Fork=1Toi
PrintStr(k);
Nextk
Fork=i-1To1Step-1
PrintStr(k);
Nextk
Print
Nexti
EndSub
1
121
12321
3.设在一个窗体(如图所示)中已设置了一个组合框Combo1和文本框Text1,且有下列程序,试写出事件过程Combo1_Click的功能。
DimstrAsString
PrivateSubForm_Load()
str=""
Combo1.AddItem"北京"
Combo1.AddItem"天津"
Combo1.AddItem"西安"
Combo1.AddItem"上海"
Combo1.AddItem"武汉"
Combo1.AddItem"广州"
Combo1.AddItem"海口"
Combo1.Text="北京"
EndSub
PrivateSubCombo1_Click()
str=str&Combo1.Text&","
Text1.Text=str
EndSub
在文本框中显示单击组合框列表项目时该项目的内容,而且以后来添加的方式在文本框中显示所有选择项目的内容。
4.写出执行下列事件过程的输出结果。
PrivateSubForm_Click()
Dima(1To2,1To2)AsInteger
DimiAsInteger,jAsInteger
Fori=1To2
Forj=1To2
a(i,j)=(2*i-1)*4+j
Nextj
Nexti
Fori=1To2
Printa(i,3-i),a(3-i,i)
Nexti
EndSub
613
136
5.写出执行下列事件过程的输出结果。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=3:
b=2
Callf(8,a)
Print"a=";a,"b=";b
Callf(a,b)
Print"a=";a,"b=";b
EndSub
PrivateSubf(ByValxAsInteger,yAsInteger)
x=x+1
y=y-1
EndSub
a=2b=2
a=2b=1
6.若有如下窗体模块:
DimaAsInteger
PrivateSubtest()
DimbAsInteger
a=a+1:
b=b+1
Print"Sub:
";a,b
EndSub
PrivateSubCommand1_Click()
a=2:
b=3
Calltest
Calltest
EndSub
写出当程序启动并单击命令按钮后,在窗体中显示的结果。
Sub:
31
Sub:
41
四、程序填空题(每空2分,共22分)
1.下面事件过程的功能是:
输入某个学生某门课程的百分制成绩,并根据成绩输出评语,若0≤成绩<60时,评语为“差”;若60≤成绩<70时,评语为“通过”;若70≤成绩<80时,评语为“中等”;若80≤成绩<90时,评语为“良好”;若90≤成绩≤100时,评语为“优秀”,在横线上填上适当内容。
PrivateSubCommand1_Click()
Dims!
s=InputBox("请输入学生的成绩:
")
If0<=sAnds<=100Then
SelectCase
(1)s
CaseIs>=90
Print"优秀"
CaseIs>=80
Print"良好"
CaseIs>=70
Print"中等"
CaseIs>=60
Print"通过"
(2)CaseElse或Is>=0
Print"差"
EndSelect
EndIf
EndSub
2.下面程序的功能是:
计算f=1-1/(2×3)+1/(3×4)-1/(4×5)+…+1/(19×20)的值,在横线上填上适当内容。
PrivateSubForm_Click()
DimfAsSingle,iAsInteger,signAsInteger
(3)sign=-1
f=1
(4)fori=2to19
f=f+sign/(i*(i+1))
(5)sign=sign*(-1)
Nexti
Print"f=";f
EndSub
3.下面窗体模块的功能是:
从键盘上输入x,y和z的值,按如下公式求f(x,y,z)的值的程序,在横线上填上适当内容。
f(x,y,z)=sin(x)/(sin(x-y)*sin(x-z))+sin(y)/(sin(y-z)*sin(y-x))+sin(z)/(sin(z-x)*sin(z-y))
其中x、y和z互不相等。
Functionf(ByValaAsSingle,ByValbAsSingle,ByValcAsSingle)(6)AsSingle
(7)f=Sin(a)/(Sin(b)*Sin(c))
EndFunction
PrivateSubCommand1_Click()
Dimx!
y!
z!
s!
x=InputBox("x=")
y=InputBox("y=")
z=InputBox("z=")
Ifx<>yAndy<>zAndz<>xThen
s=f(x,x-y,x-z)+f(y,y-z,y-x)+(8)f(z,z-x,z-y)
Print"s=";s
Else
Print"数据输入错误!
"
EndIf
EndSub
4.下面事件过程的功能是从学生分数顺序文件D:
\file1.dat中读取各个学生的分数,并求该班的平均成绩,在横线上填上适当内容。
PrivateSubcommand1_Click()
Dimn%,score!
s!
Open"D:
\file1.dat"(9)As#3ForInput
n=0:
s=0
While(10)NotEOF(3)
Input#3,score
s=s+score
n=(11)n+1
Wend
Print"平均成绩为:
";s/n
Close#3
EndSub
五、程序设计题(每题7分,共14分)
1.假设体操比赛有10个评委和评分规定为:
①采用10分制;②去掉一个最高分和去掉一个最低分,然后计算平均分,该平均分作为最后得分。
试编写一个事件过程,输入10个评委对某个运动员的评分存放在一维数组s中,计算该运动员的最后得分。
PrivateSubCommand1_Click()
Dims!
(1To10),max!
min!
i%,sum!
max=0:
min=11:
sum=0
Fori=1To10
s(i)=InputBox("请输入第"&Str(i)&"个评委的分数")
Nexti
Fori=1To10
Ifs(i)>maxThenmax=s(i)
Ifs(i)sum=sum+s(i)
Nexti
Print"最后得分:
";(sum-max-min)/8
EndSub
2.勾股定理中的三个数a、b和c的关系为:
。
试编写一个事件过程,求出30以内满足上述关系的整数组合并输出。
例如,3、4和5就是这样一个整数组合。
PrivateSubCommand1_Click()
Print"a","b","c"
Fora=1To30
Forb=1To30
Forc=1To30
Ifa*a+b*b=c*cThenPrinta,b,c
Nextc
Nextb
Nexta
EndSub