VB第23次试题.docx
《VB第23次试题.docx》由会员分享,可在线阅读,更多相关《VB第23次试题.docx(13页珍藏版)》请在冰豆网上搜索。
![VB第23次试题.docx](https://file1.bdocx.com/fileroot1/2023-3/18/1480529f-d2ae-47c7-b55a-58bcec8e7885/1480529f-d2ae-47c7-b55a-58bcec8e78851.gif)
VB第23次试题
第一部分
软件技术基础
(共15分)
一、是非判断题(1分/小题,共10分)
(判断下列各小题的叙述正确与否,如正确,在客观题答题纸对应编号上选A,否则选B)
1、数据在计算机内存中的表示是指数据的存储结构。
(1)
2、能影响中断响应次序的技术是中断优先级和中断屏蔽。
(2)
3、链表可以随机访问任意一个结点,而顺序表则不能。
(3)
4、作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。
(4)
5、Windows、OS/2、Linux微机操作系统都是多用户多任务操作系统。
(5)
6、数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。
(6)
7、流式文件和记录式文件都以字符为基本单位进行存取。
(7)
8、不定长文件是指字段的长度不固定。
(8)
9、软件工程的三要素包括方法、工具和环境。
(9)
10、软件结构是以指令为基础而组成的一种控制层次机构。
(10)
二、单项选择题(每小题1分,共5分)
l、若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(11)。
11(A)1,4,3,2(B)2,3,4,1
(C)3,1,4,2(D)3,4,2,1
2、任何两个并发进程之间(12)。
12(A)一定存在互斥关系(B)一定存在同步关系
(C)一定彼此独立无关(D)可能存在同步或互斥关系
3、以下的哪个特征不是分时操作系统的主要特征(13)。
13(A)中断管理(B)独立性
(C)交互性(D)多路性
4、以下的准则中哪个不是面向对象软件设计应遵循的(14)。
14(A)抽象准则(B)独立性准则
(C)信息屏蔽准则(D)模块化准则
5、需求分析中开发人员主要从用户那里了解(15)。
15(A)软件做什么(B软件的结构
(c)输入的信息(D)软件的测试
VB程序设计试卷共12页第1页
第二部分
VisualBasic语言程序设计
(共85分)
一、单项选择题(每小题1分,共10分)
1.在下列字符串中,不能用作VB变量名的是(16)。
16(A)8_num(B)instr6(C)xy_int(D)f8
2.x是一个正实数,如果要四舍五入并保留两位小数,则正确的表达式为(17)。
17(A)0.01*Int(x+0.005)(B)0.01*Int(100*x+0.5)
(C)0.01*Int(100*x+0.05)(D)0.01*Int(x+0.05)
3.正确表达命题“x和y都大于z”的表达式是(18)
18(A)x>z(B)y>z
(C)x>zAndy>z(D)x>zOry>z
4.若字符串stra$和strb$的取值为
stra$="Ilovemymother"
strb$=Mid(stra,7,3)+Right(stra,6)
则InStr(3,strb,"m")的函数值为(19)。
19(A)4(B)2(C)0(D)1
5.如果要暂时关闭某个定时器,则必须通过设置其(20)属性为False来实现。
20(A)Timer(B)InterVal
(C)Enabled(D)Visible
6.在下列控件中,不接受焦点的是(21)
21(A)Lable(B)Command
(C)Text(D)Listbox。
7.在VB中,要将一个窗体从内存中释放,应使用的语句是(22)。
22(A)Show(B)Hide(C)Load(D)Unload
8.建立弹出式菜单的方法是(23)。
23(A)PopupMenu(B)ShowMenu
(C)LoadMenu(D)A、B、C都可以
VB程序设计试卷共12页第2页
9.以下关于Click事件描述中,错误的说法是(24)
24(A)此事件是在一个对象上按下然后释放一个鼠标按钮时发生
(B)如果在Click事件中有代码,则DlbClick事件将永远不会被触发
(C)此事件也会发生在一个控件的值改变时
(D)对Form对象来说,该事件是在单击一个空白区或无效控件时发生
10.下面子过程语句合法的是(25)。
25(A)FunctionFun%(Fun%)(B)SubFun(m%)AsInteger
(C)FunctionFun(ByValm%)(D)SubFun(Fun)
二.阅读分析程序(每个选择3分,共45分)
1.程序如下
PrivateSubForm_Click()
DimxAsInteger,sxAsInteger,nAsInteger
RandomizeTimer
x=Int(Rnd*5)+11
Fori=2Tox
n=Int(Sqr(i))
Forj=2Ton
IfiModj=0ThenExitFor
Nextj
Ifj>nThensx=sx+i
Nexti
Printsx
EndSub
(1)程序运行时,该程序中整数x的值的范围是(26)。
26(A)11~16之间(B)11~15之间
(C)5~16之间(D)5~15之间
(2)变量sx中存放的数是(27)
27(A)2~x之间的所有素数之和(B)2~x之间的所有奇数之和
(C)2~x之间的所有偶数之和(D)2~x之间的所有数值之和
(3)假设x的值为14,则程序的运行结果是(28)。
28(A)41(B)48(C)56(D)104
VB程序设计试卷共12页第3页
2.程序如下
PrivateSubCommand1_Click()
DimnAsInteger
DimrAsLong
n=Val(InputBox("请输入一个数"))
r=fun(n)
Picture1.Printr,n
EndSub
Functionfun(ByValnumAsInteger)AsLong
DimkAsInteger
k=1
num=Abs(num)
DoWhilenum
k=k*(numMod10)
num=num\10
Loop
fun=k
EndFunction
(1)当程序运行时,如输入74,则输出结果为(29)。
29(A)2874(B)280
(C)4774(D)470
(2)如果将程序中的语句“Functionfun(ByValnumAsInteger)AsLong”改为“Functionfun(numAsInteger)AsLong”后,再输入74,则输出结果为(30)
30(A)2874(B)280
(C)4774(D)470
(3)该程序在窗体上至少设置了几个控件?
(31)
31(A)一个(B)二个
(C)三个(D)四个
3.程序如下
OptionBase1
PrivateSubCommand1_Click()
DimnAsInteger
VB程序设计试卷共12页第4页
n=12
ReDima(n)
a=Array(45,2,7,1,13,42,98,0,65,33,0,0)
Callfun(a(),n)
Printa(11),a(12)
EndSub
Subfun(b(),mAsInteger)
mx=1
mn=1
PrintUBound(b)
Fork=2Tom-2
Ifb(k)>b(mx)Thenmx=k
Ifb(k)
Nextk
b(m-1)=b(mk)
b(m)=b(mn)
EndSub
(1)语句PrintUBound(b)的结果是(32)
32(A)13(B)12(C)11(D)10
(2)程序运行后,a(11)的结果为(33)
33(A)0(B)12(C)45(D)98
(3)程序运行后,a(12)的结果为(34)
34(A)0(B)45(C)65(D)98
4.程序界面如下:
VB程序设计试卷共12页第5页
PrivateTypestu
namAsString
score(3)AsSingle
EndType
Dimstudent()Asstu
PrivateSubCommand1_Click()
ReDimstudent(List1.ListCount-1)
Open"成绩.dat"ForRandomAs#1
Fori=0ToList1.ListCount–1
student(i).nam=List1.List(i)
Forj=1To3
student(i).score(j)=Int(Rnd*101)
Nextj
Put#1,,student(i)
Nexti
Close
EndSub
PrivateSubCommand2_Click()
DimstAsstu
Open"成绩.dat"ForRandomAs#1
DoUntileEOF
(1)
Get#1,,st
Picture1.Printst.nam;
Forj=1To3
Picture1.Printst.score(j);
Nextj
Picture1.Print
Loop
Close
EndSub
PrivateSubForm_Load()
List1.AddItem"郑明"
List1.AddItem"李琴"
List1.AddItem"王强"
List1.AddItem"刘乐"
List1.AddItem"胡兵"
EndSub
VB程序设计试卷共12页第6页
(1)以下描述错误的是(35)
35(A)student是一个用户自定义的类型的动态数组
(B)stu是一个用户自定义的类型
(C)score是一个用户自定义的类型的动态数组
(D)student
(2).nam的值为王强
(2)Command1的单击事件的功能为(36)
36(A)从list1读学生姓名,然后从随机文件"成绩.dat"中读出对应各科成绩。
(B)从list1读学生姓名,并自动生成各门课程成绩,然后写入随机文件"成绩.dat"。
(C)打开随机文件"成绩.dat"后自动生成学生姓名和各门课程成绩。
(D)打开随机文件"成绩.dat"删除某些记录。
(3)程序中Get语句的作用为(37)
37(A)读数据(B)写数据
(C)修改数据(D)没有固定作用
5.程序如下
Dimx0%,y0%
PrivateSubpicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=1Then
x0=X:
y0=Y
ElseIfButton=2Then
x0=0:
y0=0
ElseIfButton=4Then
Cls
EndIf
EndSub
PrivateSubpicture1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=1Then
rad=Rnd*2
picture1.PSet(x0,y0)
picture1.Circle(x0,y0),Sqr((x0-X)^2+(y0-Y)^2),,,,rad
VB程序设计试卷共12页第7页
ElseIfButton=2Then
picture1.Line(x0,y0)-(X,Y),,B
EndIf
EndSub
(1)程序执行时,在picture1上按下鼠标左键,然后移动一定距离后释放,则(38)
38(A)将清除picture1上的所有图形和文字
(B)将画出一个以鼠标按下点为圆心的椭圆
(C)将画出一个以鼠标按下点为圆心,鼠标按下点到释放点间距离为半径的圆
(D)将画出一个以鼠标按下点为圆心的扇形
(2)程序执行时,在picture1上单击鼠标右键,则(39)
39(A)将画出一个以点(0,0)到点(x,y)的直线为对角线的空心矩形
(B)将画出一个以点(0,0)到点(x,y)的直线为对角线的实心矩形
(C)将画出一条自(0,0)点到鼠标释放点(x,y)的直线
(D)将清除窗体上的所有图形和文字
(3)程序执行时,在窗体上单击鼠标中键,则(40)
40(A)将清除picture1上的所有图形和文字
(B)将清除窗体上的所有图形和文字
(C)窗体无变化
(D)将出现黑屏
三、程序填空(每空2分,共30分)
1.根据以下公式求e的近似值,要求其误差小于0.000001。
请填空完善程序。
PrivateSubForm_Click()
DimiAsInteger,jAsInteger,nAsLong
DimtAsSingle,eAsSingle
e=0
i=0
n=1
t=1
VB程序设计试卷共12页第8页
DoWhile①
e=e+t
i=i+1
n=1
Forj=1Toi
②
Nextj
t=1/n
③
Printe
EndSub
2.下列程序的功能是:
单击窗体,在窗体上输出如下结果,请填空。
PrivateSubForm_Click()
Dima(6,6)AsInteger
DimiAsInteger,jAsInteger
Fori=1To6
Forj=1To6
Ifi=jOrj=1Then
a(i,j)=1
ElseIfi>jThen
①
Else
②
EndIf
PrintTab(6*j);a(i,j);
Nextj
Print
VB程序设计试卷共12页第9页
Nexti
Print
EndSub
3.程序界面如下,该程序的功能是单击“查找”按钮后,寻找11~999之间满足条件的数n,它满足n、n2均为回文数(逆序排列后数值不变),并且将数n、n2分别在List1、List2中对应输出。
请完善程序。
PrivateSubCommand1_Click()
Dimi#,j#,k#,n%
Fori=11To999
j=i^2
If①Then
List1.AddItemi
List2.AddItemj
EndIf
Nexti
EndSub
FunctionIsHui(i#)AsBoolean
DimlenN%,j%,s$,flagAsBoolean
s=Trim(Str(i))
lenN=Len(s)
②
Forj=1TolenN\2
If③Then
flag=False
VB程序设计试卷共12页第10页
ExitFunction
EndIf
Nextj
IsHui=flag
EndFunction
4.程序界面如下,程序的功能是:
单击“统计”按钮后,统计文本文件“data.txt”中各种字母(不区分大小写)出现的次数,将统计结果存放在数组intCount中(字母“A”的次数存入intCount[1],字母“B”的次数存入intCount[2]……,依此类推),并将出现次数大于1的字母及次数显示在picture1中。
要求按照每行6个的格式输出。
OptionBase1
PrivateSubForm_Click()
Cls
Dimnum%,intCount%(26),cAsString*1
Open"data.txt"ForInputAs#1
DoUntilEOF
(1)
①
c=UCase(c)
Ifc>="A"Andc<="Z"Then
②
intCount(j)=intCount(j)+1
EndIf
VB程序设计试卷共12页第11页
Loop
Forj=1to26
If③Then
Picture1.PrintChr$(j+64);"=";intCount(j);
num=num+1
④
EndIf
Nextj
EndSub
5.以下程序的功能是:
建立名为“test.txt”的顺序文件。
文件内容来自文本框Text1,每当按下回车键(Enter)写入一条记录,然后清除文本框的内容;当单击命令按钮Command1时程序结束。
PrivateSubForm_Load()
①
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
Print#1,Text1.Text
②
EndIf
EndSub
PrivateSubCommand1_Click()
Close#1
③
EndSub
VB程序设计试卷共12页第12页