A、2B、6C、10D、14
8、当用户在窗体上单击鼠标时,不会触发的事件是( )
A、Click B、MouseDown C、MouseUp D、DblClick
9、下列为整型变量的是()
A、x!
B、x#C、x$D、x%
10、要从For循环中直接退出循环,可使用的语句()。
A、ExitDoB、ExitLoopC、ExitForD、Stop
11、下列逻辑表达式中,能正确表示条件“x,y都是奇数”的是( )
A、xMod2=1OryMod2=1B、xMod2=0OryMod2=0
C、xMod2=0AndyMod2=0D、xMod2=1AndyMod2=1
12、在通用声明中给出OptionBase1语句,则数组a包含()个数组元素。
Dima(3,-2To1,5)AsInteger
A、60B、75C、120D、13
13、设窗体上有一个名称为Text1的文本框,要求只能显示信息,不能输入,应选择答案( )
A、=0B、=0
C、=FalseD、=False
14、命令按钮CommandButton的Picture,DownPicture和DisablePicture属性都已装入图形,按下命令按钮,其上显示的图形是()
A、Picture属性中的图形B、DownPicture属性中的图形
C、DisablePicture属性中的图形D、不显示图形
15、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:
PrivateSubCommand1_Click()
DimxAsInteger
StaticyAsInteger
x=10:
y=5
Callf1(x,y)
Printx,y
EndSub
PrivateSubf1(ByRefx1AsInteger,y1AsInteger)
x1=x1+2
y1=y1+2
EndSub
程序运行后,单击命令按钮,在窗体上显示的内容是( )
A、105B、125C、107D、127
16、执行以下程序段,输出结果为( )
PrivateSubCommand1_Click()
a$="abbacddcba"
Fori=6To2Step-2
X=Mid(a,i,i)
Y=Left(a,i)
z=Right(a,i)
z=UCase(x&y&z)
Nexti
Printz
EndSub
A、ABAB、ABBABAC、BBABBAD、AABAAB
17、以下()语句可表示[50,100]之间的随机数。
A、Int(Rnd*51)+49B、Int(Rnd*51+50)
C、Int(Rnd*50)+5D、Int(Rnd*50+50)
18、执行x=InputBox("请输入半径",0,"求面积"),在输入框中输入3后回车,则下列叙述正确的是()
A、x的值是数值3B、x的值是字符"3"
C、0是默认值D、对话框标题是"求面积"
19、设置图像框的()可使框内的图片按图像框大小自动调整。
A、AutoSize属性为TrueB、Stretch属性为True
C、AutoSize属性为FalseD、Stretch属性为False
20、有如下事件过程
PrivateSubCommand1_Click()
x=1
Fori=1To3
Ifi<=1Thena=x*x
Ifi<=2Thena=x*x+1
Ifi>=3Thena=x*x+2
Printa;
Nexti
EndSub
运行时,单击命令按钮,则结果是():
A、2511B、151C、223D、111
21、在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
PrivateSubCommand1_Click()
StaticXAsInteger
StaticYAsInteger
Cls
Y=1:
Y=Y+5:
X=5+X
PrintX,Y
EndSub
程序运行时,单击命令按钮Command1三次后,窗体上显示的结果为( )
A、1516B、156C、1515D、56
22、设a=3,b=5,则以下表达式值为TRUE的是( )
A、a>=bAndb>10B、a>bOrb>0
C、a<0andb>0D、-3+5>aandb>0
23、从键盘上输入两个字符串,分别保存在变量str1、str2中。
确定第二个字符串在第一个字符串中起始位置的函数是( )
A、LeftB、MidC、StringD、Instr
24、下列哪组语句可以将变量a,b的值互换()
A、a=b:
b=aB、a=a+b:
b=a-b:
a=a-b
C、a=c:
c=b:
b=aD、a=(a+b)/2:
b=(a-b)/2
25、可以同时删除字符串前导和尾部空格的函数是( )
A、Ltrim B、Rtrim C、Trim D、Mid
26、表达式29\3的值是( )
A、1B、7C、8D、9
27、下列程序运行后,单击command1时显示的结果是()
PrivateSubCommand1_Click()
x=1
mysubx+2
Printx
EndSub
PublicSubmysub(xAsInteger)
x=3*x-1
Ifx<4Thenx=x+10
Printx;
EndSub
A、81B、88C、191D、1919
28、以下有关VisualBasic语言描述中错误的是()。
A、不区分大小写B、语句是一行一句,以回车键结束
C、用“,”分隔一行中的多个语句
D、一条语句放在多行中,则在前一行结束处使用续行符空格+下划线(“_”)连接下一行
29、在窗体上添加两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件过程:
PrivateSubCommand1_Click()
x=0
DoWhilex<50
x=(x+2)*(x+3)
n=n+1
Loop
=Str(n)
=Str(x)
EndSub
程序运行后,单击命令按钮,在两个文本框中显示的值分别为()
A、1和0B、2和72C、3和50D、4和168
30、设有如下声明:
DimXAsInteger
如果Sgn(X)的值为-1,则X的值是()
A、整数B、大于0的整数C、等于0的整数D、小于0的数
二、判断题
下列各题如果是正确的,请在机读卡对应位置上涂A,如果是错误的涂B。
答在试卷
上不得分
1、VB程序运行后,在内存中只能驻留一个窗体。
2、在VB中,控件的属性只能在设计时修改,运行时无法改变。
3、执行UnloadForm1语句后,窗体Form1消失,但仍在内存中。
4、在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程。
5、Function过程与Sub过程最主要的区别是:
SUB过程不能返回值,而FUNCTION
过程能返回值。
6、用Print方法可以在图像框中输出数据。
7、Dima,b,cAsInteger能将a,b,c都声明成整型变量。
8、语句print“*”;tab(10);”a”与语句print“*”;spc(10);”a”的显示结果
是一样的。
9、控件数组使用Index属性来标识控件元素,其范围必须从0开始。
10、文件号的最大取值为512。
第二部分:
主观题
三、填空题
请在答题卷对应位置填写答案,答在试卷上不得分。
1、数学关系式a2+b2表示成正确的VB表达式为___【1】___。
2、计算表达式的值Int*100+/100=___【2】___。
3、赋值语句g=123+Mid("123456",3,2)执行后,变量g中的值是___【3】___。
4、在编写代码时可以添加说明性文字。
注释方法有2种,一种是使用注释标记符撇号(’);另一种是使用以关键字___【4】___开头的注释语言。
5、设a="a",b="b",c="c",d="d",执行语句x=IIf((ad),"A","B")后,x的值为___【5】___。
6、在VB中,描述对象特征的数据称为对象的___【6】___。
7、有下面的表达式x1=val(“1e2abcd”),运行后,x1的值为:
___【7】___。
8、产生一个两位数的随机数的表达式为:
___【8】___。
9、只有控件对象的Enabled和Visible属性值均为___【9】___时,该控件对象才能接受焦点。
10、设a=10,b=5,c=1,执行语句Printa>b>c后,窗体上显示的是___【10】___。
四、读程序写结果
请将答案填写在答题卷对应位置处,答在试卷上不得分。
1、下面程序执行后a的值是___【1】___。
PrivateSubCommand1_Click()
DimaAsInteger,bAsInteger
a=1:
b=1
DoWhileb<>5
a=b-a
b=b+1
Loop
Printa
EndSub
2、下列程序运行后,单击窗体时显示的结果是___【2】___。
PrivateSubForm_Click()
DimxAsInteger
x=1
mysubx
Printx
EndSub
PrivateSubmysub(xAsInteger)
x=3*x-1
Ifx<5Thenx=x+9
EndSub
3、单击窗体,程序运行后结果是___【3】___。
PrivateSubform_Click()
DimiAsInteger,jAsInteger
i=22:
j=44
Callmysub(i,j)
Printj
EndSub
PublicSubmysub(ByValxAsInteger,yAsInteger)
x=y+x
y=xMody
EndSub
4、程序运行时,单击Command1按钮,显示结果是___【4】___。
PrivateSubCommand1_Click()
DimaAsVariant,sAsInteger
DimiAsInteger,jAsInteger
a=Array(1,2,3,4)
j=1
Fori=3To0Step-1
s=s+a(i)*j
j=j*10
Nexti
Prints
EndSub
5、程序运行时,单击Command1按钮,显示结果是___【5】___。
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger
Fori=1To100
i=i+4
n=n+1
i=i+2
Ifi>30ThenExitFor
Nexti
Printn,i
EndSub
五、编写程序题
请将程序代码写在答题卷对应位置处,答在试卷上不得分。
1、生成大小为1到100的50个随机整数,使用选择排序法对这些数进行由小到大的排序,并将其显示出来。
(8分)
2、编写一函数过程计算1到n的累乘,参数n在调用时传递,函数名为mul。
在主程序中调用该函数完成计算sum=1!
+2!
+3!
+4!
+5!
,然后把sum结果打印出来。
(6分)
3、找出所有四位整数的回文数,并把找出的这些回文数保存在顺序文件”c:
\”中。
(顺读和倒读都一样的字符串称“回文”,如:
“level”,“1221”)(6分)
第一部分:
客观题
一、单项选择题
1-5、DDBDD6-10、CBDDC11-15、DADBD16-20、CBBBC
21-25、BBDBC26-30、DACBD
二、判断题
1、B2、B3、B4、A5、A6、B7、B8、B9、B10、B
第二部分:
主观题
三、填空题
1、a^2+b^22、
3、1574、REM
5、“A”6、属性
7、1008、int(rnd*90+10)
9、true10、false
四、读程序写结果题
1、32、113、22
4、12345、5,35
五、编写程序题
1、生成大小为1到100的50个随机整数,使用选择法对这些数进行由小到大的排序,并将其显示出来。
PrivateSubCommand1_Click()
Dima(49)asinteger(1分)
Dimiasinteger,kasinteger
RandomizeTime
Fori=0to49
a(i)=Int(Rnd*(100-1+1)+1)(1分)
nexti
fori=0to48(1分)
k=I(1分)
forj=i+1to49(1分)
ifa(k)>a(j)thenk=j(1分)
nextj
tmp=a(i):
a(i)=a(k):
a(k)=tmp(1分)
nexti
fori=0to49
printa(i);(1分)
nexti
EndSub
2、编写一函数过程计算1到n的累乘,参数n在调用时传递,函数名为mul。
在主程序中调用该函数完成计算sum=1!
+2!
+3!
+4!
+5!
,然后把sum结果打印出来。
PrivateSubCommand1_Click()
DimsumasInteger,Iasinteger
Sum=0(1分)
Fori=1to5
Sum=Sum+mul(i)(1分)
Nexti
Printsum(1分)
Endsub
PrivateFunctionmul(nasinteger)asinteger(1分)
Dimsasinteger,iasinteger
S=1
Fori=1ton
S=s*i(1分)
Nexti
Mul=s(1分)
EndSub
3、找出所有四位整数的回文数,并把找出的这些回文数保存在顺序文件”c:
\”中。
(顺读和倒读都一样的字符串称“回文”,如:
level,1221)
PrivateSubCommand1_Click()
DimiAsInteger,nAsInteger,sAsString
DimjAsInteger
Open“c:
\”forOutputAs#1(1分)
Fori=1000To9999(1分)
s=Trim(Str(i))(1分)
IfMid(s,1,1)=Mid(s,4,1)AndMid(s,2,1)=Mid(s,3,1)Then(2分)
Print#1,s(1分)
EndIf
Nexti
Close#1
EndSub
ViSualBasic程序设计上机试题
考试要求:
1、考试时间为2个小时。
2、不得使用U盘,不得使用VB课件:
违反此要求者按作弊处理。
3、考试目录为F:
\Source,要求将程序保存到该文件夹下。
4、每完成一题,在该文件夹中保存以题目序号命名的frm和vbp文件。
例如第二题的结果保存为和。
第一题:
20分
1、设计一个如下界面的成绩计算程序。
其中总评成绩中平时占20%,期中和期末各占30%和50%。
程序结果保存为和。
参考代码:
PrivatesubCommand1_Click()
=*val(text1)+*val(text2)+*val(text3)
EndSub
PrivatesubCommand2_Click()
Text1=””:
Text2=””:
Text3=””
EndSub
第二题:
20分
一个四位数,各位之和等于其前两位,各位之积各于其后二位,试求之。
界面自定。
程序结果保存为和。
参考答案:
该题的结果为1236
Fora=1to9
Forb=0to9
Forc=0to9
Ford=0to9
X=1000*a+100*b+10*c+d
Ifa+b+c+d=10*a+banda*b*c*d=10*c+dthenprintx
Nextd,c,b,a
第三题:
20分
3、设计一个如下界面的菜单程序,要求效果:
单击菜单项可调出相应功能。
提示:
Shell函数的格式为shell路径,1。
程序结果保存为和。
程序结果保存为和。
参考程序:
PrivateSubMnote_Click()
Shell"",1
EndSub
PrivateSubMExit_Click()
End
EndSub
第四题:
25分
编程实现如下程序,当在列表框中单击某一学生姓名时,在文本框出现学生的籍贯。
相应的学生信息如下表:
序号
姓名
籍贯
1
王芸姗
安徽
2
林丽菲
辽宁
3
张雪涛
陕西
要求的程序界面:
程序结果保存为和。
参考答案:
Dima,b
PrivateSubForm_Load()
a=Array("王芸姗","林丽菲","张雪涛")
b=Array("安徽","辽宁","陕西")
Fori=LBound(a)ToUBound(a)
a(i)
Nexti
EndSub
PrivateSubList1_Click()
Text1=b
EndSub
第五题:
25分
用形状控件在窗体上画一个蓝色小球,运行时可用上、下、左、右四个方向键控制其移动。
程序界面为:
程序结果保存为和。
参考程序:
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
SelectCaseKeyCode
CasevbKeyUp:
-100
CasevbKeyDown:
+100
CasevbKeyLeft:
-100,
CasevbKeyRight:
+100,
EndSelect
EndSub
第六题:
20分
颜色拾取程序:
单击“选取颜色”按钮后,出现调色板,选中某种颜色后,改变文本框的背景色。
界面如下:
程序结果保存为和。
参考程序:
PrivateSubCommand1_Click()
=
EndSub
第七题:
20分
数据库浏览程序,显示中Employees表中的Photo字段。
提示:
数据库的位置在d:
\programfiles\microsoftvisualstudio\vb98,照片显示采用OLE控件。
程序结果保存为和。
参考答案:
采用data控件,设置属性Databasename和Recordsource;
Ole控件的属性设置是Datasource和datafield