版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家二级(VB)机试模拟试卷20(共9套)(共396题)国家二级(VB)机试模拟试卷第1套一、选择题(本题共40题,每题1.0分,共40分。)1、设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T=R×S,则T的元组的个数为()。A、6B、8C、9D、12标准答案:C知识点解析:R为n元关系,有p个元组,S为m元关系,有q个元组。两个关系笛卡儿积是一个n+m元的关系,元组个数是q×p。所以T的元组的个数为9个。2、窗体上有文本框Text1和一个菜单,菜单标题、名称见表,结构如图2所示。要求程序执行时单击“保存”菜单项,则把其标题显示在Text1文本框中,下面可实现此功能的事件过程是()。A、PrivateSubsave_Click()save_Click()Text1.Text=file.save.CaptionEndSubB、PrivateSubsave_Click()Text1.Text=save.CaptionEndSubC、PrivateSubfile_Click()Text1.Text=file.save.CaptionEndSubD、PrivateSubfile_Click()Text1.Text=save.CaptionEndSub标准答案:B知识点解析:本题考查菜单事件。菜单建立以后,对于每个菜单项要进行编写程序,才可以进行处理,单击“保存”命令时,代码窗体自动出现事件过程:PrivateSubsave_Click()EndSub在程序之间加上Text1的Text属性改变代码即可。3、在窗体上有一个文本框Textl和一个标签Labell,要求运行程序时,在文本框中输入的内容立即显示在标签中(如图1所示),则空白处应填入的内容是()。PrivateSubTextl________()Label1.Caption=Textl.TextEndSubA、GetFocusB、ClickC、ChangeD、LostFocus标准答案:C知识点解析:考查文本框的事件。文本框的GetFocus事件为文本框获得焦点时触发一次,而单击文本框时触发一次Click事件,Change事件是每次文本框中的文本发生改变时触发的事件,而LostFocus事件是文本框失去焦点时触发的事件。4、下面控件中,没有Caption属性的是()。A、复选框B、单选按钮C、组合框D、框架标准答案:C知识点解析:Caption属性是设置或返回控件的标题。组合框没有Caption属性。故选C。5、下面关于多重窗体的叙述中,正确的是()。A、作为启动对象的Main子过程只能放在窗体模块内B、如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载窗体或加载哪一个窗体C、没有启动窗体,程序不能执行D、以上都不对标准答案:B知识点解析:本题考查多重窗体。VB允许对多个窗体进行处理,多重窗体(MultiForm)程序中的每个窗体都可以有自己的界面和代码,完成各自的功能。默认第一个窗体为肩动窗体。也可以在“工程”菜单中利用属性对话框的提示自行设置启动窗体。可以在标准模块中定义。Main子过程作为启动窗体,如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后山该过程根据不同情况决定是否加载窗体或加载哪一个窗体。6、在文本框控件中,将Text的内容全部显示为用户所定义的字符的属性是()。A、PasswordCharB、需要编程来实现C、PasswordD、以上都不是标准答案:A知识点解析:本题考查文本框常见属性。文本框的Passwordchar属性设置显示文本为实际内容还是规定的字符显示;文本框控件不存在Password属性。7、为达到把a、b中的值交换后输出的日的,某人编程如下:PrivateSubCommand1—Click()a%=10:b%=20Callswap(a,b)Printa,bEndSubPrivateSubswap(ByValaAsInteger,ByValbAsInteger)c=a:a=b:b=cEndSub在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是()。A、调用swap过程的语句错误,应改为:Callswapa,bB、输出语句错误,应改为:Print“a”,“b”C、过程的形式参数有错,应改为:swap(ByRefaAsInteger,ByRefbAsInteger)D、swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a标准答案:C知识点解析:本题考查参数传递。VB过程调用中,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递(即形参的结果会传递给实参)。本题中为了实现数据的交换,要求进行传址调用,因此形参前面不应用ByVal声明。8、下列选项中不属于结构化程序设计原则的是()。A、可封装B、自顶向下C、模块化D、逐步求精标准答案:A知识点解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。9、下列关于数据库设计的叙述中,正确的是()。A、在需求分析阶段建立数据字典B、在概念设计阶段建立数据字典C、在逻辑设计阶段建立数据字典D、在物理设计阶段建立数据字典标准答案:A知识点解析:数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。10、待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第()个位置。A、2B、3C、4D、5标准答案:B知识点解析:选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表为空。所以第一趟排序后,将选出最小的元素9放在第一个位置,元素15则放在第3个位置。11、窗体上有一个Text1文本框,一个Command1命令按钮,并有以下程序:PrivateSubcommand1_Click()DimnIfText1.Text<>"123456"Thenn=n+1Print"口令输入错误"&n&"次"EndIfEndSub希望程序运行时得到左图所示的效果,即:输入口令,单击"确认口令"命令按钮,若输入的口令不是"123456",则在窗体上显示输入错误口令的次数。但上面的程序实际显示的是右图所示的效果,程序需要修改。下面修改方案中正确的是()。A、在Dimn语句的下面添加一句:n=0B、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"+n+"次"C、把Print"口令输入错误"&n&"次"改为Print"口令输入错误"&Str(n)&"次"D、把Dimn改为Staticn标准答案:D知识点解析:本题考查的是动态变量与静态变量。原来的程序中无法使变量n的值保持到下一次的使用,只有D选项符合要求,将n定义为静态局部变量,在程序执行到该对象的声明处时被首次初始化,每次执行后n的值都会被保存到内存中,所以答案D是正确的;而A选项只是对n赋初值,所以A选项没有意义;B选项和C选项都没有达到改进的目的。12、为了在窗体上建立2组单选按钮,并且当程序运行时,每组都可以有一个单选按钮被选中,则以下做法中正确的是()。A、把这2组单选按钮设置为名称不同的2个控件数组B、使2组单选按钮的Index属性分别相同C、使2组单选按钮的名称分别相同D、把2组单选按钮分别画到2个不同的框架中标准答案:D知识点解析:框架(Frame)是一个容器控件,用于将屏幕上的对象分组,单选按钮(OptionButton)组用于提供多个选项间的唯一选择,因此若要使得每组中都有一个按钮被选中,需要将其使用框架分组。13、下列针对框架控件的叙述中,错误的是()。A、框架是一个容器控件B、框架也有Click和DblClick事件C、框架也可以接受用户的输入D、使用框架的主要目的是为了对控件进行分组标准答案:C知识点解析:框架是一个容器控件,用于将屏幕上的对象分组。框架常用的事件是Click和DblClick,它不接受用户输入,不能显示文本和图形,也不能与图形相连。14、数据库系统的三级模式不包括()。A、概念模式B、内模式C、外模式D、数据模式标准答案:D知识点解析:数据库系统的三级模式是概念模式、外模式和内模式,所以选择D。15、有如下过程代码:Subvar_dim()StaticnumaAsIntegerDimnumbAsIntegernuma=numa+2numb=numb+1printnuma;numbEndSub连续3次调用var_dim过程,第3次调用时的输出是()。A、21B、23C、61D、63标准答案:C知识点解析:Static声明的变量为静态变量,静态变量在程序运行期间,每次进入过程时都会保留上次的值,而普通变量不会保留。numa定义为静态变量,因此每次调用都会保留结果,3次调用过程,numa的值为6,numb的值为1。16、窗体如图1所示。要求程序运行时,在文本框Text1中输入一个姓氏,单击"删除"按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现此功能:PrivateSubCommand1_Click()PrivateSubCommand1_Click()Dimn%,k%n=Len(Text1.Text)Fork=0ToListl.ListCount-1IfLeft(List1.List(k),n)=Text1.TextThenList1.RemoveItemkEndIfNextkEndSub在调试时发现,如输入"陈",可以正确删除所有姓"陈"的项目,但输入"刘",则只删除了"刘邦"、"刘备"2项,结果如图2所示。这说明程序不能适应所有情况,需要修改。正确的修改方案是把Fork=0ToList1.ListCount-1改为()。A、Fork=List1.ListCount-1To0Step-1B、Fork=0ToList1.ListCountC、Fork=1ToList1.ListCount-1D、Fork=1ToList1.ListCount标准答案:A知识点解析:错误原因:每一次删除列表框满足项,列表框的项目数目就会相应地减少,所以就出现了漏删内容,如果把循环变量k改成从List1.ListCout-1到0,从最后一个项目往第一个项目查找,满足条件就删除该项目,从而不会出现遗漏现象,所以正确答案为A。17、为了使标签控件在显示其内容时不覆盖其背景内容,需进行设置的属性为()。A、BackColorB、BorderStyleC、ForeColorD、BackStyle标准答案:D知识点解析:标签控件的BackStyle属性值为0时,标签为透明的,不会遮住背景内容,BackStyle属性值为1时,标签将覆盖背景。18、在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下事件过程:PrivateSubCommand1_Click()Dimarr(10)Fori=6To10arr(i)=i-5NextiLabel1.Caption=arr(0)+arr(arr(10)/arr(6))EndSub运行程序,单击命令按钮,则在标签中显示的是()。A、0B、1C、2D、3标准答案:C知识点解析:程序为使用For语句为数组中部分元素赋值,没显示赋值的数组元素的值默认为0,因此arr(0)=0,arr(10)=10-5=5,arr(6)=6-5=1,arr(arr(10)/arr(6))即,arr(5/1)=arr(5)=0,arr(0)+arr(5)=0+0=0。因此标签中显示为0。19、编写如下程序代码:PrivateSubCommandl—Click()CallsubproEndSubSubsub_pro()StaticsumAsIntegerDimiAsIntegerFori=1To10Step2sum=sum+iNextPrintsumEndSub程序运行后,第三次单击命令按钮Commandl时,输出结果为()。A、25B、75C、55D、165标准答案:B知识点解析:在过程sub_pro中定义了一个静态整型变量sum,与Dim定义变量不同的是,用Static定义的变量,过程在被多次被调用时,其值可以继续保留。过程中使用的for循环的功能是:对1到10之间的所有奇数进行求和,将结果保留到变量sum中。程序3次单击按钮,则过程sub_pm过程被调用3次,第1次静态变量sum的值为25;第2次调用sub_pro过程时,第1次sum的值被保留,静态变量sum第2次的值为50;第3次调用sub_pro过程时,第2次sum的值被保留,静态变量sum第3次的值为75;故最终变量sum的值为75,B选项正确。本题选择B选项。20、下列关于栈的叙述中,正确的是A、栈底元素一定是最后入栈的元素B、栈顶元素一定是最先入栈的元素C、栈操作遵循先进后出的原则D、以上说法均错误标准答案:C知识点解析:栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或"后进先出"表,所以选择C。21、有下面程序代码:PrivateSubCommand1_Click()Fork=5To1Step-1x=k+x*10NextkPrintxEndSub程序运行后,单击命令按钮Command1,输出结果是A、12345B、54321C、15D、150标准答案:B知识点解析:For循环用来对x赋值。步长为-1,一共执行5次,第一次执行完后x=5,第二次执行完后x=54,以此类推,选B)。22、有下面程序代码:PrivateSubCommand1_Click()a=Array(1,2,3,4,5,6,7,8,9,10)n=UBound(a)Fork=0ToUBound(a)/2Printa(k)*a(n);n=n-1NextkEndSub程序运行后,单击命令按钮Command1,输出结果是A、26122030B、212205690C、3028241810D、1018242830标准答案:D知识点解析:UBound获取数组a的上标值,n=9。For循环边界为0至4。每次执行For的循环体时均会进行打印。选D)。23、下列关于标签的描述中,错误的是A、标签可以响应Click事件B、标签不能响应DblClick事件C、为了使标签的WordWrap属性起作用,必须将其AutoSize属性设置为TrueD、标签上显示的文本就是Caption属性的值标准答案:B知识点解析:标签可以响应Click事件和DblClick事件。选B)。24、下列叙述中正确的是A、栈与队列都只能顺序存储B、循环队列是队列的顺序存储结构C、循环链表是循环队列的链式存储结构D、栈是顺序存储结构而队列是链式存储结构标准答案:B知识点解析:栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构,B选项正确。25、一个工程中包含两个名称分别为Form1、Form2的窗体、一个名称为Func的标准模块。假定在Form1、Form2和Func中分别建立了自定义过程,其定义格式为:Form1中定义的过程:PrivateSubFunl()EndSubForm2中定义的过程:PrivateSubFun2()EndSubFunc中定义的过程:PrivateSubFun3()EndSub在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是()。A、上述3个过程都可以在工程中的任何窗体或模块中被调用B、Funl和Fun2过程能够在工程中各个窗体或模块中被调用C、上述3个过程都只能在各自被定义的模块中调用D、只在Fun3过程能够被工程中各窗体或模块调用标准答案:C知识点解析:本题考查过程的作用域。在定义过程或者函数的时候选用了Private关键字说明,那么这个过程仅可以在本模块中使用,标准模块定义的函数或者过程也不例外。26、窗体上有一个名称为Text1的文本框;一个名称为Timer1的计时器控件,其Interval属性值为5000,Enabled属性值是True。Timer1的事件过程如下:PrivateSubTimer1_Timer()StaticflagAsIntegerIfflag=0Thenflag=1flag=-flagIfflag=1ThenText1.ForeColor=&HFF&’&HFF&为红色ElseText1.ForeColor=&HC000&’&HC000&为绿色EndIfEndSub以下叙述中正确的是()。A、每次执行此事件过程时,flag的初始值均为0B、flag的值只可能取0或1C、程序执行后,文本框中的文字每5秒改变一次颜色D、程序有逻辑错误,Else分支总也不能被执行标准答案:C知识点解析:程序中flag被定义为Static变量,它的值只在第一次执行事件过程时为0,以后每次执行计时器事件过程它的值都会保留上次过程中运算后的值,之后它的值是1或-1。文本框控件的ForeColor属性表示文本框中文字的颜色,计时器控件的Interval属性为5000,即计时器间隔为5秒钟一次,每次调用就会交替改变文本框中文字的颜色。因此C选项正确。27、在Form1窗体上有一个菜单项,名称为Menu,它有自己的子菜单。若希望在鼠标右键单击窗体时能够弹出Menu的子菜单,某人编写了下面的事件过程:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenMenuPopupMenuEndIfEndSub但调试时发现不能达到目的,需要修改程序,下面正确的修改方案是A、把IfButton=2Then改为IfButton=1ThenB、把过程名改为Form1_MouseDownC、把MenuPopupMenu改为PopupMenuD、把MenuPopupMenu改为PopupMenuMenu标准答案:D知识点解析:PopupMenu方法用来显示弹出式菜单,PopupMenu后接菜单名。菜单名是在菜单编辑器中定义的主菜单项名,故选项D正确,C选项错误。对于两个键的鼠标来说,左键的Button参数值为1,右键的Button参数值为2,因此,若鼠标右键单击窗体时能够弹出Menu的子菜单,IfButton=2条件语句正确,故A选项错误。故本题答案为D项。28、下面不属于黑盒测试方法的是A、边界值分析法B、基本路径测试C、等价类划分法D、错误推测法标准答案:B知识点解析:常用的黑盒测试方法和技术有:等价类划分法、边界值分析法、错误推测法和因果图等。基本路径测试属于白盒测试,故正确答案为B选项。29、下面肯定是一个整型变量的是A、x%B、Int_xC、x$D、x#标准答案:A知识点解析:选项B中,x也可能是字符类型;选项C中,$是字符串类型符;选项D中,#是双精度浮点数类型符。故正确答案为选项A。30、设通用对话框的名称为CommonDialog1,执行语句CommonDialog1.Action=3,则打开的对话框是A、颜色对话框B、字体对话框C、打开文件对话框D、保存文件对话框标准答案:A知识点解析:通用对话框CommonDialog的Action属性设置为3,表示打开颜色对话框。故正确答案为选项A。31、在VisualBasic中,不能关闭的窗口是A、窗体设计器窗口B、工程窗口C、属性窗口D、立即窗口标准答案:B知识点解析:在VisualBasic中,不能关闭的窗口是工程窗口。32、窗体的MouseUp事件过程如下:PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)……EndSub关于以上定义,以下叙述中错误的是()。A、根据Shift参数,能够确定使用转换键的情况B、根据X、Y参数可以确定触发此事件时鼠标的位置C、Button参数的值是在MouseUp事件发生时,系统自动产生的D、MouseUp是鼠标向上移动时触发的事件标准答案:D知识点解析:MouseUp事件是鼠标松开时触发的事件过程,事件过程的Button参数值由系统产生,为被按下的键,Shift参数表示Shift、Ctrl和Alt键的状态,X、Y参数表示光标的当前位置。33、A、各子菜单项组成一个名称为mnu1的控件数组B、不论选中菜单项1、2或3,均执行mnu1_Click事件过程C、Case2分支的语句没有必要,因为该菜单项的"复选"属性已被设置D、程序中的Index是系统自动产生的标准答案:C知识点解析:菜单项1至菜单项3是名称为mnu1的控件数组,系统自动产生索引分别为1,2,3。由于是控件数组的原因,在选中菜单项1至3中任何一项,都会执行mnu1_Click事件过程。选C)。34、一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是A、1,2,3,A,B,CB、C,B,A,1,2,3C、C,B,A,3,2,1D、1,2,3,C,B,A标准答案:C知识点解析:栈的修改是按后进先出的原则进行的,所以顺序应与入栈顺序相反,故选C。35、现有如下一段程序:PrivateSubCommand1_Click()x=UCase(InputBox("输入:"))SelectCasexCase"A"To"C"Print"考核通过!"Case"D"Print"考核不通过!"CaseElsePrint"输入数据不合法!"EndSelectEndSub执行程序,在输入框中输入字母"B",则以下叙述中正确的是()。A、程序运行错B、在窗体上显示"考核通过!"C、在窗体上显示"考核不通过!"D、在窗体上显示"输入数据不合法!"标准答案:B知识点解析:程序中Ucase函数将输入的字母转换为大写,然后通过Select多分支控制语句选择输出不同信息,当输入字母在"A"到"C"之间时,显示"考核通过!",输入的是"D"时显示"考核不通过!",如果输入的是"A"到"D"之外的其他字符则显示"输入数据不合法!"。程序中输入字母"B",因此会显示"考核通过!"。36、程序运行时,拖动滚动条上的滚动框,则所触发的事件是A、MoveB、ScrollC、DragD、DragDrop标准答案:B知识点解析:在滚动条内拖动滚动框时,触发产生Scroll事件。37、编写如下程序:DimnumAsInteger,rAsInteger,nAsInteger,iAsIntegerDimarr(5)AsIntegerPrivateSubCommand1_Click()num=12:r=2Callsub1(num,r,n)Fori=nTo1Step-1Printarr(i);NextiEndSubSubsub1(dAsInteger,rAsInteger,kAsInteger)k=0DoWhiled<>0k=k+1arr(k)=dModrd=d\rLoopEndSub程序运行后,单击命令按钮Command1,输出结果为A、1100B、0011C、0101D、1010标准答案:A知识点解析:sub1函数对全局数组arr元素赋初值,sub1函数参数传递均为默认的引用传递。因此执行完后n值被修改。Command1_Click()事件中的For循环对arr数组元素进行倒序输出。选A)。38、在软件开发中,需求分析阶段产生的主要文档是()。A、软件集成测试计划B、软件详细设计说明书C、用户手册D、软件需求规格说明书标准答案:D知识点解析:需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个方面。所以选择D39、下面属于黑盒测试方法的是A、语句覆盖B、逻辑覆盖C、边界值分析D、路径覆盖标准答案:C知识点解析:黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为C。而A、B、D均为白盒测试方法。40、窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。命令按钮的单击事件过程如下:PrivateSubCommand1_Click()Dimx1AsInteger,x2AsInteger,x3AsIntegers=Trim(Text1.Text)strLen=Len(s)Fori=1TostrLenc=Mid(s,i,1)SelectCasecCase"0"To"9"x1=x1+1Case"A"To"Z"x2=x2+1Case"a"To"z"x3=3+1CaseElsex4=x4+1EndSelectNextPrint"x1";x1,"x2";x2,"x3";x3,"x4";x4EndSub以下关于上述程序的叙述中,正确的是A、s是去掉文本框中字符串末尾的空格B、SelectCasec有误,Case后应该是一个表达式C、各Case分支条件有误,不能用To表示字符的取值区间D、x4是字符串中非字母、非数字字符的个数标准答案:D知识点解析:Trim函数是去掉字符串前面和后面的空格,A)错。SelectCase语句的测试表达式,可以是算术表达式或字符表达式,其值应是数字或字符型,B)错。Case语句可以是连续的范围:界1To界2,如:12To20,C)错。x4是排除了字符串中字母、数字字符的个数的和。选D)。二、基本操作题(本题共2题,每题1.0分,共2分。)请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。41、在名称为Form1的窗体上画一个名称为CD1的通用对话框,通过属性窗口设置CD1的初始路径为C:\,默认的文件名为None,标题为“保存等级考试”,如图2所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。标准答案:[操作步骤]步骤1:新建一个“标准。EXE”工程,选择[工程]→[部件]命令,在弹出的“部件”对话框的列表中选中“MicroSoftCommonDiMogControl6.0”项目,单击“确定”按钮。步骤2:在窗体Form1上画一个通用对话框,其相关属性设置如表12—7所示。步骤3:编写Form1的Iroad事件,加入下面的代码:CD1.ShowSave步骤4:按要求将文件保存至考生文件夹中。知识点解析:通用对话框的InitDir属性用于为打开或另存为对话指定初始的目录,如果此属性没有指定,则使用当前目录。通用对话框的初始路径由InitDir属性设置,默认文件名由FileName属性设置,标题由DialogTitle属性设置。42、在名称为Form1的窗体上设计一个菜单。要求在窗体上添加名为menu0,标题为“菜单命令”的主菜单,再添加两个名称分别为“menu1”、“menu2”,标题分别为“不可用菜单项”、“上一菜单项可用”的子菜单,并且使程序运行时,menu1子菜单不可用,menu2子菜单已经选中(运行时的效果如图3所示)。再编写适当的事件过程,使得程序运行时,单击“上一菜单项可用”,则“不可用菜单项”变为黑色(可用)。要求程序中不得使用变量,且只有一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名为sit2.vbp,窗体文件名为sit2.Frm。标准答案:[操作步骤]步骤1:新建一个“标准EXE”工程,打开VB菜单设计器设计菜单,各菜单项及属性设置如表12—8所示。步骤2:打开代码编辑窗口,编写“上一菜单项可用”命令的Click事件过程。参考代码:PrivateSubmenu2_Click()menu1.Enabled=TrueEndSub步骤3:按要求将文件保存至考生文件夹中。知识点解析:①VB中的菜单是通过菜单编辑器来设计的。菜单编辑器中的基本设置项有:“标题”项,对应出现在菜单中的显示内容;“名称”项,系统识别菜单项的唯一关键字(不能重复);“索引”项,用于设置菜单数组中各元素的索引号;“快捷键”项,是一个下拉列表框,用于设置菜单项的快捷键;“帮助上下文”项,设置当鼠标移动到某菜单项上按<Fl>键时显示的帮助信息在帮助文件中的对应位置;Visible(可见)项,用于设置控件或菜单项在程序运行时是否可见,值为True表示可见,值为False表示不可见;Enabled(有效)项,用于设置控件或菜单项在程序运行时是否有效,值为True时表示有效,值为False时表示无效(显示为灰色)。通过编辑按钮区的七个按钮可对菜单进行添加、插入、删除、提升(设置为上一级菜单)、缩进(设置为下一级菜单)、上移、下移等操作。②文本框的Text属性用于设置或返回其显示的文本内容。本题原程序设计思路:在“上一菜单项可用”命令的单击事件过程中,通过语句设置“不可用菜单项”命令的Enabled属性值为True。三、简单应用题(本题共1题,每题1.0分,共1分。)43、(1)在考生文件夹下有一个工程文件sjt3.vbp。其窗体文件上有一个标题为“得分”的框架,在框架中有一个名称为Text1的文本框数组,含6个文本框控件;文本框Text2用来输入难度系数。程序运行时,在左边的6个文本框中输入6个得分,输入难度系数后,单击“计算分数”按钮,则可计算出最后得分并显示在文本框Text3中(如图所示)。计算方法:去掉1个最高得分和1个最低得分,求剩下得分的平均分,再乘以3,再乘以难度系数。最后结果保留到第2位小数,不四舍五入。注意:文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,考生不能修改程序中的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件sjt4.vbp。窗体上的控件如图所示。程序运行时,若选中“累加”单选按钮,则“10”、“12”菜单项不可用,若选中“阶乘”单选按钮,则“1000”、“2000”菜单项不可用(如图所示)。选中菜单中的一个菜单项后,单击“计算”按钮,则相应的计算结果在文本框中显示(例如,选中“累加”和“2000”,则计算1+2+3+…+2000。选中“阶乘”和“10”,则计算10!)。单击“存盘”按钮则把文本框中的结果保存到考生文件夹下的out4.dat文件中。要求:编写“计算”按钮的Click事件过程。注意:不得修改已经存在的程序,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。标准答案:(1)【操作步骤】步骤1:打开本题工程文件。步骤2:打开代码编辑窗口,去掉程序中的注释符“’”,将问号改为正确的内容。参考答案(画线部分是需考生填入的内容)PrivateSubCommand1_Click()DimkAsInteger,sAsSingle,aAsSingle,bAsSinglea=Val(Text1(0).Text)’将第一个文本框的值作为最大值赋予as=ab=a’将第一个数作为最小值赋予bFork=1To5’剩余文本框作为循环次数的条件s=s+Val(Textl(k).Text)Ifa<Val(Text1(k).Text)Then’取出每个文本框的值与最大值比较,求最大值a=Val(Text1(k).Text)EndIfIfb>Val(Text1(k).Text)Thenb=Val(Text1(k).Text)EndIfNextks=(s—a—b)/4’根据要求去掉一个最高分和一个最低分后求四科的平均分s=s*3*Val(Text2.Text)’根据题意此处应填平均分Text3=Int(s*100)/100’Int(N)是求小于或等于N的最大整数,同时将最后结果显示在Text3上EndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。(2)【操作步骤】步骤1:打开本题工程文件;步骤2:打开代码编辑窗口,在指定位置编写如下代码。参考答案PrivateSubCommand1_Click()DimiAsIntegerDimjAsIntegerDimmAsLongDimsumAsLongm=1Ifn=10Orn=12Then’通过判断n的值。可确定使用什么操作Fori=2Tonm=i*mNexti’求n的阶乘Text1.Text=mEndIfsum=0Ifn=2000Orn=1000ThenForj=1Tonsum=sum+jNextj’求1到n的和Text1.Text=sumEndIfEndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:(1)通过Val()函数获取文本框数组的值,并把它转换为数值型,通过循环语句和判断语句,找出最大值和最小值赋值给变量a和b,同时累加所有数值的和赋值给s,那么最终的和为s—a—b,根据算法求剩下得分的平均分,乘以3,再乘以Text2中输入的难度系数,得出最终的得分。(2)本题的语句比较多,先看一下程序实现的过程,通过单选按钮决定是进行阶乘还是累加运算,并确定4个菜单项的Enabled属性,在菜单项的Click事件过程中,设置n的值,运用If判断语句判断n值,进行累加或阶乘运算,然后通过文件编辑实现存盘操作。四、综合应用题(本题共1题,每题1.0分,共1分。)44、在考生文件夹卜有一个工程文件sjt5.vbp。在窗体文件中已经给出了全部控件及部分程序。程序运行时,在文本框Text1中输入一个大于2的偶数,并单击“分解为”命令按钮,则可以将该偶数分解为两个素数之和,且要求其中一个素数是所能够分解出的最小的素数(一个偶数有时可以分解为多种素数的组合,例如24可以分解为5和19,也可以分解为11和13,要求取含有最小素数的组合,如图所示)。要求编写“分解为”命令按钮事件过程中“考牛编写程序开始”和“考生编写程序结束”之间的代码,以实现上述功能。过程IsPrime用来判断一个数是否为素数,如果是,返同值为True,否则返回值为False。注意:不得修改原有程序和控件的属性。至少正确运行一次程序,且程序运行时在文本框中输入23456,单击“分解为”按钮,将结果显示在标签中,否则将没有成绩,最后将修改后的文件按原文件名存盘。标准答案:步骤1:打开本题工程文件。步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。Fori=1ToVal(Textl.Text)’i从1开始,第一个找到的肯定就是满足务件的最小素数IfIsPrime《i)AndIsPrime(Val(Text1.Text)-i)Then’判定两个数是否都满足素数条件Labe11=iLabe12=Val(Text1.Text)-iExitForEndIfNexti步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:FunctionIsPrime()函数用来判断一个数是否为素数,在处理循环变量的上限时,为了节约循环的次数,设置为Sqr(x)为x的平方根,如果x能被循环变量的值整除,IsPrime()函数的返回值为False,x就不是素数。在Command1—Click事件过程中,通过调用函数判断是否为素数。只要出现一组数据满足条件,就停止。For循环,这样可以保证是最小的素数。国家二级(VB)机试模拟试卷第2套一、选择题(本题共40题,每题1.0分,共40分。)1、在软件生产过程中,需求信息的来源是()。A、程序员B、项目经理C、设计人员D、软件用户标准答案:D知识点解析:软件需求是指用户对目标软件系统在功能、性能、设计约束等方面的要求,是由用户提出的。2、数据库的故障恢复一般是由()来执行恢复。A、电脑用户B、数据库恢复机制C、数据库管理员D、系统普通用户标准答案:C知识点解析:数据库一旦发生故障,需要及时进行故障恢复,并由数据库管理员负责执行故障恢复。3、窗体上有一个名称为HScroll1的滚动条,程序运行后,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是()。A、PrivateSubHScroll1_Change()PrintHScroll1.ValueEnd.SubB、PrivateSubHScroll1_Change()PrintHScroll1.SmallChangeEndSubC、PrivateSubHScroll1_Scroll()PrintHScroll1.ValueEndSubD、PrivateSubHScroll1_Scroll()PrintHScroll1.SmallChangeEndSub标准答案:A知识点解析:根据题意可知,用户的操作是单击滚动条两端的箭头,故触发的是滚动条的Change事件;在窗体上显示的是滚动框的位置,即滚动条的当前刻度值,Value属性值可返回这个值,综合一下,故A选项正确。4、命令按钮Command1的单击事件过程如下:PrivateSUbCommand1_Click()Dima(10,10)AsIntegerx=0Fori=1To3Forj=1To3a(i,j)=i*2ModjIfxA、1B、2C、3D、4标准答案:B知识点解析:题目中定义了一个二维数组,为数组赋初值并找出这些值中最大的值输出。数组中的值为:a(1,1)=1*2mod1=0a(1,2)=1*2mod2=0a(1,3)=1*2mod3=2a(2,1)=2*2mod1=0a(2,2)=2*2mod2=0a(2,3)=2*2mod3=1a(3,1)=3*2mod1=0a(3,2)=3*2mod2=0a(3,3)=3*2mod3=0显然最大值为2,因此Printx语句将在窗体上显示2。5、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。A、软件矛盾B、软件危机C、软件藕合D、软件产生标准答案:B知识点解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。6、以下关于过程及过程参数的描述中,错误的是()。A、调用过程时可以用控件名称作为实际参数B、用数组作为过程的参数时,使用的是"传地址"方式C、只有函数过程能够将过程中处理的信息传回到调用的程序中D、窗体(Form)可以作为过程的参数标准答案:C知识点解析:过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故A、D选项正确。调用过程时,如果过程的参数是数组,则实参传给形参的是地址,这个地址是用数组名表示的一个符号地址,是数组的起始地址,形参和实参用的是同一个地址,在过程中形参的改变会引起实参的改变。故B选项正确。在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中,Sub过程也可以。Sub过程中形参声明时前面有关键字ByRef或省略ByRef(默认)时,实参和形参之间传递的是地址,Sub过程中形参的变化也会引起实参的变化,这样Sub过程中处理的信息也可以传回调用程序中。故C选项说法错误。7、表达式Int(8*Sqr(36)*10^(-2)*10+0.5)/10的值是()。A、0.48B、0.048C、0.5D、0.05标准答案:C知识点解析:本题考查运算符的优先级;首先计算函数调用,算术运算符优先级从高到低为:()^-、*/、+.,因此首先计算sqr(36),然后计算0括号内部的负号和平方运算符,接着计算*和+,然后计算Int取整,最后计算/运算符。8、有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为()。A、选择B、投影C、插入D、连接标准答案:B知识点解析:投影运算是指对于关系内的域指定可引入新的运算。本题中S是在原有关系R的内部进行的,是由R中原有的那些域的列所组成的关系。所以选择B。9、下列选项中不属于软件生命周期开发阶段任务的是()。A、软件测试B、概要设计C、软件维护D、详细设计标准答案:C知识点解析:软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。10、在窗体上画一个名称为Text1的文本框,然后画一个名称为Hscroll1的滚动条,其Min和Max属性分别为0和1000。程序运行后,如果移动滑块,则在文本框中显示滚动条的当前值。以下能实现上述操作的程序是()。A、PrivateSubHscroll1_Change()Text1.Text=HScroll1.ValueEndSubB、PrivateSubHscroll1_Click()Text1.Text=HScroll1.ValueEndSubC、PrivateSubHscroll1_Change()Text1.Text=Hscroll1.CaptionEndSubD、PrivateSubHscroll1_Click()Text1.Text=Hscroll1.CaptionEndSub标准答案:A知识点解析:本题考查滚动条的事件和属性。滚动条上滑块的位置决定了其Value属性的值,当滑块的位置发生改变时,将触发滚动条的Change事件。因此,要想在移动滑块时,在文本框中显示滚动条的当前值,可通过在滚动条的Change事件中将滚动条的Value属性值赋值给文本框的Text属性来实现。11、在窗体上画一个文本框,然后编写如下事件过程:PrivateSubText1_KeyPress(KeyAsciiAsInteger)DimcharAsStringchar=Chr(KeyAscii)KeyAscii=Asc(UCase(char))Text1.Text=String(6,KeyAscii)EndSub程序运行后,如果在键盘上输入字母“a”,则文本框中显示的内容为()。A、aB、AC、aaaaaaD、AAAAAA标准答案:D知识点解析:本题考查KeyPress事件过程和字符串函数。KeyPress事件的过程格式为:Subobject_KeyPress([IndexAsInteger,]KeyAsciiAsInteger),其中KeyAscii为字符ASCII码。当在文本框中输入字符a后,UCase函数把输入的字符转化为大写字符,Asc函数则把字符转化为ASCII码值。String函数则产生6个同样的字符A。12、下面的程序执行时,将把当前目录下的顺序文件smtextl.txt的内容读入内存,并在文本框Textl中显示出来。在横线处应填写()。PrivateSubCommandl_Click()Dimin.DataAsStringTextl.Text=-”“Open”.\smtextl.txt”_________________As#lDoWhile__________________Input#1,inDataTextl.Text=TeXtl.Text&inDataLoopClose#lEndSubA、Input(EOF(1))B、Input(NotEOF(1))C、Append(NotEOF(1))D、Append(EOF(1))标准答案:B知识点解析:考查文件的操作。程序首先要以读文件的方式(Input)打开文件,题中说明这是个顺序文件,那么如果文件指针没有到文件尾(EOF(1)的值为False),就要从文件中读出数据,所以循环条件应以是否到文件尾为依据,判断是否继续循环。13、设a=10,b=5,c=1,执行语句Printa>b>c后,窗体上显示的是()。A、TrueB、FalseC、1D、出错标准答案:B知识点解析:本题中Print语句中的表达式只有“>”运算符,相同优先级,左结合。先计算a>b,即10>5,值为True,(即一1),再计算一1>1,结果为False。故B选项正确。14、下列选项中,不属于数据库管理的是()。A、数据库的建立B、数据库的调整C、数据库的监控D、数据库的校对标准答案:D知识点解析:数据库管理一般包括:数据库的建立、数据库的调整、数据库的重组、数据库的安全性控制与完整性控制、数据库的故障恢复和数据库的监控。15、下列程序段的执行结果为()。x=Int(Rnd+4)SelectCasexCase5:Print"AClass"Case4:Print"BClass"Case3:Print"CClass"CaseElse:Print"DClass"EndSelectA、AClassB、BClassC、CClassD、DClass标准答案:B知识点解析:本题考查多分支选择语句Select。Rnd函数产生(0,1)之间的随机数,“Int(参数)”函数的作用是产生不大于参数的整数,可以计算出x的值为4。因此将执行Select语句中Case4后面的分支语句,输出BClass。16、以下关于VB文件的叙述中,错误的是()。A、标准模块文件不属于任何一个窗体B、工程文件的扩展名为.frmC、一个工程只有一个工程文件D、一个工程可以有多个窗体文件标准答案:B知识点解析:工程文件的扩展名为.vbp,故B选项错误。17、设有窗体的Form_MouseMove事件过程如下:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)If(ButtonAnd3)=3ThenPrint"检查按键"EndIfEndSub关于上述过程,以下叙述中正确的是()。A、按下鼠标左键时,在窗体上显示“检查按键”B、按下鼠标右键时,在窗体上显示“检查按键”C、同时按下鼠标左、右键时,在窗体上显示“检查按键”D、不论做何种操作,窗体上都不会显示标准答案:C知识点解析:MoseMove事件中的Button表示鼠标所有按键的状态。用0、1、2三个位表示左、右、中键,当按下某个键时,相应位是1,否则是0。三位的二进制数也可转换为十进制数,作为Button的值。如表:本题中当Button值为011或111时,(ButtonAnd3)=3,条件才成立,窗体上显示“检查按键”。这说明只要同时按下鼠标的左右键时,在窗体上就显示“检查按键”。故选C。18、为了使一个复选框被禁用(灰色显示),应把它的Value属性设置为()。A、0B、1C、2D、False标准答案:C知识点解析:复选框的Value属性可以设置为0、1或2。0表示没有选择该复选框,1表示选中该复选框,2表示该复选框被禁用(灰色显示)。19、窗体上有一个名称为Command1的命令按钮,事件过程如下:PrivateSubCommand1_Click()Dimarr_x(5,5)AsIntegerFori=1To3Forj=2To4arr_x(i,j)=i*jNextjNextiPrintarr_x(2,1);arr_x(3,2);arr_x(4,3)EndSub运行程序,并单击命令按钮,窗体上显示的内容为()。A、060B、260C、0612D、2612标准答案:A知识点解析:程序定义了一个二维数组,然后利用For循环对其中部分元素赋值,没有得到赋值的元素值为0。赋值元素的第1维范围是1~3,第2维范围是2~4。因此在输出语句中,arr_x(2,1)第2维不在赋值范围所以此元素值=0,arr_x(3,2)两维都在赋值范围内所以此元素值为3]。20、下面不是键盘事件的是()。A、KeyDownB、KeyUpC、KeyPressD、KeyCode标准答案:D知识点解析:KeyCode是KeyrDown、KeyUp键盘事件的参数,不是键盘事件,它返回的是按键相应的ASCIl字符代码。故选项D错误。21、编写如下程序代码:OptionBase1PrivateSubForm_Click()Dimx.tDimiAsIntegerDimnAsIntegerx=Array(一8,20,15,10,一30,13,17)n=UBound(x)Fori=1Ton/2t=x(i)X(i)=x(n—i+1)x(n—i+1)=tNextiPrintx(n)EndSub当程序运行时,单击窗体产生的输出结果为()。A、20B、17C、lOD、一8标准答案:D知识点解析:在程序开始之前,使用OptionBase1语句声明数组下标从1开始。在Form_Click事件过程中定义了默认数组x,然后使用Array函数给数组元素赋值,UBound函数可以获得数组下标的上限值,然后赋值给变量n,n=7。在For循环中变量i的初始值为1终止值为n/2,For循环体语句的功能是对数组首尾两个数进行互换,循环结束后数组中的元素依次为(17,13,一30,10,15,20,一8),故最后输出x(n)的值为数组最后一个元素的值,D选项正确。本题选择D选项。22、下列排序方法中,最坏情况下时间复杂度(即比较次数)低于O(n2)的是()。A、快速排序B、简单插入排序C、冒泡排序D、堆排序标准答案:D知识点解析:对长度为n的线性表排序,下表为常用排序方法最坏情况的时间复杂度。时间复杂度低于O(n2)的排序算法是堆排序,D选项正确。23、以下声明数组和给数组赋值的语句中,正确的是()。A、DimxAsVariantx=Array(1,2,3,4,5,6)B、Dimx(6)AsStringx="ABCDEF"C、Dimx(6)AsIntegerx=Array(1,2,3,4,5,6)D、Dimx(2),y(2)AsIntegerx(0)=1:x(1)=2:x(2)=3y=x标准答案:A知识点解析:A选项为定义一个默认数组,数组名为x,然后通过Array函数对数组进行初始化,A选项正确;B选项定义一个一维字符串类型的数组,且将字符串赋值给数组名,这种赋值方式不正确;C选项中,定义了一个一维整型数组,然后试图使用Array函数为一维数组赋值,但是这种赋值方式只适用于变体类型的数组,即定义数组的方式为:“DimxAsVariant”,故C选项错误;D选项中将数组x通过赋值语句赋值给数组y,这种赋值方式是错误的,故本题只有A选项是正确声明和对数组元素进行赋值。本题选择A选项。24、一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的A、记录B、行C、属性D、元组标准答案:C知识点解析:自然连接是一种特殊的等值连接,它满足下面的条件:①两关系间有公共域;②通过公共域的等值进行连接,选C。25、下面属于黑盒测试方法的是A、语句覆盖B、逻辑覆盖C、边界值分析D、路径覆盖标准答案:C知识点解析:黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为C。而A、B、D均为白盒测试方法。26、表达式Int(-15.8)+Fix(-15.8)+Int(15.8)+Fix(15.8)的运算结果是()。A、-1B、-2C、0D、1标准答案:A知识点解析:本题考查函数Int的功能,Int(x)的作用是取不大于x的最小的整数,Fix(x)则是简单的取整数部分。27、数据管理技术发展的三个阶段中,()没有专门的软件对数据进行管理。Ⅰ.人工管理阶段Ⅱ.文件系统阶段Ⅲ.数据库阶段A、仅ⅠB、仅ⅢC、Ⅱ和ⅠD、Ⅱ和Ⅲ标准答案:A知识点解析:数据管理技术发展的三个阶段中,只有人工管理阶段,没有操作系统,没有管理数据的软件,数据处理方式是批处理。在文件系统阶段,操作系统中已经有了专门数据管理软件,一般称为文件系统。在数据库系统阶段,出现了统一管理数据的专门软件系统,即数据库管理系统。28、下列关于菜单项的描述中,错误的是A、通过内缩符号(....)设置菜单项的层次B、通过Enabled属性设置菜单项的有效性C、菜单项的索引号可以不连续D、菜单项的索引号必须从1开始标准答案:D知识点解析:菜单项的索引号不要求必须从1开始。29、窗体上有2个名称分别为Text1和Text2的文本框,1个名称为Command1的命令按钮。单击Command1时,Text1中选中的文本将显示在Text2中。下列能实现上述操作的事件过程是A、PrivateSubCommand1_Click()Text2.Text=Mid(Text1.Text,Text1.SelStart,Text1.SelLength)EndSubB、PrivateSubCommand1_Click()Text2.Text=Mid(Text1.Text,,Text1.SelLength,Text1.SelStart)EndSubC、PrivateSubCommand1_Click()Text2.Text=Mid(Text1.Text,Text1.SelStart+1,Text1.SelLength)EndSubD、PrivateSubCommand1_Click()标准答案:C知识点解析:SelfStart定义当前选择的文本的起始位置,0表示选择的开始位置在第一个字符之前,1表示从第二个字符之前开始选择,以此类推。SlefLength是表明当前选中的字符数,当SelfLength属性值为0时,则表示未选中任何字符。Mid(s,n1,n2)是字符串截取函数,从s的第n1个字符开始,向后截取n2个字符,,其中n2可省略,省略时,就是截取s的第n1个字符以后的所有字符。C项中的Mid(Text1.Text,Text1.SelStart+1,Text1.SelLength)返回文本框中选中的文本。这是因为从文本框的文本字符串中,截取从第SelStart+1的位置截取,即从选中的开始位置截取,SelfLength长度的字符串,故C项正确。A、D项把开始截取的位置弄错了,A项多截取了一个字符,D项多截取两个字符,故A、D项错误,B项弄错了Mid函数的参数位置。30、有两个关系R与S如下,由关系R和S得到关系T,则所使用的操作为A、并B、自然连接C、笛卡尔积D、交标准答案:C知识点解析:用于查询的3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡尔积。常用的扩充运算有交、除、连接及自然连接等。并:RS是将S中的记录追加到R后面。交:RS结果是既属于R又属于S的记录组成的集合。上述两种操作中,关系R与S要求有相同的结构,故A、D选项错误。自然连接:去掉重复属性的等值连接。自然连接要求两个关系中进行,比较的是相同的属性,并且进行等值连接,本题中结果T应为空,B选项错误。若T为笛卡尔积,结果为5元关系,元组个数为4,且计算结果与题目相符,C选项正确。31、某二叉树中有15个度为1的结点,16个度为2的结点,则该二叉树中总的结点数为A、32B、46C、48D、49标准答案:C知识点解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。由16个度为2的结点可知叶子结点个数为17,则结点结点总数为16+17+15=48,C选项正确。32、为了用键盘打开菜单和执行菜单命令,第一步应按的键是()。A、功能键F10或AltB、Shift+功能键F4C、Ctrl或功能键F8D、Ctrl+Alt标准答案:A知识点解析:按F10或Alt键可激活菜单,焦点聚焦到菜单栏上,进而可用键盘打开菜单和执行菜单命令。故选A。33、设窗体上有一个标签Label1和一个计时器Timer1,Timer1的Interval属性被设置为1000,Enabled属性被设置为True。要求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是()。A、PrivateSubTimer1_Timer()Label1.Caption=TrueEndSubB、PrivateSubTimer1_Timer()Label1.Caption=Time$EndSubC、PrivateSubTimer1_Timer()Label1.Interval=1EndSubD、PrivateSubTimer1_Timer()Fork=1ToTimer1.IntervalLabel1.Caption=TimerNextkEndSub标准答案:B知识点解析:Timer1的Interval属性值是1000,Enabled属性为True,说明定时器开始工作,每隔1000毫秒(即1秒)触发一次Timer事件,从而执行一次Timer事件过程。要想每秒在标签中显示一次系统时间,则在Timer事件过程中把系统时间赋给标签的Caption属性就能实现。故选B。34、以下可以作为"容器"的控件是A、框架B、图像框C、标签D、命令按钮标准答案:A知识点解析:窗体控件、框架控件和图片框控件可以作为其他控件的容器。选A)。35、下面叙述中错误的是()。A、软件测试的目的是发现错误并改正错误B、对被调试的程序进行"错误定位"是程序调试的必要步骤C、程序调试通常也称为DebugD、软件测试应严格执行测试计划,排除测试的随意性标准答案:A知识点解析:软件测试的目的是为了发现错误而执行程序的过程,并不涉及改正错误,所以选项A)错误。程序调试的基本步骤有:错误定位、修改设计和代码,以排除错误、进行回归测试,防止引进新的错误。程序调试通常称为Debug,即排错。软件测试的基本准则有:所有测试都应追溯到需求、严格执行测试计划,排除测试的随意性、充分注意测试中的群集现象、程序员应避免检查自己的程序、穷举测试不可能、妥善保存测试计划等文件。36、VB中有这样一类文件:该文件不属于任何一个窗体,而且仅包含程序代码,这类文件的扩展名是()。A、.vbpB、.basC、.vbwD、.frm标准答案:B知识点解析:.vbp工程文件,包含与管理工程有关的所有的文件和对象清单。.bas标准模块文件,包含公用的一些变量和过程等代码。.vbw工作区文件,包含了该工程中各窗体(指开发区窗体,如代码窗、设计窗)的位置。.frm窗体文件,包含了窗体及窗体中包含的各控件的代码、属性等信息。故选项B正确。37、设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为A、15B、16C、20D、0或35标准答案:D知识点解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加1,朝前移动。只不过当头尾指针指向向量上界时,其加1操作的结果是指向向量的下界0。由于入队时尾指针向前追赶头指针,出队时头指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为D选项。38、下列叙述中正确的是A、线性表链式存储结构的存储空间一般要少于顺序存储结构B、线性表链式存储结构与顺序存储结构的存储空间都是连续的C、线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D、以上说法均错误标准答案:C知识点解析:线性表的顺序存储结构具备如下两个基本特征:(1)线性表中的所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的任意位置上的。因此C正确。39、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。A、10B、8C、6D、4标准答案:C知识点解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。40、能够存放组合框的所有项目内容的属性是()。A、CaptionB、TextC、ListD、Selected标准答案:C知识点解析:组合框没有Caption属性;Text属性用来设置或返回组合框中当前选项的文本内容;Selected属性是列表框控件的属性,组合框没有Selected属性;List属性用来设置或返回组合框中的各选项,它是一个字符串数组,组合框中各选项内容用List(下标)表示。故A、B、D选项错误,C选项正确。二、基本操作题(本题共2题,每题1.0分,共2分。)请根据以下各小题的要求设计VisualBasic应用程序(包括界面和代码)。41、在名称为Form1的窗体上画一个名称为CD1的通用对话框,通过属性窗口设置CD1的初始路径为C:\,默认的文件名为None,标题为“保存等级考试”,如图2所示。注意:存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。标准答案:[操作步骤]步骤1:新建一个“标准。EXE”工程,选择[工程]→[部件]命令,在弹出的“部件”对话框的列表中选中“MicroSoftCommonDiMogControl6.0”项目,单击“确定”按钮。步骤2:在窗体Form1上画一个通用对话框,其相关属性设置如表12—7所示。步骤3:编写Form1的Iroad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度技术服务合同servicedeliverablesandperformancemetrics
- 熏香市场需求与消费特点分析
- 医疗器械用清洁刷市场发展现状调查及供需格局分析预测报告
- 电慢炖锅市场需求与消费特点分析
- 2024年度玻璃原料采购与运输合同
- 2024年度在线医疗服务平台服务合同
- 2024年度汽车展览展示服务合同
- 紧急发电机市场发展预测和趋势分析
- 2024年度春国家开放大学科研项目管理合同
- 2024年度建筑工程施工合同标的及工程进度
- GB 16780-2021水泥单位产品能源消耗限额
- GA 1800.3-2021电力系统治安反恐防范要求第3部分:水力发电企业
- 《说优点-讲不足-手拉手-同进步》主题队会课件
- 2023年小学三年级成语知识竞赛题
- 食用香料香精产品生产许可实施细则
- 船体强度与结构设计,课程设计
- 北京四合院介绍课件
- 中华经典诵读主题班会课件
- IPD集成产品开发管理(学员版)课件
- 人教版五年级上学期科学5.14《认识太阳能热水器》课件
- 《一天的时间》全国一等奖教学设计
评论
0/150
提交评论