2024年3月计算机等级考试二级VB真题.docx
2024年3月计算机等级考试二级VB笔试试题及答案一、选择题(每题2分,共计70分)(1)下列叙述中正确的是A)栈是先进先出的线性表B)队列是“先进后出”的线性表C)循环队列是非线性结构D)有序线性表即可以采纳依次存储结构,也可以采纳链式存储结构(2)支持子程序调用的数据结构是A)栈B)树C)队列D)二叉树(3)某二叉树有5个读为2的结点,则该二叉树中的叶子结点数是A)10B)8C)6D)4(4)下列排序方法中,最坏状况下比较次数最少的是A)冒泡排序B)简洁选择排序C)干脆插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下列属于应用软件的是A)编译程序B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发觉错误并改正错误B)对被调试程序进行“错误定位”是程序调试的必要步骤C)程序调试也成为DebugD)软件测试应严格执行测试安排,解除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间相互连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:ABCa32b01C21ABa3b0C2S由关系R通过运算得到关系S,则所运用的运算为A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)执行语句DimXzYAsInteger后,A)X和Y均被定义为整型变量B)X和Y均被定义为变体类型变量C)X被定义为整型变量,Y被定义为变体变量D)X被定义为变体类型变量,Y被定义为整型变量(12)以下关系表达式中,其值为TrUe的是A)"XYZ">"XYz"B)"VisualBasic"<>"visualbasic"C),the"="there"D)"Integer"<,Int"(13)执行以下程序段a$="VisualBasicProgramming"b$="C+"C$=UCaSe(Left$(a$,7)&b$&Right$(a$,12)后,变量C$的值为A)VisualBASICProgrammingB)VISUALC+ProgrammingC)VisualC+÷ProgrammingD)VISUALBASICProgramming(14)下列叙述中正确的是A)MsgBo×语句的返回值是一个整数B)执行MsgBox语句并出现信息框后,不用关闭信息框即可执行其他操作C)MsgBox语句的第一个参数不能省略D)假如省略MsgBox语句的第三个参数(TitIe),则信息框的标题为空(15)在窗体上画一个文本框(名称为TeXtI)和个标签(名称为LabeI1),程序运行后,在文本框中每输入一个字符,都会马上在标签中显示文本框中字符的个数,以下可以实现上述操作的事务过程是A)PrivateSubTextl_Change()1.abell.Caption=str(Len(Text!.Text)EndSubB)PrivateSubTextl_Click()1.abell.Caption=str(Len(Textl.Text)EndSubC)PrivateSubTextl_Change()1.abeIl.Caption=TextLTextEndSubD)PrivateSubLabell_Change()1.abel1.Caption=str(Len(Text1.Text)EndSub(16)在窗体上画两个单选按钮(名称分别为OPtionIQPtion2,标题分别为“宋体“和“黑体“),1个复选框(名称为CheCk1,标题为粗体)和1个文本框(名称为TextlzText属性为”变更文字字体”),窗体外观如图所示。程序运行后,要求''宋体单选按钮和''粗体复选框被选中,则以下能够实现上述操作的语句序列是A)Optionl.VaIue=FaIseCheckLVaIue=TrueB)OptionLVaIue=TrueCheckLVaIue=OC)Option2.Value=FalseCheckl.Value=2D)OptionLVaIue=TrueCheckLVaIue=I(17)在窗体上画一个名称为Commandl的吩咐按钮,然后编写如下事务过程:PrivateSubCommandl_Click()c=1234cl=Trim(Str(c)Fori=lTo4PrintNextEndSub程序运行后,单击吩咐按钮,要求在窗体上显示如下内容:1121231234则在横线处应填入的内容为A)Right(clJ)B)Left(clzi)C)Mid(CI,i,l)D)Mid(clzizl)(18)假定有一下程序段Fori=lTo3Forj=5To1Step-1Printi*jNextjNexti则语句Printi*j的执行次数是A)15B)16C)17D)18(19)在窗体上画两个文本框(名称分别为TeXtl和Text2)和一个吩咐按钮(名称为CommandD,然后编写如下事务过程:PrivateSubCommandl_Click()x=0DoWhilex<50x=(x÷2)*(×+3)n=n+l1.oopTextl.Text=Str(n)Text2.Text=Str(×)EndSub程序运行后,单击吩咐按钮,在两个文本框中显示的值分别为A)l和0B)2和72C)3和50D)4和168(20)阅读程序:PrivateSubCommandl_Click()a=0Forj=lTo15a=a÷jMod3NextjPrintaEndSub程序运行后,单击窗体,输出结果是A)105B)lC)120D)15(21)以下说法中正确的是A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPreSS事务过程B)因为窗体不接受焦点,所以窗体不存在自己的KeyPress事务过程C)若按下的键相同,KeyPress事务过程中的KeyAscii参数与KeyDown事务过程中的KeyCode参数的值也相同D)在KeyPress事务过程中,KeyAscii参数可以省略(22)语句Dima(-3To4,3To6)AsInteger定义的数组的元素个数是A)18B)28C)21D)32(23)在窗体上画一个吩咐按钮,其名称为COmmand1,然后编写如下代码:OptionBase1PrivateSubCommandl_Click()DimaArray(lz2z3,4)Fori=4To1Step-1s=s+a(i)*jj=j*10NextiPrintsEndSub程序运行后,单击吩咐按钮,其输出结果是A)4321B)1234C)34D)12(24)假定通过复制,粘贴操作建立了一个吩咐按钮数组COmmand1,以下说法中错误的是A)数组中每个吩咐按钮的名称(Narne属性)均为CommandlB)若未做修改,数组中每个吩咐按钮的大小都一样C)数组中各个吩咐按钮运用同一个Click事务过程D)数组中每个吩咐按钮的Index属性值都相同(25)在窗体上画一个吩咐按钮,名称为Command1,然后编写如下代码:OptionBase0PrivateSubCommandl_Click()DimAl(4)AsInteger,A2(4)AsIntegerFork=0To2Al(k+1)=InPUtBox(”请输入一个整数”)A2(3-k)=Al(k+1)NextkPrintA2(k)EndSub程序运行后,单击吩咐按钮,在输入对话框中依次输入2、4、6则输出结果为A)0B)lC)2D)3(26)以下关于函数过程的叙述中,正确的是A)函数过程形参的类型与函数返回值的类型没有关系B)在函数过程中,过程的返回值可以有多个。当数组作为函数过程的参数是,既能以传值方式传递,也能以传址方式传递D)假如不指明函数过程参数的类型,则该参数没有数据类型(27)在窗体上画两个标签按钮和个吩咐按钮,其名称分别为LabeI1、LabeI2和Commandl,然后编写如下程序:PrivateSubfunc(LAsLabel)1.Caption="1234"EndSubPrivateSubForm_Load()1.abell-Caption="ABCDE"1.abel2.Caption=10EndSubPrivateSubCommandl_Click()Val(Label2.Caption)Callfunc(Labell)1.abel2.Caption=aEndSub程序运行后,单击吩咐按钮,则在两个标签中显示的内容分别为A)ABCD和10B)1234和100C)ABCD和100D)1234和10(28)在窗体上画个吩咐按钮(名称为COmmand1),并编写如下代码:Functionfunl(ByValaAsInteger,bAsInteger)AsIntegerDimtAsIntegert=a-bb=t+afunl=t+bEndFunctionPrivateSubCommandl_Click()DimxAsInteger×=10Printfunl(funl(x,(funl(xzx-l)zx-1)EndSub程序运行后,单击吩咐按钮,输出结果是A)10B)0C)llD)21(29)以下关于过程及过程参数的描述中,错误的是A)过程的参数可以是控件名称B)调用过程时运用的实参的个数应与过程形参的个数相同C)只有函数过程能够将过程中处理的信息返回到调用程序中D)窗体可以作为过程的参数(30)设有如下通用过程PublicFunctionFun(×StrAsString)AsStringDimtStrAsString,StrLAsIntegertStr=",StrL=Len(xStr)i=StrL/2DoWhilei<=StrLtStr=tStr&Mid(xStrzi+lz1)i=i+11.oopFun=tStr&tStrEndFunction在窗体上画一个名称为TeXtl的文本框和个名称为Commandl的吩咐按钮。然后编写如下事务过程PrivateSubCommandl_Click()DimSlAsStringSl="ABCDEF"Textl.Te×tLCase(Fun(Sl)EndSub程序运行后,单击吩咐按钮,文本框中显示的是A)ABCDEFB)abcdefC)defdefD)defabc(31)在窗体上画一个吩咐按钮和一个文本框(名称分别为COmmandl和TeXtI),并把窗体的KeyPreview属性设置为TrUe,然后编写如下代码:DimSaveAIIAsStringPrivateSubForm_Load()ShowTextLText=",TextLSetFocusEndSubPrivateSubCommandl_Click()Textl,Text=LCase(SaveAII)+SaveAIIEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)SaveAII=SaveAII+Chr(KeyAscii)EndSub程序运行后,干脆用键盘输入:VB,再单击吩咐按钮则文本框中显示的内容为A)vbVBB)不显示任何信息C)VBD)出错(32)设有以下程序PrivateSubForm_Click()50Fori=1To4y=InPUtBox("请输入一个整数”)Y=Val(y)IfyMod5=0Thena=a+yx=yElsea=a+xEndIfNextiPrintaEndSub程序运行后,单击窗体,在输入对话框中依次输入15,24,35,46,输出结果为A)100B)50C)120D)70(33)以下关于菜单的叙述中,错误的是A)当窗体为活动窗体时,用Ctl+E键可以打开菜单编辑器B)把菜单项的Enabled属性设置为FaISe,则可删除该菜单项C)弹出式菜单在菜单编辑器中设计D)程序运行时,利用控件数组可以实现菜单项的增加或削减(34)以下叙述中错误的是A)在程序运行时,通用对话框控件是不行见的B)调用同一个通用对话框控件的不同方法(如ShowOpen或ShOWSaVe)可以打开不同的对话框窗口C)调用通用对话框控件的ShowOpen方法,能够干脆打开在该通用对话框中指定的文件D)调用通用对话框控件的ShowCoIor方法,可以打开颜色对话框窗口(35)设在工程文件中有一个标准模块,其中定义了如下记录类型:TypeBooksNameAsString*10TeINumAsString*20EndType在窗体上画一个名为Commandl的吩咐按钮,要求当执行事务过程COmmandLeIiCk时,在依次文件PerSon.t×t中写入一条BOOkS类型的记录,下列能够完成该操作的事务过程是A)PrivateSubCommandl_Click()DimBAsBooksOpen"Person.txt"ForOutputAs#1B.Name=InPUtBOx("输入姓名”)B.Name=InPUtBOx("输入电话号码”)Write#1,B.Name,B.TelNumClose#1EndSubB)PrivateSubCommandl_Click()DimBAsBooksOpen"Person.txt"ForOutputAs#1B.Name=InPUtBoX("输入姓名”)B.Name=InPUtBox("输入电话号码”)Print#1,B.Name,B.TelNumClose#1EndSubC)PrivateSubCommandl_Click()DimBAsBooksOpen"Person.txt"ForOutputAs#1B.Name=InPUtBOx("输入姓名”)B.Name=InPUtBOx("输入电话号码”)Write#1,BClose#1EndSubD)PrivateSubCommandl_Click()DimBAsBooksOpen"Person.txt"ForOutputAs#1B.Name=InPUtBOx("输入姓名”)B.NameInPUtBOx("输入电话号码”)Print#1,NamezTeINumClose#1EndSub二、填空题(每空2分,共计30分)(1)假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,假如bottom=49,top=30(数租下标),则栈中具有【1】个元素(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试(3)符合结构化原则的三种基本限制结构是:选择结构、循环结构和【3】(4)数据库系统的核心是【4】(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5】框(6)窗体如图所示,其中汽车是名称为Imagel的图像框,吩咐按钮的名称Commandlz计时器的名称为Timer1,直线的名称为Line1。程序运行时,单击吩咐按钮,则汽车每0.1秒向左移动100,车头到达左边的直线时停止移动。请填空完成下面的属性设置和程序,以便实现上述功能。l)Timerl的Interval属性的值应事先设置为62)PrivateSubCommandl_Click()TimerLEnabIed=TrueEndSub3)PrivateSubTimerl_Timer()IfImageLLeft>7ThenImagel,Left=8-100EndIfEndSub7 .上题【7】的答案是8 .上一题【8】的答案是9 .(7)设窗体上有一个名称为Combol的组合框,并有以下程序:PrivateSubCombol_KeyPress(KeyAsciiAsInteger)If9=13ThenFork=0ToComboLListCount-1IfComboLText=Combol.List(k)ThenComboLText=',"ExitForEndIfNextkIfCombol.Text<>""ThenComboLAddItem10EndIfEndIfEndSub程序的功能是:在组合框的编辑区中输入文本后按回车键,则检查列表中有无与此文本相同的项目,若有,则把编辑区中的文本删除,否则把编辑区中的文本添加到列表的尾部。请填空。10 .上一题【10】的答案是IL(8)在当前书目下有一个名为“myfile.txt”的文本文件,其中有若干行文本。下面程序的功能是读入此文件中的全部文本行,按行计算每行字符的ASCn码之和,并显示在窗体上。请填空PrivateSubCommandl_Click()DimCh$,asciiAsIntegerOpen"myfile.txt"For11As#1WhileNotEOF(I)1.ineInput#lzchascii=toascii(12)PrintasciiWendClose#1EndSubPrivateFunctiontoascii(mystr$)AsIntegern=0Fork=1To13n=n+Asc(Mid(mystrzk,1)Nextktoascii=nEndFunction12 .上一题【12】的答案是13 .上一题13的答案是14 .(9)本程序实现文本加密。先给定序列:al,a2,.,an,它们的取值范围是ln,而且互不相同。加密算法是:把原文本中第k个字符放到加密后文本的第ak个位置处。若原文本长度大于n,则只对前面n个字符加密,后面的字符不变;若原文本长度小于n,在后面补字符"*”使文本长度为n后再加密。例如:若给定序列al,a2,.a7分别为2,5,3,7,6,1,4当文本为叩ROGRAM”时,加密后的文本为“APOMRRG”当文本为“THANK”时,加密后的文本为"*TA*HKN"卜面的过程code实现这一算法。其中参数数组a()中存放给定序歹U(个数与数组a的元个数相等)al,a2,a3.的值,要加密的文本放在参数变量mystr中,过程执行完毕,加密后的文本仍旧放在变量mystr中。请填空。OptionBase1PrivateSubcode(a()AsInteger,mystrAsString)DimchAsString,clAsStringn=UBound(a)-Len(mystr)Ifn>0Thenmystr=mystr&String$(n,"*")EndIfch=mystrFork=14ToUBound(a)cl=Mid(mystr,k,1)n=15Mid(chzn)=clNextkmystr=chEndSub15.上一题15的答案是2009年3月计算机等级考试二级VB标准答案一、幡题(11)D)(12)B)(13)B)(14)C)(15)A)(16)D)(17)B)(18)A)(19)B)(20)D)(21)A)(22)D)(23)B)(24)D)(25)C)(26)A)(27)D)(28)B)(29)C)(30)C)(31)A)(32)A)(33)B)(34)C)(35)A)二解题(6)100(7)LineLxl或Linel.x2(8)Imagel.Left(9)KeyAscii(10)Combol.Text(11)Input(12)ch(13)LenGnyStr)(14)1:/ncrelOO