国家二级(VB)机试模拟试卷20(共394题)_第1页
国家二级(VB)机试模拟试卷20(共394题)_第2页
国家二级(VB)机试模拟试卷20(共394题)_第3页
国家二级(VB)机试模拟试卷20(共394题)_第4页
国家二级(VB)机试模拟试卷20(共394题)_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级(VB)机试模拟试卷20(共9套)(共394题)国家二级(VB)机试模拟试卷第1套一、选择题(本题共40题,每题1.0分,共40分。)1、程序流程图中带有箭头的线段表示的是()。A、图元关系B、数据流C、控制流D、调用关系标准答案:C知识点解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。2、设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是()。A、1B、3C、7D、9标准答案:B知识点解析:建堆的算法:首先将要排序的所有关键码放到一棵完全二叉树的各个结点中(这时的二叉树不具备堆的特性),然后,从i=[n/2](n为结点的个数)的结点Ki开始,逐步把以K[n/2],K[n/2]-1,K[n/2]-2,…为根的子树排成堆,直到以K1为根的树排成堆,就完成了建堆过程。此题中,n=16,i=[16/2]=8,即从第8个结点开始,所以经过初始建堆后关键码值B在序列中的序号是3。3、下列程序段执行后,输出的结果是()。Fork1=0To4y=20Fork2=0To3y=10Fork3=0To2y=y+10Nextk3Nextk2Nextk1PrintyA、90B、60C、40D、10标准答案:C知识点解析:本题考查循环程序的分析。程序的主要部分为一个3层循环的嵌套。前两层循环共执行5*4=20次,每次执行前y的初值都是10,因此,只要考虑第3层循环就可以了。第3层循环执行3次,也就是语句y=y+10执行3次,y的初始值为10,因此计算结果为40。4、下列程序运行后,输出结果为()。Subabcd(ByValnAsInteger)n=n+5EndSubPrivateSubFormClick()n%=3Callabcdfn%)Printn%EndSubA、3B、4C、5D、8标准答案:A知识点解析:本题考查予过程的调用时的参数变化。ByVal是传值调用的关键字,传值调用的时候形参的改变不会影响到实参。5、在3种不同类型的组合框中,只能选择而不能输入数据的组合框是()。A、下拉式组合框B、简单组合框C、下拉式列表框D、三个类型都是标准答案:C知识点解析:考查组合框的Style属性。组合框共3种风格:下拉式组合框、简单组合框和下拉式列表框,其Style属性分别为0,1,2。当Style属性为3时,表示该组合框为下拉式列表框,只能选择数据,而不能输入数据了。6、设窗体中有一个文本框Text1,若在程序中执行了Text1.Set.Focus,则触发()。A、Text1的SetFocus事件B、Text1的GotFocus事件C、Text1的LostFocus事件D、窗体的GotFocus事件标准答案:B知识点解析:sctFocus是控件获得焦点的方法,GotFocus是控件获得焦点后触发的事件,LostFocus是控件失去焦点后触发的事件。本题中程序执行Text1.SetFocus后,Text1就获得焦点,进而触发Text1的GotFocus事件。故B选项正确。7、软件设计中划分模块的一个准则是()。A、低内聚低耦合B、高内聚低耦合C、低内聚高耦合D、高内聚高耦合标准答案:B知识点解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。8、下列各选项中,不属于序言性注释的是()。A、程序标题B、程序设计者C、主要算法D、数据状态标准答案:D知识点解析:注释一般为序言性注释和功能性注释。序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序的主要功能。9、用LineInput语句从顺序文件读出数据时,每次读出一行数据。所谓一行是指遇到()分隔符,即认为一行的结束。A、文件结束符B、回车符C、空格D、Tab字符标准答案:B知识点解析:本题考查行结束标志。文件中用EOF测试是否到达末尾;而用“回车符”确定是否结束一行。10、下列不属于软件工程3个要素的是()。A、工具B、过程C、方法D、环境标准答案:D知识点解析:软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。11、当一个工程含有多个窗体时,其中启动窗体是()。A、启动VisualBasic时建立的窗体B、第一个添加的窗体C、最后一个添加的窗体D、在“工程属性”对话框中指定的窗体标准答案:D知识点解析:VB规定,对于多窗体程序,必须在“工程属性”对话框中指定其中一个窗体为启动窗体。如果未指定,那么就默认设计时的第一个窗体为启动窗体,这个默认的启动窗体就是“工程属性”对话框中的默认窗体。12、在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2的标签,然后编写如下程序代码:PrivateXAsIntegerPrivateSub(20mmandl_Click()X=5:Y=3Callproe(X,Y)Labell.Caption=XLabel2.Caption=YEndSubPfivmeSubproc(aAsInteger,ByValbAsInteger)X=a*aY=b+bEndSub程序运行后,单击命令按钮,则两个标签中显示的内容分别是()。A、25和3B、5和3C、25和6D、5和6标准答案:A知识点解析:虽然在过程proc中参数a默认为按地址传递,参数b指定了ByVal(按值)方式传递,但过程中并没有对a,b的值改变,只对变量x和IY进行了赋值,而x是在窗体模块中起作用的模块变量,面变量Y在proc过程中没有声明,要整个模块中也没有声明,说叫它是一个局部变量,只在本过程中起用。因此,在proc过程中x=a*a=5*5=25,会使按钮单击事件中的变量x变为25,而按钮单击事件过程中的变量Y不受影响,仍是原来的值3。因此两个标上会分别显示25和3。13、设有如下事件过程:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenupopMenuEndIfEndSub则以下描述中错误的是()。A、该过程的功能是弹出一个菜单B、popMenu是在菜单编辑器中定义的弹出式菜单的名称C、参数X、Y指明鼠标的当前位置D、Button=2表示按下的是鼠标左键标准答案:D知识点解析:本题考查鼠标事件和弹出菜单。鼠标状态事件有按下(MouseDown)、移动(MouseMove)和弹起(MouseUp),这几种事件能够通过参数区分出鼠标的左键、右键和中间键,鼠标键的对应值及其说明为:1-用户按下左键触发了鼠标事件;2-用户按下右键触发了鼠标事件;4-用户按下中间键触发了鼠标事件。PopupMenu为弹出菜单方法,popMenu为菜单名。题目中程序的功能是当鼠标按下右键时弹出菜单popMenu。14、对序线性表(23,29,34,55,60,70,78)用二分法查找值为60的元素时,需要比较次数为()。A、1B、2C、3D、4标准答案:C知识点解析:根据二分法查找法需要两次:①首先将60与表中间的元素55进行比较,由于60大于55,所以在线性表的后半部分查找。②第二次比较的元素是后半部分的中间元素,将60与表中间的元素70进行比较,由于60小于70,所以在线性表的前半部分查找。③第三次比较的元素是前半部分的中间元素,即60,这时两者相等,即查找成功。15、层次型、网状型和关系型数据库划分原则是()。A、记录长度B、文件的大小C、联系的复杂程度D、数据之间的联系方式标准答案:D知识点解析:层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。16、以下叙述中正确的是()。A、事件过程都由用户来编写B、事件过程都不是由用户编写的C、事件过程有的由用户编写,有的由系统确定D、用户可以确定事件方法过程是否由用户编写标准答案:D知识点解析:本题考查事件过程。一般控件都有事件过程,这些事件过程在编写程序时,可以根据问题的需要来确定是否编写该事件过程。17、在属性窗口中把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程:PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)PrintChr(KeyCode)EndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)PrintChr(KeyAscii)EndSub在一般情况下(即不按住Shift键和锁定大写),运行程序,如果按“A”键,则程序输出的是()。A、

