真正四川省计算机二级VB笔试题.docx
《真正四川省计算机二级VB笔试题.docx》由会员分享,可在线阅读,更多相关《真正四川省计算机二级VB笔试题.docx(68页珍藏版)》请在冰豆网上搜索。
真正四川省计算机二级VB笔试题
四川省计算机VB二级考试
第十九次
一、判断是非(1分/小题,共10分)
1.数组是一种固定长度的线性表,可以对数组进行插入和删除运算
2.白盒测试时,测试者不考虑程序的内部结构特征
3.对线性表中的数据进行二分查找,必须要求数据元素有限且有序
4.内存管理技术中,每个分区的地址是连续的
5.文件的目录结构是一种线性表
6.面向对象的程序设计中,对象的动作取决于发送给该对象的消息
7.虚拟设备是指将大容量的共享设备的一部分空间用来代替实际的独占设备
8.在结构化程序设计中,N-S图是用于详细设计的工具之一
9.在操作系统的设备管理中,打印机被看成是一种共享设备
10.分时操作系统的主要特征之一是提高计算机系统的实时性
二、单项选择题(1分/小题,共5分)
1、在排序法中,从未排序序列中依次取出元素,与已排序列中的元素做比较,将其放入已经排序序列的正确位置称为()
A)选择排序B)快速排序C)插入排序D)冒泡排序
2、有X、Y、Z三个元素依次入栈,不可能的出栈的顺序是()
A)Z、Y、XB)Z、X、YC)Y、X、ZD)X、Y、Z
3、进程的状态是可以转换的,而以下哪个状态转换是不可能的()
A)就绪状态——>执行状态B)执行状态——>就绪状态
C)阻塞状态——>就绪状态D)等待状态——>执行状态
4、线性链表的地址()
A)必须连续B)部分地址必须连续C)一定不连续D)连续与否都可以
5、在软件测试中,()主要分析程序的内部结构。
A)白盒法B)黑盒法C)因果图法D)错误推测法
第二部分
VisualBasic语言程序设计
一、单项选择题(1分/题,共10分)
1、在VisualBasic中,窗体文件的扩展名为()
A)EXEB)BASC)FRMD)VBP
2、表达式8+2*3^2\9/8-3mod2的结果为()
A)25B)24C)7D)7.25
3、从键盘上输入两个字符串,分别保存到变量Str1和Str2中,确定第二个字符串在第一个字符串中起始位置的函数是()
A)LeftB)MidC)StringD)Instr
4、若X是一个正实数,能对X的第3位小数进行四舍五入的表达式是()
A)0.01*Int(100*(x+0.05))B)0.01*Int(100*(x+0.005))
C)0.01*Int(x+0.05)D)0.01*Int(x+0.005)
5、下面四个语句中能打印显示20*30字样的是()
A)pint“20*30”B)print20*30
C)printchr(20)+”*”+chr(30)D)D)printVal(“20”*Val(“30”)
6、变量在窗体模块中申明为公共的,下列关于变量的陈述哪条是正确的()
A)可以从项目的任何打模块中存取变量
B)可以在窗体的任何地方存取变量,而不是在窗体模块外
C)只能在同一个项目的其它窗体模块中存取变量
D)变量不能在窗体模块中申明为公共的
7、对一个窗体对象,其最先发生的事件是()
A)ClickB)DbClickC)LoadD)UnLoad
8、以下能触发文本框Change事件的操作是()
A)文本框失去焦点B)文本框获得焦点
C)设置文本框的焦点D)改变文本框的内容
9、若要使标签控件显示时覆盖其背景内容,要设置其BackStyle属性的值为()
A)0B)1C)2D)3
10、下面对控件数组叙述正确的是()
A)在窗体上添加第二个相同类型的空间时,VB不会提示创建一个空间数组
B)控件数组使用Index属性来标识下标,其范围从0开始
C)控件数组使用的资源比用几个单独同样的控件占用的更多
D)如果有一个按钮叔祖,按任一按钮不会调用相同的Click事件过程
二、阅读分析程序(3分/题,共45分)
1、阅读下面的程序
OptionExplicit
DimnAsInteger,LAsInteger,IAsInteger,JAsInteger
Dima()AsInteger
n=InputBox("请输入一个整数")
ReDima(1Ton)
a
(1)=1:
a
(2)=2:
a(3)=3:
L=4
L1:
ForI=5Ton
ForJ=2ToL-1
IfIModa(J)=0Then
ExitFor
EndIf
L2:
NextJ
L3:
IfJ>L-1Thena(L)=I:
L=L+1
NextI
L4:
ForI=1ToL-1
Printa(I);
NextI
L=L-1
Print"L=";L
EndSub
(1)程序运行后点击“Command1”,如果在输入框输入20,输出的结果为()
A)1,2,3,5,7,11,13,17,19,L=9
B)1,3,5,7,9,11,13,15,17,L=19
C)1,2,3,4,5,……..18,19,L=19
D)1,2,3,4,5,……..18,19,20,L=20
(2)上述程序中语句“Dima()asInteger”的功能是()
A)定义a是11个元素的整形数组B)定义一个动态数组
C)定义了一个静态数组D)定义了a个整形变量
(3)当执行语句“ExitFor”后,程序流程将()继续执行
A)从语句标号L1处B)从语句标号L2处
C)从语句标号L3处D)从语句标号L4处
2、阅读下面的程序
OptionExplicit
PrivateSubCommand1_Click()
DimStrPassWordAsString
DimIAsInteger
ForI=1To3
StrPassWord=InputBox("Password")
IfStrPassWord="123"Then
LLL:
ExitFor
EndIf
NextI
IfI=4Then
MsgBox"你不是合法用户"
Else
MsgBox"欢迎你"
EndIf
EndSub
(1)该程序的作用是()
A)用户输入3次正确口令”123”,才显示“欢迎你”,输入3次错误口令才显示“你不是合法用户”
B)用户输入1次正确口令”123”,才显示“欢迎你”,输入1次错误口令才显示“你不是合法用户“
C)用户输入1次正确口令”123”,才显示“欢迎你”,输入3次错误口令才显示“你不是合法用户“
D)用户输入1次出错口令”123”,才显示“欢迎你”,输入3次正确口令才显示“你不是合法用户“
(2)如果将LLL处的语句去掉,则()
A)和原来的程序效果一样
B)用户必须输入3次正确口令后,才会显示“欢迎你“
C)用户必须输入3次口令,且输入任何口令都显示“欢迎你“
D)用户必须输入3次口令,且输入任何口令都显示“你不是合法用户“
3、阅读下面的程序
PrivateSubForm_Click()
Dima(2,4)AsInteger,b(4)AsInteger
DimiAsInteger,JAsInteger
DoWhilei<=4
a(1,i)=a(1,i)+2*i-1
a(2,i)=a(2,i)+12-2*i
i=i+1
Loop
Fori=1To2
ForJ=1To4
Printa(i,J);
NextJ
Print
NextI
L1:
i=0
DoWhilei<=4
b(i)=a(1,i)+a(2,4-i)
Text1.Text=b(i)
i=i+1
Loop
EndSub
(1)程序执行到L1语句处输出的结果为()
A)1357B)7531
1086410864
C)10864D)46810
75311357
(2)本段程序执行完成后,数组元素b
(2)的值为()
A)3B)7C)11D)15
(3)本段程序执行完成后,显示在文本框中的结果是()
A)19171511B)19C)15D)3
4、在窗体上设计有文本框TxtInput和按钮cmdTest,且TxtInput.Text=”Visualbasiciseasy“,并有如下代码:
OptionExplicit
OptionBase1
PrivateSubcmdTest_Click()
DimstrS$,i%,j%,n%,stra$,strb$,count%,t$,strt$()
strS=TxtInput
n=Len(strS)
ReDimstrt(n)
Fori=1Ton
stra=Mid(strS,i,1)
strb=Mid(strS,i+1,1)
Ifstrb="s"Then
Ifstra>="a"Andstra<="z"Then
count=count+1
strt(count)=stra+strb
EndIf
EndIf
Nexti
Fori=1Tocount
Forj=1Tocount-i
Ifstrt(j)t=strt(j):
strt(j)=strt(j+1):
strt(j+1)=t
EndIf
Nextj
Nexti
Fori=1Tocount
Printstrt(i)
Nexti
Text1.Text=count
EndSub
(1)程序运行后,count的值应为()
A)0B)2C)4D)6
(2)程序运行后,窗体上显示的结果为()
A)basicVisualwasyisB)isisasas
C)isasisasD)asasisis
(3)OptionExplicit的作用是()
A)表明此模块内部变量必须先声明后使用
B)表明此模块没有通用过程
C)表明此模块的通用过程不能被其他模块调用
D)表明此模块变量不声明可以直接使用
(3)以下关于语句“OptionBase1”正确的说法是()
A)其功能是知道指定数组的默认上界B)其功能是知道指定数组的默认下界
C)其功能是定义动态数组D)其功能是定义静态数组
5、阅读下面的程序
OptionExplicit
OptionBase1
PrivateTypeAbc
AAsInteger
EndType
PrivateSubForm_Click()
DimrecAbcAsAbc
DimarrA(4,4)AsInteger
DimintIAsInteger,intJAsInteger,intNAsInteger
Open"abc.txt"ForRandomAs#1
ForintI=1To4
ForintJ=1To4
intN=intN+1
recAbc.A=intN
Put#1,,recAbc
NextintJ
NextintI
Close
Open"abc.txt"ForRandomAs#1
ForintJ=1To4
ForintI=1To4
Get#1,intI*intJ,recAbc
arrA(intI,intJ)=recAbc.A
NextintI
NextintJ
Text1.Text=arrA(3,2)
Close
ForintI=1To4
ForintJ=1To4
PrintTab(intJ*3);Format(arrA(intI,intJ),"###");
NextintJ
NextintI
EndSub
(1)程序中的“abc.txt”文件在第一次打开时是按()方式打开的
A)顺序文件读B)顺序文件写C)随机文件D)二进制文件
(2)数组arrA完成赋值以后,数组元素arrA(3,2)的值为()
A)1B)7C)6D)4
(3)程序运行后在窗体上输出的结果为()
A)1234B)1234
56782468
910111236912
131********216
C)15913D)1234
2610142345
3711153456
4812164567
三、程序填空题(2分/空,共30分)
1、下面函数的功能是:
求变量s(s=a+aa+aaa+aaaa+….)的值,其中,a为一个0~9的数字,总共累积a项,例如:
当a=3时,s=3+33+333(共累积3项)
当a=5时,s=5+55+555+5555+55555(共累积5项)
请完善程序:
PublicFunctioncalc(aAsDouble)
s=a
t=a
Fori=2To①
t=②
s=s+t
Nexti
Prints
EndFunction
2、下面程序是用“冒泡”法将数组a中的10个整数按升序排序,并将排好序的结果显示在文本框中,请完善程序。
OptionExplicit
OptionBase1
PrivateSubForm_Click()
①
Dimi%,j%,t%
Text1.Text=""
a=Array(345,3,65,24,765,32,56,421,54,235)
Fori=1To9
Forj=iTo②
If③Then
t=a(j)
④
a(j+1)=t
EndIf
Nextj
Nexti
Fori=1To10
Text1.Text=Text1.Text&""&a(i)
Nexti
EndSub
3、下面程序的功能是将一个整数转化为数值字符串,例如123转换为”+123“。
PrivateSubNtoC(ByValn!
strcAsString)
DimsignAsBoolean,i%,a%,count%,temp%(100)
sign=False
Ifn<0Thensign=True:
n=①
DoWhilen>0
a=②
n=n\10
count=count+1
temp(count)=a
Loop
IfsignThenstrc="-"Elsestrc="+"
Fori=countTo1Step-1
strc=③
Nexti
EndSub
4、从键盘上输入任意一个整数x,将其插入到一个按升序排列的整数数组中,并保证数组在插入之后仍按原来的升序排列,请填写完整程序。
OptionExplicit
OptionBase1
Constn=10
PrivateSubForm_Click()
Dima
DimiAsInteger,jAsInteger,xAsInteger
a=Array(1,3,4,5,9,15,22,28,30,60)
Fori=1Ton
Printa(i)
Nexti
Print
x=InputBox("输入一个整数x:
")
ReDimPreservea(n+1)
Fori=nTo1Step-1
If①Then
a(i+1)=a(i)
Else
②
ExitFor
EndIf
Nexti
③
Fori=1Ton+1
Printa(i)&"";
Nexti
EndSub
5、下面程序实现当“单击”命令按钮cmdRead从文件”List.txt“中读入行数据并写入一个列表框中,文件中的每一行在列表框中占一个选项,请完善程序。
PrivateSubcmdRead_Click()
DimstrListAsString
DimintFileNumAsInteger
intFileNum=FreeFile()
OpenApp.Path+"\List.txt"ForInputAs#intFileNum
dountil①
LineInput#intFileNum,strList
List1.AddItem②
Loop
③
EndSub
第二十次
第一部份软件技术基础(共15分)
-、是非判断题(每小题1分,共10小题)
(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B)
1、数据元素是数据的基本单位,数据项是数据的最小单位。
2、栈是忒特殊的线性表,须用一组地址连续的存储单元来存储其元素。
3、引入虚拟存储技术后,逻辑内存总容量是由地址总线的位数确定的。
4、编辑程序是一种常用应用软件。
5、顺序文件和连接文件的长度都可以动态变化。
6、在文件系统中采目录管理文件。
7、允许多用户在其终端上同时交互使用计算机的操作系统称为系统为实时统。
8、程序、数据、和进程控制块是构成一个进程的三要素。
9、黑板测试时,既要考虑程序的内逻辑结构又要考虑其外部特征。
10、软件的总体设计和详细设计都要用PAO图形。
二、选择题(每小题1分,共5分)
1.允许用户把若干作业提交给计算机系统集中处理的操作系统为()
(A)分时操作系统(B)实时操作系统
(C)网络操作系统(D)批处理操作系统
2.分配到必要资源并获得了处理机时的进程的状态称为()
(A)就绪状态(B)执行状态
(C)等待状态(D)阻塞状态
3.利用通道技术可以在()之间直接交换数据。
(A)内存与CPU(B)CPU与外设
(C)内存与外设(D)内存、CPU与外设三者
4.以下准则中哪个不是软件设计的准则()
(A)编程语言选择准则(B)信息屏蔽准则
(C)结构化和模块化准则(D)抽象准则
5.有一数列:
97657613294958经过一趟排序后得到:
65971376294958请问使用的是何种排序方法()
(A)简单插入排序(B)冒泡排序
(C)2路归并排序(D)快速排序
第二部分VisualBASIC语言程序设计(共85分)
一、单项选择题(每小题1分,共10分)
1.VisualBASIC中,工程文件的扩展名为()
(A)EXE(B)BAS(C)FRM(D)VBP
2.用于声明全局变量的关键字是()
(A)Dim(B)Private(C)Public(D)Static
3.表达式sgn(4)+5\6+7mod5+int(rnd)的值是()
(A)4(B)5(C)3(D)7
4.设变量X的值为1000,则表达式10<=XOr100=Sgn(-100)的值为()
(A)1000(B)100(C)False(D)True
5.赋值为1到100之间(含1,100)的一个随机整数正确的语句是()
(A)x=INT(100*RND)(B)x=101*RND(C)x=INT(99*RND)(D)x=INT(100*RND+1)
6.窗体上有一个称为cmdCommand1的命令按钮。
当点击该按钮的时候,应该显示frmNext。
则在cmdCommand1的点击事件程序中应该写入哪条语句()
(A)Show(frmNext)(B)frmNext.Show(C)frmNext.Show=True(D)frmNext.show=vbVisible
7.在VB窗体中,如果要求在窗体中的所有的变量必须先声明进行后使用,则应该()
(A)在gernal处使用语句optionexplicit(B)在处gernal使用语句optionbase1
(C)在Form_Load()处使用语句optionexplicit(D)在Form_Load()处使用语句optionbase1
8.加载窗体时,下面事件中会被激发的事件为()
(A)Click(B)DblClick(C)Load(D)KeyPress
9.文本框中,当用户键入一个字符时,能同时引发的事件是()
(A)KeyPress和Click(B)KeyPress和LostFocus
(C)KeyPress和Change(D)Change和LostFocus
10.下拉式列表框的Clear方法的作用是()
(A)清除当前选定项(B)清除当前文本(C)清除一个制表项(D)清除所有项
二、阅读分析程序(每个选择3分,共45分)
1.阅读下面程序
OptionBase1
PrivateSubForm_Load()
DimN,I,B(),I,J
Do
N=InputBox("输入数组下标上界值,要求:
下标上界值<=4","输入数据")
LoopWhileN>4
ReDimB(N,N)
A=Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16)
ForI=1ToN
ForJ=1ToN
B(I,J)=A(I*J)
If(J>=1)ThenPrintTab(J*3);Format(B(I,J),"###");
NextJ
Print
NextI
EndSub
(1)"单击"窗体后,在输入框中输入数组下标上界值为3,则窗体显示为()
(A)123(B)1(C)123(D)147
4562446246
7893699789
(2)将语句If(J>=I)ThenPrintTab(J*3);Format(B(I,J),"###");改为:
If(J<=I)ThenPrintTab(J*3);Format(B(I,J),"###");
然后单击窗体,在输入框中输入数组下标上界值为4,则窗体显示为()
(A)1234(B)1(C)1234(D)14710
5678244682468
9101112369912371115
13141516481216164881216
(3)单击窗体后,在输入对话框中输入数组下标的上界值为5,则显示结果为:
()
(A)程序出错(B)可在对话框中电击"取消"按钮退出
(C)1234(D)不能关闭对话框,程序等待输入新下界上标
5678
9101112
13141516
2.阅读下面程序
OptionExplicit
OptionBase1
PrivateSubCommand1_Click()