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

下载本文档

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

文档简介

国家二级(VB)机试模拟试卷7(共9套)(共393题)国家二级(VB)机试模拟试卷第1套一、选择题(本题共40题,每题1.0分,共40分。)1、下列叙述中正确的是()。A、循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B、在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C、在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D、循环队列中元素的个数是由队头指针和队尾指针共同决定标准答案:D知识点解析:循环队列有队头和队尾两个指针,但是循环队列仍是线性结构的,所以A错误;在循环队列中只需要队头指针与队尾两个指针来共同反映队列中元素的动态变化情况,所以B与C错误。2、一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。A、12345ABCDEB、EDCBA54321C、ABCDE12345D、54321EDCBA标准答案:B知识点解析:栈是先进后出的原则组织数据,所以入栈最早的最后出栈,所以选择B。3、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是()。A、10B、8C、6D、4标准答案:C知识点解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子节点总是比度为2的节点多一个,所以本题中是5+1=6个。4、下列排序方法中,最坏情况下比较次数最少的是()。A、冒泡排序B、简单选择排序C、直接插入排序D、堆排序标准答案:D知识点解析:冒泡排序与简单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。5、软件设计中划分模块的一个准则是()。A、低内聚低耦合B、高内聚低耦合C、低内聚高耦合D、高内聚高耦合标准答案:B知识点解析:一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。6、下列选项中不属于结构化程序设计原则的是()。A、可封装B、自顶向下C、模块化D、逐步求精标准答案:A知识点解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。7、下列关于栈的叙述正确的是()。A、栈按"先进先出"组织数据B、栈按"先进后出"组织数据C、只能在栈底插入数据D、不能删除数据标准答案:B知识点解析:栈是按"先进后出"的原则组织数据的,数据的插入和删除都在栈顶进行操作。8、在数据库设计中,将E-R图转换成关系数据模型的过程属于()。A、需求分析阶段B、概念设计阶段C、逻辑设计阶段D、物理设计阶段标准答案:C知识点解析:E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于辑设计阶段。9、在数据管理技术发展的三个阶段中,数据共享最好的是()。A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同标准答案:C知识点解析:数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C。10、有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。A、笛卡尔积B、交C、并D、自然连接标准答案:D知识点解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据T关系中的有序组可知R与S进行的是自然连接操作。11、下列叙述中正确的是()。A、MsgBox语句的返回值是一个整数B、执行MsgBox语句并出现信息框后,不用关闭信息框即可执行其他操作C、MsgBox语句的第一个参数不能省略D、如果省略MsgBox语句的第三个参数(Title),则信息框的标题为空标准答案:C知识点解析:Msgbox语句的功能:显示消息提示框,在对话框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。它有2种形式:①MsgBox函数格式:变量=MsgBox(<提示内容>[,样式][,标题]),注意MsgBox函数带括号,有返回值。②MsgBox语句格式:MsgBox(<提示内容>[,样式][,标题]),有无括号都可以,无返回值。故A选项错误。其中:第1个参数:提示内容是必需的,不能省略。故C选项正确。第2个参数:可选。整型表达式,缺省值0,指定信息框中按钮数目、类型、图标类型、缺省按钮等。第3个参数:可选,如果省略,则标题栏并不为空默认显示它所属的工程名。故D选项错误。执行MsgBox语句时出现信息框后,必须关闭信息框才可执行其他操作。故B选项错误。12、语句Dima(-3To4,3To6)AsInteger定义的数组的元素个数是()。A、18B、28C、21D、32标准答案:D知识点解析:本题定义的是一个整型的二维数组,-3To4指的是-3、-2、-1、0、1、2、3、4(共8行),3To6指的是3、4、5、6(共4列),因此数组元素个数是8×4=32,故选D。13、设窗体文件中有下面的事件过程:PrivateSubCommand1_Click()Dimsa%=100PrintaEndSub其中变量a和s的数据类型分别是()。A、整型,整型B、变体型,变体型C、整型,变体型D、变体型,整型标准答案:C知识点解析:变量s定义时没有指明数据类型,默认为Variant变体型。变量a是用整型的类型符号%声明,并同时赋值100,所以变量a的数据类型为整型。故C选项正确。14、下面不能在信息框中输出"VB"的是()。A、MsgBox"VB"B、x=MsgBox("VB")C、MsgBox("VB")D、CallMsgBox"VB"标准答案:D知识点解析:Msgbox的功能:显示消息提示框,在对话框中显示提示消息,等待用户单击按钮,单击不同的按钮返回不同的整数。MsgBox函数格式:变量=MsgBox(<提示内容>[,样式][,标题]),注意MsgBox函数带括号,有返回值;MsgBox语句格式:MsgBox(<提示内容>[,样式][,标题]),有无括号都可以,无返回值。选项D中用Call语句调用MsgBox函数,要符合Call语句的语法规则:Call函数名(实参表),缺少括号,应该为CallMsgBox("VB"),语法才正确。故D选项不能输出"VB",会出错。15、现有语句:y=IIf(x>0,xMod3,0)设x=10,则y的值是()。A、0B、1C、3D、语句有错标准答案:B知识点解析:IIF是条件函数,它的语法格式是:IIf(<条件表达式>,<表达式为True时的取值>,<表达式为False时的取值>),本题中,x=10时,条件表达式x>0的值为True,执行xMod3即10Mod3结果为1。故选B。16、窗体上有一个菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。下列说法错误的是()。A、在设计"粘贴"菜单项时,在菜单编辑器窗口中设置了"有效"属性(有"√")B、菜单中的横线是在该菜单项的标题输入框中输入了一个"-"(减号)字符C、在设计"选中"菜单项时,在菜单编辑器窗口中设置了"复选"属性(有"√")D、在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了"可见"前面的"√"标准答案:A知识点解析:快捷菜单中的"粘贴"菜单项为无效时,在菜单编辑器窗口中"有效"属性应该是不选中状态,没有"√",故A选项错误。17、假定有以下循环结构:DoUntil条件表达式循环体Loop则以下正确的描述是()。A、如果"条件表达式"的值是0,则一次循环体也不执行B、如果"条件表达式"的值不为0,则至少执行一次循环体C、不论"条件表达式"的值是否为"真",至少要执行一次循环体D、如果"条件表达式"的值恒为0,则无限次执行循环体标准答案:D知识点解析:本题的DoUntil…Loop循环结构是先判断,再执行的结构。DoUntil循环语句执行的过程是,先判断条件表达式的值,如果条件表达式的值为0或False时,即条件不成立时,则执行循环体,否则当条件表达式的值为非0或True时,即成立,则退出DO…Loop循环。本题中,选项A条件表达式的值是0,说明条件不成立,执行循环体。故A错误。选项B条件表达式的值不为0,说明条件成立,退出循环。故B错误。选项C中DoUntil…Loop语句中条件表达式的值为"假"时,才至少执行一次循环体,故C错误。选项D中条件表达式的值恒为0,说明表达式总是不成立,所以可无限执行循环体,故D选项正确。18、执行语句DimX,YAsInteger后()。A、X和Y均被定义为整型变量B、X和Y均被定义为变体类型变量C、X被定义为整型变量,Y被定义为变体类型变量D、X被定义为变体类型变量,Y被定义为整型变量标准答案:D知识点解析:声明变量时可以同时声明多个变量,但要分别说明每个变量的数据类型。如果定义变量时不说明数据类型,默认是Variant变体类型变量。本题中用Dim同时定义了两个变量X、Y,变量X没说明数据类型,所以是Variant型变量,Y是整型变量。故选D选项正确。19、在程序运行时,下面的叙述中正确的是()。A、用鼠标右键单击窗体中无控件的部分,会执行窗体的Form_Load事件过程B、用鼠标左键单击窗体的标题栏,会执行窗体的Form_Click事件过程C、只装入而不显示窗体,也会执行窗体的Form_Load事件过程D、装入窗体后,每次显示该窗体时,都会执行窗体的Form_Click事件过程标准答案:C知识点解析:如果窗体是活动的,那么在窗体上按下鼠标右键(尚未松手抬起),即会触发Form_MouseDown事件,松手抬起后,要先触发Form_MouseUp事件,然后再触发Form_Click事件。如果窗体原先是非活动的,还会触发Form_GotFocus事件,并且它最先发生。Form_Load事件是窗体显示之前,加载时触发,单击窗体时不触发。故A选项错误。用鼠标左键单击窗体标题栏时,不会执行Form_Click事件过程。故B选项错误。装入窗体后,每次显示该窗体时或窗体成为活动窗体时,都会执行From_Active窗体的激活事件。故D选项错误。20、下列有关文件的叙述中,正确的是()。A、以Output方式打开一个不存在的文件时,系统将显示出错信息B、以Append方式打开的文件,既可以进行读操作,也可以进行写操作C、在随机文件中,每个记录的长度是固定的D、无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的标准答案:C知识点解析:A选项错误原因:当以Output方式打开一个不存在的顺序文件时,Open语句会首先创建该文件,然后再打开它,系统不会出错。B选项错误原因:以Append方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读操作。D选项错误原因:VB中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。C选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故C选项正确。21、VB中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光标在Text1文本框中,则每输入一个字母()。A、这3个事件都会触发B、只触发KeyPress事件C、只触发KeyDown、KeyUp事件D、不触发其中任何一个事件标准答案:A知识点解析:当用户按下某键时触发KeyDown和KeyPress事件,放开某键时触发KeyUp事件。故每输入一个字符,这3个事件都会触发。故A选项正确。22、设窗体的名称为Form1,标题为Win,则窗体的MouseDown事件过程的过程名是()。A、Form1_MouseDownB、Win_MouseDownC、Form_MouseDownD、MouseDown_Form1标准答案:C知识点解析:事件过程名格式是:控件名_事件过程名。Form1是窗体控件的名称,Win是窗体的标题,所以窗体的MouseDown事件过程名是:Form1_MouseDown,故选A。23、窗体上有一个名称为HScroll1的滚动条,程序运行后,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是()。A、PrivateSubHScroll1_Change()PrintHScroll1.ValueEndSubB、PrivateSubHScroll1_Change()PrintHScroll1.SmallChangeEndSubC、PrivateSubHScroll1_Scroll()PrintHScroll1.ValueEndSubD、PrivateSubHScroll1_Scroll()PrintHScroll1.SmallChangeEndSub标准答案:A知识点解析:根据题意可知,用户的操作是单击滚动条两端的箭头,故触发的是滚动条的Change事件;在窗体上显示的是滚动框的位置,即滚动条的当前刻度值,Value属性值可返回这个值,综合一下,故A选项正确。24、若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是()。A、用鼠标右键单击此按钮B、按键盘上的Esc键C、按键盘上的回车键D、用鼠标右键双击此按钮标准答案:C知识点解析:当命令按钮的Default属性值为True时,程序运行,按回车键和单击该命令按钮一样都会触发按钮的Click事件;当命令按钮的Cancel属性值为True时,程序运行,按Esc键和单击该命令按钮都会触发按钮的Click事件。故选C。25、假定通过复制、粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是()。A、数组中每个命令按钮的名称(Name属性)均为Command1B、若未做修改,数组中每个命令按钮的大小都一样C、数组中各个命令按钮使用同一个Click事件过程D、数组中每个命令按钮的Index属性值都相同标准答案:D知识点解析:命令按钮控件数组中各控件用相同的名称和同一Click事件过程,大小也一样,但是为了区分它们,各控件的Index属性值是不同的。故D选项错误。26、以下关于菜单的叙述中,错误的是()。A、当窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器B、把菜单项的Enabled属性设置为False,则可删除该菜单项C、弹出式菜单在菜单编辑器中设计D、程序运行时,利用控件数组可以实现菜单项的增加或减少标准答案:B知识点解析:当菜单项的Enabed属性值设置为False时,菜单项只是变为无效项,不可用,不会删除该菜单项。故B选项错误。27、下面哪个属性肯定不是框架控件的属性()。A、TextB、CaptionC、LeftD、Enabled标准答案:A知识点解析:框架没有Text属性。故选A。28、窗体上有一个名称为Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程:PrivateSubOption1_Click(IndexAsInteger)…EndSub下面关于此过程的参数Index的叙述中正确的是()。A、Index为1表示单选按钮被选中,为0表示未选中B、Index的值可正可负C、Index的值用来区分哪个单选按钮被选中D、Index表示数组中单选按钮的数量标准答案:C知识点解析:Index参数值返回的是单选按钮数组中各单选按钮的索引值,用它来区分各单选按钮。故A、D选项错误,C选项正确;Index的值只能是非负数,故B选项错误。29、要想使列表框只允许单选列表项,应设置的属性为()。A、StyleB、SelectedC、MultiSelectD、Enabled标准答案:C知识点解析:列表框的Style属性是设置列表框的外形;Selected属性在程序运行中设置或返回列表项的选中状态;Enabled属性设置列表框可用不可用;MultSelect用来设置选择列表项的方式。0为默认,只允许单选列表项;1为复选,可同时选中一个或多个列表项,但要一个一个选中;2也为复选,可一个一个选中列表项,也可连续选中。故选C。30、在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()DimiAsInteger,nAsIntegerFori=0To50i=i+3n=n+1Ifi>10ThenExitForNextText1.Text=Str(n)EndSub程序运行后,单击命令按钮,在文本框中显示的值是()。A、2B、3C、4D、5标准答案:B知识点解析:程序中For循环的结束有两种情况,一种是循环完指定的次数,一种是达到一定的条件后直接退出循环。由于在循环体中循环变量i的值被修改:i=i+3,因此,每次循环开始时i的取值为0,4,8,i为8时执行i=i+3=11,n=n+1=3,这时i的值大于10,退出For循环,因此For循环执行了3次,即n的值为3。所以在文本框中会显示3。31、窗体上有一个名称为Text1的文本框,一个名称为CD1的通用对话框,一个标题为"打开文件"的命令按钮,如图所示。命令按钮的单击事件过程如下:PrivateSubCommand1_Click()CD1.ShowOpenOpenCD1.FileNameForInputAs#1MsgBoxCD1.FileNameLineInput#1,sText1.Text=sClose#1EndSub单击命令按钮,执行以上事件过程,打开选定的文件,读取文件的内容并显示在文本框中.以下叙述中正确的是()。A、程序没有错误,可以正确完成打开文件、读取文件中内容的操作B、执行Open命令时出错,因为没有指定文件的路径C、Open语句是错误的,应把语句中的ForInput改为ForOutputD、LineInput命令格式错标准答案:A知识点解析:第1条语句中用ShowOpen方法显示"打开"对话框后,在对话框中选中文件,单击"打开"按钮后,CD1.FileName属性就会返回打开文件的路径,所以用Open语句打开文件时,就可用CD1.FileName指定打开文件的路径,故B选项说法错误。因为第4条语句中要用LineInput从文件读取数据,故用Open语句打开文件时用Input模式打开是正确的,故C选项说法错误。LineInput命令格式为:LineInput#文件号,变量名,题中LineInput语句格式正确。故D选项错误。本题程序无错误,能实现所说功能,故A选项正确。32、窗体上有一个如右图所示的图形控件,控件中显示了如图所示的文字,可以判断这个图形控件()。A、是图像框(Image)B、是图片框(PictureBox)C、是形状控件D、不是上述3种控件中的一种标准答案:B知识点解析:图片框是"容器"控件,可以作为父控件,而图像框不能。图片框可以通过Print方法接收文本,并可接收由像素组成的图形,而图像框不能接收Print方法输入的信息,也不能用绘图方法在图像框上绘制图形。而形状控件3D效果的样式,根据题目图示显然不是形状控件。因此这个图形控件是图片框。33、窗体上有一个由两个文本框组成的控件数组,名称为Text1,并有如下事件过程:PrivateSubText1_Change(IndexAsInteger)SelectCaseIndexCase0Text1(1).FontSize=Text1(0).FontSize*2Text1(1).Text=Text1(0).TextCase1Text1(0).FontSize=Text1(1).FontSize/2Text1(0).Text=Text1(1).TextCaseElseMsgBox"执行Else分支"EndSelectEndSub关于上述程序,以下叙述中错误的是()。A、Index用于标识数组元素B、本程序中CaseElse分支的语句永远不会被执行C、向任何一个文本框输入字符,都会在另一个文本框中显示该字符D、下标为0的文本框中显示的字符尺寸将越来越小标准答案:D知识点解析:控件数组的Index属性作为控件数组的下标,用于标识数组元素。题目中程序功能是当任一个文本框内容改变时设置第2个文本框的字号是第1个文本框字号的2倍,同时两个文本框显示相同文字。假如用户没有使用控件数组的Index属性的默认值程序将执行到Else分支。34、设有如下程序:OptionBase1Dima(3,4)AsInteger,b(4,3)AsIntegerPrivateSubCommand1_Click()’循环1Fori=1To3Forj=1To4b(j,i)=a(i,j)NextjNexti’循环2x=b(1,1)Fori=1To4Forj=1To3Printb(i,j);IfxA、窗体模块中,不能使用Dim声明a、b数组B、循环1可以正常运行C、循环2中循环变量i、j的终值不对,所以不能正常运行D、程序可以正常运行,x中保存的是数组b中所有元素中最小的数标准答案:B知识点解析:Dim用于在标准模块、窗体模块或过程中定义变量或数组。程序可以正常运行,x中保存的是数组b元素中的最大值。35、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:PrivateSubCommand1_Click()Dima(10)AsInteger,maxAsIntegerFork=1To10a(k)=InputBox("输入一个整数")Nextkmax=0Fork=1To10Ifa(k)>maxThenmax=a(k)EndIfNextkPrintmaxEndSub运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是()。A、把Ifa(k)>maxThen改为Ifa(k)B、把max=a(k)改为a(k)=maxC、把第2个循环语句Fork=1To10改为Fork=2To10D、把max=0改为max=a(10)标准答案:D知识点解析:程序中把变量max的初始值设置为0,没有考虑到负数的情况。应该把它的初始值设置为数组中的一个元素的值,然后让数组中的各个元素与这个值比较,如果比它大,就替换变量max的值,这样才能得到数组中的最大值。因此要修改max=0这一行。36、已知在4行3列的全局数组score(4,3)中存放了4个学生3门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下:OptionBase1PrivateSubCommand1_Click()DimsumAsIntegersum=0Fori=1To4Forj=1To3sum=sum+score(i,j)NextjPrint"第"&i&"个学生的总分是:";sumNextiEndSub运行此程序时发现,除第1个人的总分计算正确外,其他人的总分都是错误的,程序需要修改。以下修改方案中正确的是()。A、把外层循环语句Fori=1To4改为Fori=1To3内层循环语句Forj=1To3改为Forj=1To4B、把sum=0移到Fori=1To4和Forj=1To3之间C、把sum=sum+score(i,j)改为sum=sum+score(j,i)D、把sum=sum+score(i,j)改为sum=score(i,j)标准答案:B知识点解析:程序变量sum的值在开始计算第2个学生的总成绩时,仍保留着第一个学生的总成绩,这样会把前面学生的总成绩计算进去,显然不对。因此,sum=0这一句应该放在第1层For循环体的第一句,即Fori=1to4和forj=1to3之间。37、某人编写了下面的程序:PrivateSubCommand1_Click()DimaAsInteger,bAsIntegera=InputBox("请输入整数")b=InputBox("请输入整数")proaprobCallpro(a+b)EndSubPrivateSubpro(nAsInteger)While(n>0)PrintnMod10;n=n\10WendPrintEndSub此程序功能是:输入2个正整数,反序输出这2个数的每一位数字,再反序输出这2个数之和的每一位数字。例如:若输入123和234,则应该输出:321432753但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是()。A、把过程pro的形式参数nAsInteger改为ByValnAsIntegerB、把Callpro(a+b)改为proa+bC、把n=n\10改为n=n/10D、在prob语句之后增加语句c%=a+b,再把Callpro(a+b)改为proc标准答案:A知识点解析:在过程定义中过程的形式参数定义时如果没有ByVal指明参数的传递方式,那么默认为地址传递,这样过程中对形参的改变将影响到实参的值。本程序中过程定义语句PrivateSubpro(nAsInteger)说明形参n为按地址传递的,而在过程内语句n=n\10改变了形参的值,因此,a、b的值就不再是最初输入的值了,表达式a+b就不是期望的两个输入数的和。因此得不到正确结果。只要把PrivateSubpro(nAsInteger)改为PrivateSubpro(ByValnAsInteger),程序即可得到正确结果,因此A选项正确。38、在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:PrivateSubCommand1_Click()c=1234c1=Trim(Str(c))Fori=1To4PrintNextEndSub程序运行后,单击命令按钮,要求在窗体上显示如下内容:1121231234则在横线处应填入的内容为()。A、Right(c1,i)B、Left(c1,i)C、Mid(c1,i,1)D、Mid(c1,i,i)标准答案:B知识点解析:程序中使用Str(c)将数值1234转换成为一个字符串"1234",又使用Trim函数去除了字符串首尾可能存在的空格,保证了字符串中只有1、2、3、4这4个字符。在For循环中从左边递次输出这些字符就需要使用Left()函数,Left是左部截取函数,可以截取字符串左边指定个数的字符串,以Left(c1,i)的形式即可每次循环取出期望的字符串。因此答案为B。39、命令按钮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.40、设有如下Command1的单击事件过程及fun过程:PrivateSubCommand1_Click()DimxAsIntegerx=Val(InputBox("请输入一个整数"))fun(x)EndSubPrivateSubfun(xAsInteger)IfxMod2=0Thenfun(x/2)Printx;EndSub执行上述程序,输入6,结果是()。A、36B、63C、6D、程序死循环标准答案:A知识点解析:题目中fun过程是一个递归过程,它的结束条件是参数值为奇数。第一次调用,参数值为6,是偶数所再次调用fun过程,这次参数为6/2=3,是奇数,不再调用自身,接着执行下一句输出参数值即3,然后返回第一次调用过程中执行下一句输出第一次调用参数值,即6。因此程序会输出36。二、基本操作题(本题共1题,每题1.0分,共1分。)41、(1)在名称为Form1的窗体上添加一个名称为L1的标签,标签上标题为“请输入密码”,添加一个名称为Text1的义本框,其宽、高分别为2000和300,设置适当的属性,使得在输入密码时,文本框中显示为“*”字符,此外再把窗体的标题设置为“密码窗口”,以上这些设置都必须在属性窗口中进行,程序运行时的窗体如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjtl.vbp,窗体文件名保存为sit1.frm。(2)在名称为Form1的窗体上添加一个名称为P1的图片框,请编写适当的事件过程,使得程序在运行时,每单击一次图片框。就在图片框中输出“单击图片框”,每单击图片框外的窗体一次,就在窗体中输出“单击窗体”,运行时的窗体如图所示。要求在程序中不得使用变量,每个事件过程中只能写一条语句。注意:存盘时必须存放在考生文件夹下,工程文件名保存为sjl2.vbp,窗体文件名保存为Bjt2.frm。标准答案:步骤1:新建一个窗体,按照要求建立控件并设置其属性。如图3.11所示。程序中用到的控什及属性如表3.7所示。步骤2:调试并运行程序,效果如图3.12所示。步骤3:关闭程序后按题目要求保存工程和窗体文件。(2)步骤1:新建一个窗体,按照题目要求建立控件并设置其属性。如图3.13所示。步骤2:打开代码编辑窗口,在指定位置编写如下代码。PrivateSubFormClick()Form1.Print”单击窗体”EndSubPrivateSubP1C1ick()P1.Print”单击图片框”EndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:(1)通过标签的Caption和Name属性设置标题和名称;通过文本框Name、Height、PasswordChar。和Width属性分别设置文本框的名称、高度、显示“*”字符和宽度;通过窗体Caption属性设置窗体的标题“密码窗口”。(2)通过图片框Name属性设置图片框的名称,运用图片框Print方法,使图片框上显示字符,运用窗体:Print方法,使窗体上显示字符。三、简单应用题(本题共1题,每题1.0分,共1分。)42、(1)在考生文件央下有一个工程文件sjt3.vbp(相应的窗体义件名为sjt3.frm),在窗体上添加一个名称为List1的列表框和一个名称为Text1的文本框,如图1所示。编写窗体的MouseDown事件过程。程序运行后,如果用鼠标单击窗体,则从键盘上输入要添加到列表框中的项目(内容任意,不少于三个);如果用鼠标右键单击窗体,则从键盘上输入要删除的项目,将其从列表框中删除。程序的运行情况如图2所示。这个程序不完整,请把它补充完整,并能正确运行。要求:去掉程序中的汴释符,把程序中的?改为适当的内容,使其正确运行,但不能修改程序中的其他部分。最后将修改后的文件按原文件名存盘。(2)在考牛文件夹下有一个工程文件sjt4.vbp(相应的窗体文件名为sjt4.frm),其功能是通过调用过程FindMin求数组的最小值。程序运行后,在4个文本框中各输入一个整数,然后单击命令按钮,即可求出数组的最小值,并在窗体上显示出来(如图所示)。要求:去掉程序中的注释符,把程序中的?改为正确的内容,使其实现上述功能,但不能修改程序中的其他部分。最后把修改后的文件按原文件名存盘。标准答案:步骤1:打开奉题工程文件,按表3.18所列在窗体画出控件并设置其属性。步骤2:打开代码编辑窗几,去掉程序中的注释符“-”,将问号改为止确的内容。PrivateSubFormMouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=1ThenTextl.Text=InputBox("晰入要-添加的项目")List1.AddItemText1.Text’将Text1中的内容加入列表EndIfIfButton=2ThenTextl.Text=InputBox("请愉入安删除的项目")’列表总数用ListCount求得Fori=0ToList1.ListCount-1’判断列表项是否为要删除的项IfListl.List(i)=Text1.TextThen’删除i所时应的项Listl.RemoveItemiEndIfNextiEndIfEndSub程序结束步骤3:调试并运行程序,关闭程序后按题目要求存盘。(2)步骤1:打开本题工程文件。步骤2:打开代码编辑窗口,去掉程序中的汴释符“,”,将问号改为正确的内容。OptionBase1PrivateFunctionFindMin(a()AsInteger)DimStartAsIntegerDimFinishAsInteger,iAsIntegerStart=LBound(a)’隶数组下界值Finish=UBound(a)’求数组上界值Min=a(Start)’将第一个数赋给最小值进行比较Fori=StartToFinish’循环判断找-最小值Ifa(i)<MinThenMin=a(i)NextiFindMin=MinEndFunctionPrivateSubCommandl_Click()Dimarr1Dimarr2(4)AsIntegerarrl=Array(Val(Text1.Text),Val(Text2.Text),Val(Text3.Text),Val(Text4.Text))‘中请arrl数组并初始化Fori=1To4arr2(i)=CInt(arr1<i))’CInt函数将arrl中的数值转换为整型NextiM=FindMin(arr2)Print"最小值是:",MEndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:(1)当在窗体上按下鼠标键时将触发其Mouse-Down事件,该事件过程的参数Button值为1时表示当前按下的是鼠标左键:当Button值为2时表爪当前按下的是鼠标右键。向列表框添加项目使用Addltem方法,删除列表项使用Removehem方法。当执行删除操作时,本题在For循环语句中逐一判断列表中各项是否与输入内容一致,若一致则删除列表框中该项。程序中用到了InputBox()函数,其格式为:InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])其中常用参数为prompt和mpt是一个字符串,其长度不得超过1024个字符,它是在对话框内显示的信息,用来提示用户输入。title:是一个字符串,它是对话框的标题,显示在对话框顶部的标题区。(2)文本框罩的内容(包括数字)默认都是当做字符串来处理的,如果需要参与数据运算,则需先用Val()函数将其转化为数字(例如Val(Text1.Text))。CInt函数将数值转换为整型。这里需要指出的是,利用Array对数组各元素赋值,声明数组的类犁只能是Variant。在本题的FindMin过程中,用变量Min记录最小值,最初把数组的第一个元素的值赋给Min,然后通过For循环语句将其后的元素依次与之比较,如果小于Min的值则与之交换,依次类推,最终Min的值就是数组各元素中的最小值。在窗体上打印信息可以通过Print方法来实现,其形式为:[对象.]Print要显示的内容四、综合应用题(本题共1题,每题1.0分,共1分。)43、在考生文件夹卜有一个工程义件sjt5.vbp。程序运行时,单击“显示数据”按钮,则将考生文件夹下in5.dat文件的内容读入一维数组a中,并按下标顺序将数组a各元素的值显示在List1列表框中;单击“移动”按钮,则将数组a中的最大值移动到数组的最前面,其他数据的排列顺序不变,并将移动后的结果显示在Ifist2列表框中。单击“保存”按钮,则保存移动后的结果。要求:“显示数据”和“保存”按钮的Click事件过程已经给出,请编写“移动”按钮的Cliek事件过程实现上述功能。程序窗体界面如图所示。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序运行之前必须单击“移动”按钮,并单击“保存”按钮保存结果,否则无成绩。最后程序按原文件名存盘。标准答案:步骤1:打开本题工程文件。步骤2:打开代码编辑窗扣,去掉程序中的注释符“’”,将问号改为正确的内容。Dimi,max,maxindexAsIntegermax=a(1)Fori=2ToUBornd(a)Ifa(1)>maxThenmax=a(1)maxindex=iEndIfNextiList2.AddItem(a(maxindex))Fori=1ToUBound(a)Ifi<>msxindexThenList2.AddItem(a(i))EndIfNexti步骤3:渊试并运行程序,关闭程序后按题目要求存盘。知识点解析:本题考查数组的使用,通过循环结构找出数组中的最大值及对应的下标,并将值分别保存起来。然后利用For循环和List.addltem方法将数组元素值添加到列表框中显示。国家二级(VB)机试模拟试卷第2套一、选择题(本题共40题,每题1.0分,共40分。)1、数据库设计过程不包括A、概念设计B、逻辑设计C、物理设计D、算法设计标准答案:D知识点解析:数据库设计过程主要包括需求分析、、概念结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运行和维护阶段。答案为D选项。2、在VisualBasic环境下设计应用程序时,系统能自动检查出的错误是()。A、语法错误B、逻辑错误C、逻辑错误和语法错误D、运行错误标准答案:A知识点解析:VB中系统只能检查出语法错误,不能检查出逻辑错误。故选A。3、下列合法的变量名是()。A、sum-aB、num_9C、print$D、5avg标准答案:B知识点解析:VB中变量的命名规则为:①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB的保留字。变量名sum-a中有-减号,不合法;print是VB保留字,不能作变量名,不合法;5avg不能以数字开头,不合法。故选B。4、已知:x=-6y=39则表达式"y\x*Sgn(x)"的值为()。A、-6.5B、-6C、6D、6.5标准答案:C知识点解析:本题按运算符从高到低优先级计算:*(\,所以应该是39\-6)*Sgn(-6)=39\(-6)*(-1)=(39\6=6,故选C。5、在VisualBasic中,所有标准控件都具有的属性是()。A、CaptionB、NameC、TextD、Value标准答案:B知识点解析:VB标准控件中不同控件具有不同属性,有的相同有的不同,但都具有Name属性。故选B。6、下列有语法错误的赋值语句是()。A、y=7=9B、s=m+nC、Text1.Text=10D、m+n=12标准答案:D知识点解析:赋值语句的格式是:变量名=表达式。赋值号左边必须是变量名,不能是表达式或常量。D选项中赋值号左边m+n是表达式,不是变量名,故D选项错误。7、在面向对象的程序设计中,可被对象识别的动作称为()。A、方法B、事件C、过程D、函数标准答案:B知识点解析:在VB中可被对象识别的动作称为事件,事件是由用户或系统触发的,触发后就会执行相应的事件过程代码。故选B。8、下列关于顺序文件的描述中,正确的是()。A、文件的组织与数据写入的顺序无关B、主要的优点是占空间少,且容易实现记录的增减操作C、每条记录的长度是固定的D、不能像随机文件一样灵活地存取数据标准答案:D知识点解析:顺序文件的特点是:文件中各记录写入、存放和读取的顺序是一致的,即最先写入的记录放在文件的最前面,后面写入的依次往后面存放,最后写入的记录存放在文件的最后。读取时也是,先读取完前面的记录,才能读取后面的记录。所以文件的组织与数据写入的顺序有关,而且读取文件时效率低,不灵活。故A选项错误,D选项正确。根据顺序文件的特点,文件实现记录的增减不容易。故B选项错误。顺序文件的每条记录中各数据项个数不固定,所以记录的长度也不固定。故C选项错误。9、下列操作说明中,错误的是()。A、在具有焦点的对象上进行一次按下字母键操作,会引发KeyPress事件B、可以通过MousePointer属性设置鼠标光标的形状C、不可以在属性窗口设置MousePointer属性D、可以在程序代码中设置MousePointer属性标准答案:C知识点解析:可以在属性窗口中给MousePointer属性设置属性值。故C选项错误。10、以下打开VisualBasic菜单编辑器的操作中,错误的是()。A、执行"编辑"菜单中的"菜单编辑器"命令B、执行"工具"菜单中的"菜单编辑器"命令C、单击工具栏中的"菜单编辑器"按钮D、右击窗体,在弹出的快捷菜单中选择"菜单编辑器"命令标准答案:A知识点解析:在"编辑"菜单中没有"菜单编辑器"命令。故A选项错误。11、VisualBasic中的"启动对象"是指启动VisualBasic应用程序时,被自动加载并首先执行的对象。下列关于VisualBasic"启动对象"的描述中,错误的是()。A、启动对象可以是指定的标准模块B、启动对象可以是指定的窗体C、启动对象可以是SubMain过程D、若没有经过设置,则默认的"启动对象"是第一个被创建的窗体标准答案:A知识点解析:VB中启动对象可以是SubMain过程或窗体,不能是标准模块。故A选项错误。12、为了使标签控件在显示其内容时不覆盖其背景内容,需进行设置的属性为()。A、BackColorB、BorderStyleC、ForeColorD、BackStyle标准答案:D知识点解析:标签控件的BackStyle属性值为0时,标签为透明的,不会遮住背景内容,BackStyle属性值为1时,标签将覆盖背景。13、VisualBasic控件一般都规定一个默认属性,在引用这样的属性时,只写对象名而不必给出属性名。默认属性为Caption的控件是()。A、列表框(ListBox)B、标签(Label)C、文本框(TextBox)D、组合框(ComboBox)标准答案:B知识点解析:标签主要用来显示文本信息,它所显示的内容只能用Caption属性来设置或修改,Caption为标签控件的默认属性,引用时可以只写标签控件的对象名。14、下列说法中,错误的是()。A、将焦点移至命令按钮上,按Enter键,则引发命令按钮的Click事件B、单击命令按钮,将引发命令按钮的Click事件C、命令按钮没有Picture属性D、命令按钮不支持DblClick事件标准答案:C知识点解析:按钮的Picture属性可以给命令按钮指定一个图形,为了使用这个属性,必须把Style属性设置为1。单击命令按钮或将焦点移至命令按钮上,按Enter键,都会引发命令按钮的Click事件。命令按钮不支持DblClick事件。15、为了将"联想电脑"作为数据项添加到列表框List1的最前面,可以使用语句()。A、List1.AddItem"联想电脑",0B、List1.AddItem"联想电脑",1C、List1.AddItem0,"联想电脑"D、List1.AddItem1,"联想电脑"标准答案:A知识点解析:为列表框控件添加数据的方法是AddItem,List控件的AddItem方法的语法是:AddItem(String,index)。其中index是列表框中列表项的索引值,第一项的索引值为0。16、下列关于利用通用对话框产生的文件对话框的相关属性的描述中,错误的是()。A、InitDir属性用于设置对话框中显示的起始目录B、Filter属性用于设置对话框默认的过滤器C、DefaultExt属性用于设置对话框中默认的文件类型D、FileTitle属性用于存放对话框中所选择的文件名标准答案:B知识点解析:通用对话框的InitDir属性用于设置对话框中显示的起始目录,Filter属性用来指定在对话框中显示的文件类型,FilterIndex用于设置对话框默认的过滤器,DefaultExt属性用于设置对话框中默认的文件类型,FileTitle属性用于存放对话框中所选择的文件名。17、下列事件的事件过程中,参数是输入字符ASCII码的是()。A、KeyDown事件B、KeyUp事件C、KeyPress事件D、Change事件标准答案:C知识点解析:KeyPress事件参数KeyAsciiAsInteger,KeyAscii是所按键字符的ASCII码。KeyDown和KeyUp事件参数有两个,是KeyCodeAsInteger和ShiftAsInteger,KeyCode是按键的实际的ASCII码,同一个按键上的大小写字母它们的KeyCode相同(使用大写字母的ASCII码)。18、已知图片框Picture1中已装入一个图形,为了在不删除图片框的前提下,清除该图形,应采取的正确操作是()。A、在设计阶段选择图片框Picture1,并按Delete键B、在运行期间执行语句Picture1.Picture=LoadPicture("")C、在运行期间执行语句Picture1.Picture=""D、在设计阶段先选中图片框Picture1,再在属性窗口中选择Picture属性,最后按Enter键标准答案:B知识点解析:如果图片框已装入了一个图形,在不删除图片框的前提下要想清除该图形有两种方法。一是在设计阶段在图片框的属性窗口中删除图片框控件Picture属性行后边的"(Bitmap)",另一种方法是在程序运行阶段使用LoadPicture("")装一个空文件,这样也能清除图形。19、窗体上有1个名称为Text1的文本框,1个名称为Timer1的计时器,且已在属性窗口将Timer1的Interval属性设置为2000、Enabled属性设置为False。以下程序的功能是,单击窗体,则每隔2秒钟在Text1中显示一次当前时间。PrivateSubForm_Click()Timer1.EndSubPrivateSubTimer1_Timer()Text1.Text=Time()EndSub为了实现上述功能,应该在横线处填入的内容为()。A、Enabled=TrueB、Enabled=FalseC、Visible=TrueD、Visible=False标准答案:A知识点解析:计时器控件的Interval属性设置为2000,说明计时器事件发生的间隔是2秒,Enable属性设置为False则说明计时器没有激活。根据程序功能,需要在单击窗体时激活计时器,即在窗体单击事件中设置计时器的Enable属性值为True,即Timer1.Enable=True。20、窗体上已有的3个单选按钮组成了1个名为ChkOpt1的控件数组。用于区分控件数组ChkOpt1中每个元素的属性是()。A、CaptionB、ListCountC、ListIndexD、Index标准答案:D知识点解析:控件数组的每个元素都有一个与之关联的下标,下标值由Index属性指定,控件数组的各元素就以这个属性来区分。21、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:OptionBase1PrivateSubCommand1_Click()Dima(4,4)Fori=1To4Forj=1To4a(i,j)=(i-1)*3+jNextjNextiFori=3To4Forj=3To4Printa(j,i);NextjPrintNextiEndSub运行程序,单击命令按钮,则输出结果为()。A、69710B、710811C、811912D、9121013标准答案:D知识点解析:程序中数组元素赋值如下:第1行,a(1,1)=1,a(1,2)=2,a(1,3)=3,a(1,4)=4;第2行,a(2,1)=4,a(2,2)=5,a(2,3)=6,a(2,4)=7;第3行,a(3,1)=7,a(3,2)=8,a(3,3)=9,a(3,4)=10;第4行,a(4,1)=10,a(4,2)=11,a(4,3)=12,a(4,4)=13;要输出的元素为:a(3,3)、a(4,3)、a(3,4)、a(4,4),即为9、12、10、13。因此答案为D。22、在窗体上画一个名称为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。23、在窗体上画一个名称为Command1的命令按钮,并编写如下程序:PrivateTypeRecordIDAsIntegerNameAsString*20EndTypePrivateSubCommand1_Click()DimMaxSize,NextChar,MyCharOpen"d:\temp\female.txt"ForInputAs#1MaxSize=LOF(1)ForNextChar=MaxSizeTo1Step-1MyChar=Input(1,#1)NextNextCharPrintEOF(1)Close#1EndSub运行程序,单击命令按钮,其输出结果为()。A、TrueB、FalseC、0D、Null标准答案:A知识点解析:程序中以顺序输入方式打开d:\temp\female.txt文件。Lof函数取得打开文件的长度。EOF函数用来测试文件的结束状态。根据文件长度值,利用Input函数逐一取出文件中的字符,每读取一个字符,文件指针自动下移,指向下一个字符。当执行最后一次循环时,Input函数读取了最后一个字符,文件指针再向下移动就会指向文件的结尾。因此当EOF函数测试文件结束状态时,就会返回True。对于逻辑值,Print语句会直接输出"True"。因此答案为A。24、编写如下程序:PrivateSubCommand1_Click()DimmAsInteger,nAsIntegerm=1:n=0DoWhilem<20n=m+nm=3*m+1LoopPrintm,nEndSub程序运行后,单击命令按钮Command1,输出结果为()。A、4018B、4019C、2064D、2164标准答案:A知识点解析:循环中各变量值变化如下:n=m+n=1+0=1,m=3*m+1=3+1=4,4小于20继续循环;n=m+n=4+1=5,m=3*m+1=12+1=13,13小于20继续循环;n=m+n=13+5=18,m=3*m+1=39+1=40,40不小于20,循环结束。此时m=40,n=18。25、下列循环中,可以正常结束的是()。A、i=10Doi=i+1LoopUntili<1B、i=1Doi=i+1LoopUntili=10C、i=10Doi=i+1LoopWhilei>1D、i=10Doi=i-2LoopUntili=1标准答案:B知识点解析:选项A中先执行一次循环体,i的值变成1,测试循环结束条件,i<1不成立,循环继续,i值总是增加,达不到循环结束条件,不能正常结束。选项B先执行循环体,i值加1变成2,再测试循环结束条件i=10,继续循环,i值再加1,直到i变为10,循环结束。选项C中i初值为10,先执行一次循环体,使i加1,然后判断继续循环的条件i>1是否成立,此后i值不会小于等于,循环会一直继续下去,不会正常结束。选项D中i初值为10,每次循环i值减2,因此它总是偶数,而循环结束的条件是i=1,不可能达到,循环会一直继续下去。26、编写如下程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=InputBox("输入第一个数")y=InputBox("输入第二个数")Callf(x,y)Printx,yEndSubSubf(aAsInteger,ByValbAsInteger)a=a*2x=a+bb=b+100EndSub程序运行后,单击命令按钮Command1,并输入数值10和15,则输出结果为()。A、10115B、20115C、3515D、2015标准答案:D知识点解析:程序中过程f的参数a默认为按址传递,参数b指定按值传递,因此调用f(x,y)时,x的值会受到影响,y的值不会。程序中输入10和15,则x=10,y=15。调用f(x,y),在过程中a=a*2,即a=10*2=20,变量x是过程f中的局部变量,没有用处可不用理会,b=b+100,即b=15+100=115。a的值即按钮单击事件中变量x的值,因此x=20,而y的值仍是原来的值15,因此Printx,y输出2015。27、编写如下程序:PrivateSubCommand1_Click()Dimstr1AsString,str2AsStringstr1=InputBox("输入一个字符串")subfstr1,str2Printstr2EndSubSubsubf(s1AsString,s2AsString)DimtempAsStringStaticiAsIntegeri=i+1temp=Mid(s1,i,1)Iftemp<>""Thensubfs1,s2s2=s2&tempEndSub程序运行后,单击命令按钮Command1,且输入"abcdef",则输出结果为()。A、afbecdB、cdbeafC、fedcbaD、adbecf标准答案:C知识点解析:程序中过程subf的两个参数都默认按址传递,其内部定义的变量i为Static即静态变量,在过程调用时它会保留上次的值。这个过程的功能是通过递归调用自己依次取出参数1中即s1中的字符连接在s2的尾部,即使s1的字符串倒序后存入s2中。程序中输入了abcdef,则输出结果为fecdba。28、编写如下程序:PrivateSubCommand1_Click()Dima(3,3)AsIntegerDimsAsIntegerFori=1To3Forj=1To3a(i,j)=i*j+iNextjNextis=0Fori=1To3s=s+a(i,4-i)NextiPrintsEndSub程序运行后,单击命令按钮Command1,输出结果为()。A、7B、13C、16D、20标准答案:C知识点解析:程序通过For循环为数组a赋值,具体值如下:a(1,1)=1+1=2,a(1,2)=2+1=3,a(1,3)=3+1=4;a(2,1)=2+2=4,a(2,2)=4+2=6,a(2,3)=6+2=8;a(3,1)=3+3=6,a(3,2)=6+3=9,a(3,3)=9+3=12;程序要计算指定数组元素的和,这几个元素是a(1,3),a(2,2),a(3,1),所以s=4+6+6=16。29、编写如下程序:OptionBase1PrivateSubCommand1_Click()Dimaa=Array(1,2,3,4)s=0:j=1Fori=4To1Step-1s=s+a(i)*jj=j*10NextiPrintsEndSub程序运行后,单击命令按钮Command1,输出结果为()。A、110B、123C、1234D、4321标准答案:C知识点解析:变量a初始化为含4个元素的数组,由于有OptionBase1语句,因此数组下标下界为1,元素值a(1)~a(4)依次为1、2、3、4。For循环中从第4个元素开始对4个元素值运算后累加,运算方法是第1个元素值乘10的0次方,第2个元素值乘10的1次方,第3个元素值乘10的2次方,第4个元素值乘10的3次方。即4+30+200+1000=1234。30、编写如下程序:PrivateSubCommand1_Click()DimmAsInteger,nAsIntegern=2Form=1To3Printproc(n);NextmEndSubFunctionproc(iAsInteger)DimaAsIntegerStaticbAsIntegera=a+1b=b+1proc=a*b+iEndFunction程序运行后,单击命令按钮Command1,输出结果为()。A、333B、345C、356D、123标准答案:B知识点解析:变量b定义为Static即静态变量,它的特点是每次调用都会保留上次的值。程序click事件中调用了3次proc(n),即proc(2):第一次,a=a+1=0+1=1,b=b+1=0+1=1,proc=a*b+i=1*1+2=3;第二次,a=a+1=0+1=1,b=b+1=1+1=2,proc=a*b+i=1*2+2=4;第三次,a=a+1=0+1=1,b=b+1=2+1=3,proc=a*b+i=1*3+2=5;因此输出的结果为345。31、编写如下程序:PrivateSubForm_Click()Print"Welcome!"EndSubPrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Print"欢迎!"EndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Print"热烈欢迎!"EndSub程序运行后,单击窗体,输出结果为()。A、欢迎!热烈欢迎!Welcome!B、欢迎!Welcome!热烈欢迎!C、Welcome!欢迎!热烈欢迎!D、Welcome!热烈欢迎!欢迎!标准答案:A知识点解析:在窗体事件中,鼠标按键按下激发MouseDown事件,鼠标按钮松开激发MouseUp事件,鼠标按下并松开后激发Click事件,所以这三个事件的顺序是MouseDown、MouseUp、Click,因此输出文字的顺序是"欢迎!"、"热烈欢迎!"、"Welcome!"。32、下列叙述中正确的是A、一个算法的空间复杂度大,则其时间复杂度也必定大B、一个算法的空间复杂度大,则其时间复杂度必定小C、一个算法的时间复杂度大,则其空间复杂度必定小D、算法的时间复杂度与空间复杂度没有直接关系标准答案:D知识点解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,算法的时间复杂度,是指执行算法所需要的计算工作量,两者之间并没有直接关系,答案为D。33、下列叙述中正确的是A、循环队列中的元素个数随队头指针与队尾指针的变化而动态变化B、循环队列中的元素个数随队头指针的变化而动态变化C、循环队列中的元素个数随队尾指针的变化而动态变化D、以上说法都不对标准答案:A知识点解析:在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。所以循环队列中的元素个数与队头指针和队尾指针的变化而变化,A正确。34、一棵二叉树中共有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。35、对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为A、9B、10C、45D、90标准答案:C知识点解析:冒泡法是在扫描过程中逐次比较相邻两个元素的大小,最坏的情况是每次比较都

温馨提示

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

评论

0/150

提交评论