B、

C、

D、

标准答案:A知识点解析:本题考查键盘事件。KeyPreview属性用于设置是否在控件的键盘事件之前激活窗体的键盘事件。KeyPress(KeyAsciiAsInteger)事件是在对象具有焦点时,按下键盘上的键时触发的事件,其中的KeyAscii参数是所按键的ASCII的代码,每个字符的大、小写形式都是不同的键代码。而Chr()可返回ASCII码对应的字符。KeyDown(KeyCodeAsInteger,ShiftasInteger)事件有两个参数,其中,KeyCode参数是表示所按键的位置信息的代码,只要按下键,就返回该键的位置信息,不区分大小写,一律作为大写字符解释。本题的功能为输入A时,KeyDown事件输出大写字符A,而KeyPress事件则输出小写字符a。18、在窗体上画1个命令按钮,名称为Command1,然后编写如下程序:DimFlagAsBooleanPrivateSubCommand1_Click()DimintNumAsIntegerintNum=InputBox("请输入:")IfFlagThenPrintf(intNum)EndIfEndSubFunctionf(XasInteger)AsIntegerIfX<10ThenY=XElseY=X+10EndIff=YEndFunctionPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XasSingle,YAsSingle)Flag=TrueEndSub运行程序,首先单击窗体,然后单击命令按钮,在输入对话框中输入5,则程序的输出结果为()。A、0B、5C、15D、无任何输出标准答案:B知识点解析:本题考查If语句和函数过程的分析。函数过程f的功能是如果X小于10则返回X,否则返回X+10。窗体的MouseUp事件是松开鼠标时触发的事件。程序运行后,单击窗体,则全局变量Flag的值为True,然后单击命令按钮,在输入对话框中输入5,执行If分支语句,调用f函数,由于5<10,因此输出X,即输出5。19、下列叙述中正确的是()。A、有一个以上根结点的数据结构不一定是非线性结构B、只有一个根结点的数据结构不一定是线性结构C、循环链表是非线性结构D、双向链表是非线性结构标准答案:B知识点解析:线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。20、某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)()。A、3B、4C、6D、7标准答案:D知识点解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总比度为2的节点多一个,所以本题中度为2的节点为1-1=0个,所以可以知道本题目中的二叉树的每一个节点都有一个分支,所以共7个节点共7层,即深度为7。21、现有如下一段程序: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",因此会显示"考核通过!"。22、设窗体上有一个名称为Text1的文本框,要求在文本框中输入的字母都变成大写,下面可以实现这一功能的事件过程是()。A、PrivateSubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=Asc(UCase(Chr(KeyAscii)))EndSubB、PrivateSubText1_KeyPress(KeyAsciiAsInteger)KeyAscii=UCase(KeyAscii)EndSubC、PrivateSubText1KeyPress(KeyAsciiAsInteger)KeyAscii=KeyAscii+1EndSubD、PrivateSubText1_Change()KeyAscii==UCase(KeyAscii)EndSub标准答案:A知识点解析:KeyPress英文意按键。当按下某个键,所触发的是KeyPress事件。其中“KeyAscii”是一个预定义变量,执行KeyPress过程时,该变量是指所按键的ASCII码。类型转换函数Chr(n):把n转换成相应的字符,其中表达式n的值是合法的ASCII码值。字符串大写转换函数Ucase(s)将字符串s中的小写字母转换成大写字母。Asc(c)将返回该字符的ASCII码值。Asc(Ucase(Chr(KeyAscii)))是先将输入的ASCII码转换成字符再将其转换成大写字母,然后获取该大写字母的ASCII值,故A选项正确。其他选项均不能实现大写转换的功能。23、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:FunctionFun(x)y=0Ifx<10Theny=xElsey=y+10EndIfFun=yEndFunctionPrivateSubCommand1_Click()n=InputBox("请输入一个数")n=Val(n)P=Fun(n)PrintPEndSub运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入100,并单击"确定"按钮,则输出结果为()。A、10B、100C、110D、出错信息标准答案:A知识点解析:程序中输入100,则调用过程为Fun(100),过程Fun中判断参数是否小于10,小于10则将此值赋给y,如果不小于10,则变量y值加10,由于100不小于10,所以y值加10,等于10,并将此值做为函数值返回。因此输出结果为10。24、下面关于命令按钮的叙述中错误的是()。A、命令按钮上可以显示图片B、命令按钮上的文字就是其Caption属性的值C、在程序运行过程中,不能改变命令按钮的标题D、运行程序时,当命令按钮获得焦点后,按下Enter键也能激活它的Click事件标准答案:C知识点解析:在程序运行过程中,可以改变命令按钮的标题。25、数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()。A、数据与程序独立存放B、不同的数据被存放在不同的文件中C、不同的数据只能被对应的应用程序所使用D、以上三种说法都不对标准答案:D知识点解析:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。所以选项A),选项B)和选项C)都不正确。26、以下变量名中合法的是()。A、x2-1B、printC、str_nD、2x标准答案:C知识点解析:VB中变量名的命名规则:①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB的保留字。本题中x2-1中有-(减号),不是下划线。print是VB的保留字,也不能作变量名。2x以数字开头,也是错误的。故C选项正确。27、VB中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光标在Text1文本框中,则每输入一个字母()。A、这3个事件都会触发B、只触发KeyPress事件C、只触发KeyDown、KeyUp事件D、不触发其中任何一个事件标准答案:A知识点解析:当用户按下某键时触发KeyDown和KeyPress事件,放开某键时触发KeyUp事件。故每输入一个字符,这3个事件都会触发。故A选项正确。28、一个兴趣班可以招收多名学生,而一个学生可以参加多个兴趣班。则实体兴趣班和实体学生之间的联系是A、1:1联系B、1:m联系C、m:1联系D、m:n联系标准答案:D知识点解析:一般来说,实体集之间必须通过联系来建立联接关系,分为3类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。多个兴趣班与多个学生的关系为m:n联系,D选项正确。29、有下面的程序段:A=1.2B=321C=Len(Str(A)+Str(B))PrintC执行上面的程序段,输出结果是A、5B、6C、7D、8标准答案:D知识点解析:Str函数将数字A和B转换为字符串形式,Len用来计算字符串的长度。Str(A)="1.2",Str(B)="321",转换后,Str(A)和Str(B)左边都多了个空格,此时,Str(A)+Str(B)="1.2321",其字符串长度为8,故选D项。30、如果在过程A中用语句:Callproc(a,b)调用下面的过程PrivateSubproc(bAsInteger,ByValaAsInteger)a=a+1b=b*2EndSub则调用结束后的结果是A、过程A中变量b的值变为原有值的2倍B、过程A中变量a的值变为原有值的2倍C、过程A中变量a的值变为原有值的2倍,b的值等于原有值加1D、过程A中变量b的值变为原有值的2倍,a的值等于原有值加1标准答案:B知识点解析:用Call语句调用Sub过程。如果形参前面有关键字ByVal,则该参数以传值方式传送。调用结束后,变量a的值变为原有值的2倍,变量b的值不变。故本题正确答案为B。31、下列关于算法的描述中错误的是A、算法强调动态的执行过程,不同于静态的计算公式B、算法必须能在有限个步骤之后终止C、算法设计必须考虑算法的复杂度D、算法的优劣取决于运行算法程序的环境标准答案:D知识点解析:算法是指对解题方案的准确而完整的描述,简单地说,就是解决问题的操作步骤。算法不同于数学上的计算方法,强调实现,A选项叙述正确。算法的有穷性是指,算法中的操作步骤为有限个,且每个步骤都能在有限时间内完成,B选项叙述正确。算法复杂度包括算法的时间复杂度和算法的空间复杂度。算法设计必须考虑执行算法所需要的资源,即时间与空间复杂度,故C选项叙述正确。算法的优劣取决于算法复杂度,与程序的环境无关,当算法被编程实现之后,程序的运行受到计算机系统运行环境的限制,故正确答案为D选项。32、在窗体上画一个列表框,名称为List1,然后编写如下事件过程:PrivateSubForm_Load()Fori=1To6List1.AddItemiNextiFori=1To3List1.RemoveItemiNextiEndSub运行程序,在列表框中显示的数据项是A、1,3,5B、2,4,6C、1,2,3D、4,5,6标准答案:A知识点解析:AddItem方法:用来在列表框中插入一行文本(即项目)。RemoveItem方法:用来删除列表框中的指定项目。注意:列表框中项目从0开始计数。第一个For循环是在列表框中插入1,2,3,4,5,6项目。第二个For循环,当i=1时,执行RemoveItem1操作后列表框还剩1,3,4,5,6。当i=2时,执行RemoveItem2操作后列表框还剩1,3,5,6。当i=3时,执行RemoveItem3操作后列表框还剩1,3,5。故本题正确答案为A选项。33、设工程中有2个窗体:Form1和Form2,每个窗体上都有一个名称为Text1的文本框。若希望把Form1上文本框中的内容复制到Form2上的文本框中,应进行的操作是A、执行Form1中的语句:Form1.Text1=Form2.Text1B、执行Form1中的语句:Text1=Form1.TextC、执行Form2中的语句:Form1.Text1=Text1D、执行Form2中的语句:Text1=Form1.Text1标准答案:D知识点解析:把Form1上文本框中的内容复制到Form2上的文本框中,所以应该在Form2中添加语句:Text1=Form1.Text1。34、以下叙述中错误的是A、对象具有属性、方法等成员B、对象可以识别预先定义的事件C、一个对象中包含数据及其对这些数据的相关操作D、对象的属性值一经初始化,则不能再改变标准答案:D知识点解析:VisualBasic应用程序可以以解释方式和生成可执行文件方式执行,故正确答案为选项D。35、命令按钮Command1的MouseUp事件过程结构如下:PrivateSubCommand1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)……EndSub则以下叙述中错误的是A、X、Y参数表示的是Command1左上角在窗体中的位置B、Button参数用于确定按下的鼠标键C、Shift参数用于确定是否按下了Alt、Ctrl或Shift键D、MouseUp表示抬起鼠标按键时触发的事件标准答案:A知识点解析:X,Y用来表示鼠标光标当前在窗体上的X、Y轴坐标。36、编写如下程序:PrivateSubCommand1_Click()DimnAsLong,sAsStringn=InputBox("输入一个数")DoWhilen<>0Printn\10Mod10;PrintnMod10;n=n\100LoopPrintsEndSub程序运行后,单击命令按钮Command1,并输入数值123456,则输出结果为A、654321B、563412C、642531D、615243标准答案:B知识点解析:Print语句对输入的数值n=123456进行处理并打印。第一条语句打印n的十位数,第二条语句打印n的个位数。然后n被求余。37、窗体上有一个名称为Label1的标签;一个名称为Timer1的计时器,其Enabled和Interval属性分别为True和1000。编写如下程序:DimnAsIntegerPrivateSubTimer1_Timer()ch=Chr(n+Asc("A"))Label1.Caption=chn=n+1n=nMod4EndSub运行程序,将在标签中()。A、不停地依次显示字符"A"、"B"、"C"、"D",直至窗体被关闭B、依次显示字符"A"、"B"、"C"、"D"各一次C、每隔1秒显示字符"A"一次D、每隔1秒依次显示26个英文字母中的一个标准答案:A知识点解析:Asc函数返回字符的ASCII,Chr函数将数值转换成相应的ASCII码字符。计时器间隔Interval属性设置为1000,则计时器事件每1秒钟发生一次。n的值每次调用计时器事件过程都会加1,n=nMod4又会使n值只能为0、1、2、3,因此程序运行后每1秒Label1标签将依次显示"A"、"B"、"C"、"D"。38、窗体上有一个名称为Command1的命令按钮,其事件过程如下:PrivateSubCommand1_Click()x="VisualBasicProgramming"a=Right(x,11)b=Mid(x,7,5)c=MsgBox(a,,b)EndSub运行程序后单击命令按钮。以下叙述中错误的是()。A、信息框的标题是BasicB、信息框中的提示信息是ProgrammingC、c的值是函数的返回值D、MsgBox的使用格式有错标准答案:D知识点解析:39、下面程序的功能是输出100以内所有素数:PrivateSubCommand1_Click()Forn=2To100isprime=Truek=2DoWhilek<=n/2And__________IfnModk=0Thenisprime=Falsek=k+1LoopIfisprimeThenPrintnEndIfNextnEndSub为使上面程序可以实现该功能,程序代码中横线处应填写的代码是A、isprimeB、NotisprimeC、n<100D、n<=100标准答案:A知识点解析:素数是大于1的自然数,除了1和本身不能被任何数整除的数。程序用DoWhile循环对n进行判断,如能被整除isprime赋值为False。否则赋值为True。随后的代码检测isprime为True时执行打印。因此DoWhile判断条件中除了判断循环变量的上限还需要判断isprime的值。根据执行条件可知,选A)。40、窗体上有名称为List1的列表框。以下能够将列表框当前选定的列表项替换为字符串"Basic"的语句是A、List1.AddItem"Basic"B、List1.List(List1.ListIndex)="Basic"C、List1.Text="Basic"D、以上都可以标准答案:B知识点解析:AddItem用于将列表项添加到列表框。Text属性是被选定的选项的文本内容。列表框的List属性用来列出表项的内容,也可以改变数组中的已有值,属性ListIndex用于返回当前选择的列表项的索引号。选项B正确。二、基本操作题(本题共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、考生文件夹中有一个工程文件sjt4.vbp。该程序的功能是:程序运行时,向文本框控件数组Text1(有5个文本框)中任意输入5个数,单击名称为Command1的命令按钮,则找出其中最小数并在标签lblBesult中显示。给出的窗体文件中已经有了全部控件,但程序不完整,其中函数FindMin的作用是返回两个数中的较小数。要求:去掉程序中的注释符,把程序中的?改为正确的内容。注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。标准答案:步骤1:打开本题工程文件。步骤2:分析并编写程序代码。程序提供代码PrivateSubCommandl_Click()DimxA8Integer,kA8Integerx=Val(Textl(1).Text)’Fork=2To?’x=FindMin(Val(Textl(k).Text),?)Next’lblBesult.Caption=?EndSubPublicFunctionFindMin(xAsInteger,yA8Integer)’Ifx?yThenFindMin=yElseFindMin=xEndIfEndFunction程序结束第1个?处填入:5第2个?处填入:x第3个?处填入:x第4个?处填入:>步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:默认情况下文本框里的内容(包括数字)都是当作字符串来处理的,如果要参与数据运算,则需先用Val()函数将其转化为数字(如Val(Text1.Text))。根据题意,首先把第一个文本框的值赋给变量x,通过循环语句和调用过程函数FindMin,获得最小值,并显示在标签lblResult中。函数FindMin用来返回两个数中的较小数。四、综合应用题(本题共1题,每题1.0分,共1分。)44、在考生文件夹下有一个工程文件sjt5.vbp,其窗体中有一个实心圆。程序运行时,当用鼠标芹键单击窗体任何位置时,实心圆则向单击位置直线移动;若用鼠标右键单击窗体,则实心圆停止移动。窗体文件中已经给出了全部控件,但程序不完整。要求:请去掉程序中的注释符,把程序中的?改为正确的内容,使其能正确运行,不能修改程序的其他部分和控件属性。最后把修改后的文件按原文件名存盘。标准答案:【操作步骤】步骤1:打开考生文件下的本题工程文件sjt5.vbp,在代码编辑窗口,去掉程序中的汴释符“”’,将问号“?”改为正确的内容。参考代码:stepx=0stepy:a*stepxTimerl.Enabled=TrueTimerl.Enabled=FalseShapel.MoveShapel.Left+stepx,Shapel.Top+stepy步骤2:按要求将文件保存全考生文件夹中。知识点解析:暂无解析国家二级(VB)机试模拟试卷第2套一、选择题(本题共40题,每题1.0分,共40分。)1、下列叙述中正确的是A、一个算法的空间复杂度大,则其时间复杂度也必定大B、一个算法的空间复杂度大,则其时间复杂度必定小C、一个算法的时间复杂度大,则其空间复杂度必定小D、算法的时间复杂度与空间复杂度没有直接关系标准答案:D知识点解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。2、下列叙述中正确的是A、循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B、循环队列中的元素个数随队头指针的变化而动态变化C、循环队列中的元素个数随队尾指针的变化而动态变化D、以上说法都不对标准答案:A知识点解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。3、一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为A、219B、229C、230D、231标准答案:B知识点解析:二叉树中,度为0的节点数等于度为2的节点数加1,即n2=n0-1,叶子节点即度为0,则n2=79,总结点数为n0+n1+n2=80+70+79=229,答案为B。4、对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为A、9B、10C、45D、90标准答案:C知识点解析:冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都要将相邻的两个元素互换,需要互换的次数为9+8+7+6+5+4+3+2+1=45,选C。5、构成计算机软件的是A、源代码B、程序和数据C、程序和文档D、程序、数据及相关文档标准答案:D知识点解析:软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和有关的文档,选D。6、软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是A、测试B、设计C、可行性研究D、实现标准答案:C知识点解析:开发阶段包括分析、设计和实施两类任务。其中分析、设计包括需求分析、总体设计和详细设计3个阶段,实施则包括编码和测试两个阶段,C不属于开发阶段。7、下面不能作为结构化方法软件需求分析工具的是A、系统结构图B、数据字典(DD)C、数据流程图(DFD图)D、判定表标准答案:A知识点解析:结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。8、在关系模型中,每一个二维表称为一个A、关系B、属性C、元组D、主码(键)标准答案:A知识点解析:关系模型采用二维表来表示,即每个二维表称为一个关系。9、若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是A、一对一B、一对多C、多对一D、多对多标准答案:B知识点解析:A和B为一对多的联系,则对于A中的每一个实体,B中有多个实体与之联系,而B与C为一对一联系,则对于B中的每一个实体,C中之多有一个实体与之联系,则可推出对于A中的每一个实体,C中有多个实体与联系,所以为一对多联系。10、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A、选择B、投影C、交D、并标准答案:D知识点解析:关系T中的元素与关系R和关系S中不同元素的总和,因此为并操作。11、假定有如下的程序段:DimintVarAsIntegerintvar=TruePrintintVar则输出结果是A、0B、-1C、TrueD、False标准答案:B知识点解析:VB里面True=-1,False=0。12、为了在Form_Load事件过程中用Print方法在窗体上输出指定的内容,首先应执行的操作是A、设置窗体的Visible属性B、设置窗体的AutoRedraw属性C、调用窗体的Show方法D、设置窗体的Enabled属性标准答案:C知识点解析:窗体加载的时候是可以Print的,但这个时候还没有显示出来,看不到Print的结果,要调用窗体的Show方法显示结果。13、以下不能用Print方法输出数据的对象或窗口是A、窗体B、立即窗口C、图片框D、代码窗口标准答案:D知识点解析:Print方法可以在窗体上显示文本字符串和表达式的值,并可在其他图形对象或打印机上输出信息。其一般格式为:[对象名称.]Prim[表达式表][,|;],其中的"对象名称"可以是窗体(Form)、图片框(PictureBox)或打印机(Printer),也可以是立即窗口(Debug)。不能是代码窗口。14、下列程序段的输出结果是x=5Printx+1;x+1A、66B、55C、67D、56标准答案:A知识点解析:Print方法对于数值表达式只打印表达式的值。该题中的表达式中x的值没有发生变化,始终等于5,所以输出结果是66。15、以下可以判断是否在文本框(名称为Text1)内按下了回车键的事件过程是A、Text1_ChangeB、Text1_ClickC、Text1_KeyPressD、Text1_GotFocus标准答案:C知识点解析:KeyPress事件:用户按下并且释放一个会产生ASCII码的键时被触发。此事件只对会产生ACSII码的按键有反应,包括数字、大小写的字母、Enter、Backspace、Esc、Tab等,对于如方向键这样的不会产生ASCII码的按键,KeyPress事件就不会被触发。16、下列符号常量的声明中不合法的是A、ConstaAsSingle=3.5B、ConstaAsDouble=5+8C、ConstaAsInteger="25"D、Consta="OK"标准答案:C知识点解析:定义符号常量的一般格式:Const常量名[As数据类型]=表达式,"常量名"参数就是给常量命名。"数据类型"表示常量的数据类型,一般可以省略,这时由后面的"表达式"参数来指明常量的数据类型。表达式可以是数值型常量、字符型常量、布尔型常量和日期型常量。17、以下叙述中错误的是A、用ReDim语句可以改变数组的维数B、用ReDim语句可以改变数组的类型C、用ReDim语句可以改变数组每一维的大小D、用ReDim语句可以对数组中的所有元素置0或空字符串标准答案:B知识点解析:ReDim语句无法更改数组变量的数据类型。18、在窗体模块的声明部分声明变量时,不能使用的关键字是A、DimB、PublicC、PrivateD、Static标准答案:D知识点解析:VB中变量的作用域分为:局部变量:在过程内用Dim语句或用Static语句声明的变量,只能在本过程中使用。窗体/模块级变量:在"通用声明"段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任何过程访问。全局变量:在"通用声明"段中用Public语句声明的变量,可被本应用程序的任何过程或函数访问。19、以下说法中正确的是A、任何时候都可以用Ctrl+E键打开菜单编辑器B、只有当某个窗体为当前活动窗体时,才能打开菜单编辑器C、只有当代码窗口为当前活动窗口时,才能打开菜单编辑器D、任何时候都可以用标准工具栏的"菜单编辑器"按钮打开菜单编辑器标准答案:B知识点解析:当窗体为活动窗体时,才可以打开菜单编辑器。20、用语句Open"C:\teac.txt"ForInputAs#1打开文件后,就可以编程序A、将C盘根目录下teac.txt文件的内容读入内存B、在C盘根目录下建立名为teac.txt的文件C、把内存中的数据写入C盘根目录下名为teac.txt的文件D、将某个磁盘文件的内容写入C盘根目录下名为teac.txt的文件标准答案:A知识点解析:Open语句兼有打开文件和建立文件两种功能,Input是指定顺序输入方式,题意为打开已存在的数据文件,以便从文件中读出记录。21、将文本框的ScrollBar设置为2,文本框中却没有垂直滚动条,其原因可能是A、文本框中没有内容B、文本框的MultiLine属性值为FalseC、文本框的MultiLine属性值为TrueD、文本框的Locked属性值为True标准答案:B知识点解析:设置文本框控件具有滚动条效果,需要设置其ScrollBars属性,并且还需将其MultiLine属性设置为Ture。22、如果把文本框的Enabled属性设置为False并运行程序,则以下叙述中正确的是A、文本框中的文本变为灰色,且不能将光标置于文本框上B、文本框中的文本变为灰色,可以将光标置于文本框上,但不能改变文本框中的内容C、文本框中的文本变为灰色,可以改变文本框中的内容D、文本框中的文本正常显示,可以将光标置于文本框上,但不能改变文本框中的内容标准答案:A知识点解析:Enabled是用来设置控件是否可用。如果把文本框的Enabled属性设置为False并运行程序,文本框中的文本变为灰色,且不能将光标置于文本框上。23、为了使标签Label1透明且不具有边框,以下正确的属性设置是A、Label1.BackStyle=0Label1.BorderStyle=1B、Label1.BackStyle=0Label1.BorderStyle=0C、Label1.BackStyle=1Label1.BorderStyle=1D、Label1.BackStyle=1Label1.BorderStyle=0标准答案:B知识点解析:BackStyle属性用于设置标签的背景样式,有两种值可选:0,表示透明;1,表示不透明。BorderStyle属性用来设置标签的边框类型,有两种值可选:0,代表标签无边框;1,代表标签有边框。24、要想不使用Shift或Ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为A、0-NoneB、1-SimpleC、2-ExtendedD、3标准答案:B知识点解析:列表框的Multiselect属性有3个可选值:O-None:默认值,不能选择多个选项。1-Simple:在不按任何键的情况下可选择多个选项。2-Extended:使用Ctrl或Shift键进行分别多选或选择连续多个选项。25、为了把命令按钮设置为图形格式,其Style属性值应为A、TrueB、FalseC、1D、0标准答案:C知识点解析:Style属性设定此对象是否以图片作为外观显示,有两种值可选:0,标准外观(默认值);1,图片外观。26、要使得文件列表框File1中只显示文件扩展名为jpg的图片文件,则下列正确的语句是A、File1.Pattern="*.jpg"B、File1.Parent="*.jpg"C、File1.Path="*.jpg"D、File1.Pattern="图片文件|*.jpg"标准答案:A知识点解析:Pattern属性用来指定在文件列表框中显示文件的类型;Parent属性可访问一个对象的父亲的属性、方法、或控件;Path属性用来指定和返回当前目录。27、决定标签内容显示位置的属性是A、TextB、NameC、AlignmentD、Caption标准答案:C知识点解析:Alignment属性用于设置标签中文本的对齐方式。28、如果在列表框List1中没有选中项目,则List1.ListIndex的值为A、-1B、0C、1D、2标准答案:A知识点解析:列表框List1中没有选中项目,则List1.ListIndex的值为-1。29、设Label1、Command1、Text1、Check1分别为标签、命令按钮、文本框、复选框的名称,则以下属性设置语句中,运行时不会出错的是A、Label1.BackStyle=2B、Command1.Style=1C、Text1.ScrollBars=4D、Check1.Value=2标准答案:D知识点解析:标签的BackStyle属性只有0、1两个属性值;命令按钮的Style属性是只读属性,必须在属性窗口设置;文本框的ScrollBars属性只有0、1、2、3四个属性值,并且必须在属性窗口设置。30、下列不包含滚动条的控件是A、列表框B、标签C、组合框D、文本框标准答案:B知识点解析:标签控件不包含滚动条。31、设有如下事件过程:PrivateSubForm_Click()x=0Whilex10x=x+1x=x*xWendPrintxEndSub运行程序,单击窗体,输出结果是A、16B、19C、20D、25标准答案:D知识点解析:While...Wend语句只要指定的条件为True,则会重复执行一系列的语句。程序中只要满足x<10的条件循环就一直执行。当x=4时,执行完循环体内容后x=25,条件为False,退出,打印。选D。32、在窗体上画一个名称为List1的列表框,然后编写如下程序:PrivateSubForm_Click()Fori=1To10Item="Item"&iList1.AddItemItemNextiEndSub程序运行时,单击窗体,所完成的功能是A、向列表框中添加10个项目B、向列表框中添加11个项目C、向列表框中添加10个数字D、向列表框中添加1~10的和标准答案:A知识点解析:AddItem为添加项目。循环体执行10次,添加了10个项目。选A。33、文件d:\city.txt的内容如下:BeiJingTianJinShangHaiChongQing编写如下事件过程:PrivateSubForm_Click()DimInDOpen"d:\city.txt"ForInputAs#1DoWhileNotEOF(1)LineInput#1,InDLoopClose1PrintInDEndSub运行程序,单击窗体,输出结果是A、文件city.txt的全部内容B、BeiJingC、ChongQingD、空白标准答案:C知识点解析:#1文件以读操作的方式打开。在文件结尾的部分退出。退出时InD内存储的内容是ChongQing,打印的内容就是ChongQing,选D。34、在窗体上画一个文本框,其名称为Text1,然后编写如下程序:OptionBase1PrivateSubForm_Click()DimArr(10)AsIntegerFori=6To10Arr(i)=i-3NextiText1.Text=Str(Arr(6)+Arr(Arr(6)+Arr(10)))EndSub程序运行后,单击窗体,在文本框中显示的内容是A、7B、8C、9D、10标准答案:D知识点解析:For循环对数组Arr的第6个到第10个元素赋值。Arr(6)=3;Arr(10)=7;因此,输出结果是10。选D。35、在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:PrivateSubCommand1_Click()Dimn()AsIntegerDima,bAsIntegera=InputBox("Enterthefirstnumber")b=InputBox("Enterthesecondnumber")ReDimn(aTob)Fork=LBound(n)ToUBound(n)n(k)=kPrintn(k);NextkEndSub程序运行后,单击命令按钮,在输入对话框中分别输入2和3,输出结果为A、12B、23C、34D、45标准答案:B知识点解析:输入2和3后,n被重新定义,下标为2,上标为3。For循环执行2次,k=2和k=3。因此选B。36、在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写如下程序:FunctionFun(xAsInteger,yAsInteger)AsIntegerFun=IIf(x<y,x,y)EndFunctionPrivateSubForm_Load()Command1.Default=TrueEndSubPrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=20b=12Text1.Text=Str(Fun(a,b))EndSub程序运行后,按回车键,文本框中显示的内容为A、12B、20C、24D、40标准答案:A知识点解析:Form_Load()过程中,Command1获得焦点。当按回车键时,触发Command1_Click()事件。该事件中给定a和b的值,并调用函数Fun。函数Fun返回整型数据。IIf(x<y,x,y)表示的意思是x<y成立时,返回x,否则返回y。函数调用时传过来的参数是x=20,y=12。因此IIf(x<y,x,y)返回的值是12。选A。37、在窗体上画一个命令按钮,然后编写如下程序:Subinc(aAsInteger)StaticxAsIntegerx=x+aPrintx;EndSubPrivateSubCommand1_Click()inc2inc3inc4EndSub程序运行后,第一次单击命令按钮时的输出结果为A、234B、259C、111418D、4916标准答案:B知识点解析:x在inc函数中定义成Static类型。意味着函数退出后x值被保留。第一次执行后x=2,第二次执行后x=5,第3次执行后x=9。选B。38、在窗体上画一个文本框,其名称为Text1,然后编写以下程序:PrivateSubForm_Load()ShowText1.Text=""Text1.SetFocusEndSubPrivateSubText1_KeyPress(KeyAsciiAsInteger)Char=Chr(KeyAscii)KeyAscii=Asc(UCase(Char))EndSub以上程序的功能是A、把输入到文本框中的字母转换为小写显示B、把从键盘上输入的字符在文本框中原样显示C、把输入到文本框中的字母转换为大写显示D、把输入到文本框中的字符转换为其ASCII码显示标准答案:C知识点解析:Chr()是把ASCII码转换为对应的字符。UCase转换成大写。Asc求字符串表达式的第一个字符的ASCII编码。答案选C。39、设有如下程序:PrivateSubInv(ByValxStrAsString,yStrAsString)DimtStrAsStringDimLAsIntegerL=Len(xStr)DoWhileL>=1tStr=tStr+Mid(xStr,L,1)L=L-1LoopyStr=tStrEndSubPrivateSubForm_Click()DimS1AsString,S2AsStringS1="abcdef"InvS1,S2PrintS2EndSub运行程序,单击窗体,输出结果为A、abcdefB、afbecdC、fedcbaD、defabc标准答案:C知识点解析:Mid函数将返回字符串中从L开始的一个字符,L从字符串长度反向递减。因此Inv函数实现字符串翻转功能。选C。40、阅读程序:OptionBase1PrivateSubForm_Click()DimArr(3,3)AsIntegerFori=1To3Forj=1To3Ifj=iOrj=3-i+1ThenArr(i,j)=1ElseArr(i,j)=0EndIfNextjNextiFori=1To3Forj=1To3PrintArr(i,j);NextjPrintNextiEndSub程序运行后,如果单击窗体,则输出结果为A、111111111B、000000000C、100010001D、101010101标准答案:D知识点解析:第一个For循环给数组Arr赋值。第二个For循环打印数组各元素的值。在第一个For循环中,数组的下标用变量i表示,上标用变量j表示。If…Else语句对两种情况进行判断,在i等于j的时候或者i和j满足j=3-i+1关系的时候,Arr数组元素被赋值为1,其它情况被赋值为0。可以根据循环语句的执行,代入各变量值算得各元素的值。选D。二、基本操作题(本题共1题,每题1.0分,共1分。)41、(1)在名称为Form1的窗体上添加一个名称为C1、标题为“改变颜色”的命令按钮,窗体标题为“改变窗体背景色”。编写程序,使得单击命令按钮时,将窗体的背景颜色改为红色(&HFF&)。运行程序后的窗体如图所示。要求:程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为sjt1.vbp,窗体文件名为sjt1.frm。(2)在名称为Form1的窗体上添加一个名称为Shape1的形状控件,在属性窗口中将其形状设置为圆形。添加一个名称为List1的列表框,并在属性窗口中设置列表项的值分别为1、2、3、4、5。将窗体的标题设为“图形控件”。单击列表框中的某一项,则将其值作为形状控件的填充参数。例如,选择3,则形状控件中被竖线填充。如图所示。要求:程序中不得使用变量,每个事件过程中只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名保存为sjt2.vbp,窗体文件名保存为sjt2.frm。标准答案:步骤1:建立界面,添加相应的控件并设置控件的属性。程序中涉及的控件及属性见表3.59。步骤2:打开代码编辑窗口,在指定位置编写如下代码。PrivateSubcl_1ick()Forml.BackC010r=&HFF&EndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。(2)步骤1:建立界面,将窗体Form1的Caption属性设置为“图形控制”,然后添加相应的控件并设置控件的属性。程序中用到的控件及属性见表3.60。步骤2:打开代码编辑窗口,在指定位置编写如下代码。PrivateSubList1_Click()Shape1.FillStyle=List1.TextEndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:(1)通过命令按钮的Name和Caption属性设置命令按钮的名称和标题,通过窗体的Caption属性设置窗体的标题,在Cl_Click事件过程中,通过设置窗体的BackColor属性实现单击命令按钮时将窗体的背景颜色改为红色。(2)通过形状控件的Name和Shape属性设置形状控件的名称和形状,通过列表框的Name和List属性设置列表框的名称和列表项,单击列表框中的某一项,通过Listl的Text属性确定选中的值,并将其值作为形状控件的填充参数,FillStyle属性用于返回/设置一个形状控件的填充样式。三、简单应用题(本题共1题,每题1.0分,共1分。)42、(1)在考生文件夹下有一个工程文件sjt3.vbp。窗体上有个钟表图案,其中代表指针的直线的名称是Linel,还有一个名称为Label1的标签和其他一些控件(如图1所示)。在程序运行时,若用鼠标右键单击圆的边线,则指针恢复到起始位置(如图1所示);若用鼠标左键单击圆的边线,则指针指向鼠标单击的位置(如图2所示);若鼠标左键或右键单击其他位置,则在标签上输出“鼠标位置不对”。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。程序中的oncircle函数的作用是判断鼠标单击的位置是否在圆的边线上(判断结果略有误差),是则返回True,否则返回False。符号常量x0、y0是圆心距窗体左上角的距离;符号常量radius是圆的半径。注意:不能修改程序中的其他部分和各控件的属性。最后将修改后的文件按原文件名存盘。(2)在考生文件夹下有一个工程文件sjt4.vbp,窗体如图所示。其功能是单击“输入数据”按钮。则可输入一个整数n(要求:8≤n≤12);单击“计算”按钮,则计算1!+2!+3!…+n!的值,并将计算结果显示在文本框中;单击“存盘”按钮,则把文本框中的结果保存到考生文件夹下的out4.dat文件中。文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的?改为正确的内容,并编写“计算”按钮的Click事件过程。注意:不得修改已经存在的内容和控件属性,在结束程序运行之前,必须用“存盘”按钮存储计算结果,否则无成绩。最后将修改后的文件按原文件名存盘。标准答案:步骤1:打开本题工程文件。步骤2:打开代码编辑窗口,在指定位置编写如F代码。Consty0&=1110,x0&=1100,radius&=750PrivateFunctiononcircle(XAsSingle,YAsSingle)AsBooleanprecision=55000If/kbs((X—x0)*(x—x0)+(y0-Y)*(y0—Y)—radius*radius)12Orn<8Then’确定输入值最大为12,最小为8.否则提示错误NsgBox("数据错误,请重新输入")Command2.Enabled=FalseCommand3.Enabled=False’两按钮不可用ElseCommand2.Enabled=TrueCommand3.Enabled=True’两按缸可用EndIfIgndSubPrivateSubCommand2Click()DimsAsLong,kAsInteger’考生应缩写的程序s=0Fork=1Tons=s+f(k)NextkTextl=s’编程结束EndSubFunctionf(nAsInteger)AsLonqs=1’初始化s为1Fork=2Ton’循环求n的阶乘s=s*kNextf=s’返回阶乘结果EndFunctionPrivateSubCommand3Click()OpenApp.Path&"、out4.dat"ForOutputAs#1Print#1,n,Text1Close#1EndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘,如图3.31所示。知识点解析:(1)Corot用来设置符号常量,Fm,ctiononei.de()函数则用来判断鼠标单击的位置是否在圆的边界上,通过调用Functiononcircle()函数实现对鼠标单击位置的判断,如果在其他位置,则在标签上显示“鼠标位置不对”,线条的x1、Y1、x2和Y2属性用来确定指针位置和大小,Button的值用来判断是右键单击还是左键单击,确定指针指向。(2)在Commandl_Click事件过程中通过Val()函数和InputBox()函数取得输入对话框中的数值,如果输入的数值不在范围内,那么弹出对话框MsgBox(”数据错误,请重新输入”),并使命令按钮Command2和Command3不可用,Functionf()函数则用来实现阶乘的计算,Command2_Click事件过程中,运用循环语句的累加实现表达式求和运算,Command3_Caick事件过程通过文件操作实现数据的存盘处理。四、综合应用题(本题共1题,每题1.0分,共1分。)43、在考生文件夹中有一个工程文件sjt5.vbp。窗体外观如图所示。运行程序,单击“读数据”按钮,读入文件中的数据到字符串变量中并显示在Labe12标签中。单击“排序”命令按钮时,对读入的数据从小到大进行排序,并将排序结果在窗体的Labe14控件中显示。要求:工程文件中已给出部分程序,“读数据”命令按钮的事件过程不完整,请去掉程序中的注释符,把程序中的?改为正确的内容。请编写“排序”命令按钮的事件过程中的部分程序代码。注意:不能修改程序的其他部分和控件属性,最后将修改后的文件按原文件名进行存盘。程序调试通过后,两个命令按钮的事件过程必须至少各执行一次。标准答案:步骤1:打开本题工程文件。步骤2:打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。Fori=1To10’循环比较大小实现排序f=True’设置标签Forj=1To9Ifa(j)>a(j+1)Then’相邻两数比较将最小值放前面t=a(j)a(j)=a(j+1)a(j+1)=tf=False’当有交换就置标签为假EndIfNextjIffThen’如果上次循环没有交换数据,则证明序列已排序好,则f为真退出循环ExitForEndIfNexti步骤3:调试并运行程序,关闭程序后按题目要求存盘,如图3.34。知识点解析:在“读数据”按钮的单击事件过程中,用Open语句以Input方式打开数据文件in5.txt,在For循环语句和DoWhile语句中用Input#语句依次读出10个值并赋值给数组元素a(i)。在“排序”按钮的单击事件过程中,利用“冒泡法”对数组中的元素按从小到大进行排序。在“排序”按钮的单击事件过程中,利用For循环语句逐一将数组中各元素按顺序显示在文奉框中,最后通过调用过程Save将文本框中的内容写入数据文什out5.txt。国家二级(VB)机试模拟试卷第3套一、选择题(本题共40题,每题1.0分,共40分。)1、在设计窗体时双击窗体的任何地方,可以打开的窗口是()。A、代码窗口B、属性窗口C、工程资源管理器窗口D、工具箱窗口标准答案:A知识点解析:设计窗体时双击窗体的任何地方,默认打开的是代码窗口。故选A。2、窗体上有名称分别为Te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论