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

下载本文档

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

文档简介

国家二级(VB)机试模拟试卷2(共9套)(共356题)国家二级(VB)机试模拟试卷第1套一、选择题(本题共40题,每题1.0分,共40分。)1、算法一般都可以用哪几种控制结构组合而成()。A、选择、分支、递归B、顺序、循环、选择C、循环、递归、选择D、顺序、选择、嵌套标准答案:B知识点解析:算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则。一个算法一般都可以用顺序、循环、选择三种基本控制结构组合而成。本题答案为B。2、用链表表示线性表的优点是()。A、花费的存储空间较顺序存储少B、没有明显优势C、便于插入和删除操作D、便于随机存取操作标准答案:C知识点解析:链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。本题答案为C。3、在下列几种排序方法中,要求内存量最大的是()。A、冒泡排序B、插入排序和选择排序C、归并排序D、快速排序标准答案:C知识点解析:快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到褴个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。本题答案为C。4、下面不属于软件工程j三要素的是()。A、需求B、方法C、工具D、过程标准答案:A知识点解析:软件工程包括3个要素,即方法、工具和过程。本题答案为A。5、下列不属于结构化分析的常用工具的是()。A、数据流图B、流程图C、数据字典D、判定树和判定表标准答案:B知识点解析:结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD流程图是常见的过程设计工具中的图形设计。本题答案为B。6、在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是()。A、路径的集合B、选择的集合C、操作的集合D、目标的集合标准答案:A知识点解析:软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。本题答案为A。7、在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有()。A、数据较低的冗余度B、数据共享度高C、特定的数据模型D、专门的数据管理软件标准答案:C知识点解析:在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。本题答案为C。8、下列说法中,不属于数据模型所描述的内容的是()。A、数据结构B、数据操作C、数据约束D、数据管理标准答案:D知识点解析:数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。本题答案为D。9、用二维表的形式表示实体和实体间联系的数据模型是()。A、关系模型B、层次模型C、网状模犁D、数据模型标准答案:A知识点解析:层次模型是最早发展出来的数据库模型。它的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织机构,它们自顶向下、层次分明。关系模型:用二维表的形式表示实体和实体问联系的数据模型。关系模型的特点:关系模型与非关系模型不同,它是建立在严格的数学概念基础上的。关系模型的概念单一,无论实体或实体之间的联系都用关系表示。存取路径对用户透明。关系必须是规范化的关系。本题答案为A。10、在数据库设计中,将E-R图转换成关系数据模型的过程属于()。A、需求分析阶段B、概念设计阶段C、逻辑设计阶段D、物理设计阶段标准答案:C知识点解析:数据库的逻辑设计主要工作是将E-R图转换成指定的RDBMS中的关系模式。11、以下合法的VB变量名是()。A、_xB、2yC、a#bD、x_1_x标准答案:D知识点解析:VB中变量的命名规则为:①必须以字母或汉字开头②由字母、汉字、数字或下划线组成③不能使用VB的保留字。-x不能以一下划线开头,不合法;2y不能以数字开头,不合法;a#b中有#,不合法;D选项符合命名规则,故D选项正确。12、以下关于VB特点的叙述中,错误的是()。A、VB中一个对象可有多个事件过程B、VB应用程序能以编译方式运行C、VB应用程序从Form_Load事件过程开始执行D、在VB应用程序中往往通过引发某个事件导致对对象的操作标准答案:C知识点解析:VB应用程序不一定从From_Load事件开始执行,它是由工程中启动对象决定先从哪儿开始执行。故C选项错误。13、有如下语句序列:Dima,bAsIntegerPrintaPrintb执行以上语句序列,下列叙述中错误的是()。A、输出的a值是0B、输出的b值是0C、a是变体类型变量D、b是整型变量标准答案:A知识点解析:任何变量在被声明后都会有一个初始值。一般情况下,数值型变量的初始值为0;字符串变量的初始值为空字符串;变体型变量的初始值为空值,即Null值;布尔型的初始值为假,即False。本题中变量a定义时没有声明数据类型,默认为Variant变体型变量,默认值是Null;变量b定义为整型变量,默认值为0。所以输出a为空白,b为0。故A选项错误。14、以下关于控件数组的叙述中,错误的是()。A、各数组元素共用相同的事件过程B、各数组元索通过下标进行区别C、数组可以由不同类型的控件构成D、符数组元素具有相同的名称标准答案:C知识点解析:控件数组是由类型相同的控件组成,具有相同的名称,用下标Index属性区分各数组元素,它们共用相同的事件过程。故C选项错误。15、以下关于VB文件的叙述中,正确的是()。A、标准模块文件的扩展名是.frmB、VB应用程序可以被编译为.exe文件C、一个工程文件只能含有-个标准模块文件D、类模块文件的扩展名为.bas标准答案:B知识点解析:标准模块文件的扩展名是.bas,不是frm,故A选项错误。一个工程中可以包含一个或多个标准模块文件,故C选项错误。类模块文件的扩展名为.cls,不是bas。故D选项错误。B选项正确。16、以下自定义数据类型的语句中,正确的是()。A、TypestudentIDAsString*20nameAsString*10ageAsIntegerEndstudentB、TypestudentIDAsString*20nameAsString*10ageAsIntegerEndTypeC、TypestudentlDAsStringnameAsStringageAsIntegerEndstudentD、TypeIDAsString*20nameAsString*10ageAsIntegerEndTypestudent标准答案:B知识点解析:自定义数据类型的语法结构是:Type自定义类型名<成员名1>[(下标)]As<标准类型名1><成员名2>[(下标)]As<标准类型名2>……EndType其中,成员可以定义为定长的或不定长字符串,也可定义为数组。本题中,B选项符合语法规则,故B选项正确。17、设:a=12,b=5,c=7,表达式x=(a\c+aModb)+Int(13/5)的值是()。A、5B、6C、7D、9标准答案:A知识点解析:按算术运算符优先级从高到低顺序依次计算:/、\、Mod,结果为5,故选A。18、在程序中要使用Array函数给数组arr赋初值,则以下数组变鞋定义语句中错误的是()。A、StaticarrB、Dimarr(5)C、Dimarr()D、DimarrAsVariant标准答案:B知识点解析:用Array函数可以给Variant类型的动态数组赋值;也可给Variant类型的变量赋值,此时该变量也看作是一个Variant类型的动态数组。例如:Dima()AsVariant,bAsVarianta=Array(1,“abc’’,3):b=Array(5,6)本题中A、D选项是把arr都定义为Variant型的变量,C选项是把arr定义为动态数组,这都可以用Array函数给arr数组赋初值;B选项定义了一个Variant型的一维固定数组arr,Array函数不能给固定数组赋初值,故B选项错误。19、以下关于变量作用域的叙述中错误的是()。A、在窗体模块的声叫部分声明的Private变量,其作用域是窗体内的所有过程B、在标准模块的声明部分声明的Private变量,其作用域是模块内的所有过程C、在窗体模块的声明部分声明的Pubilc变量,其作用域是本窗体的所有过程D、在标准模块的声叫部分声明的Pubilc变量,其作用域是应用程序的所有过程标准答案:C知识点解析:在窗体模块中声明的Public变量,其作用域是应用程序的所有过程,故C选项错误。但用时注意:变量名前要加窗体名,否则不能被其他模块的过程引用,只能被本模块内的所有过程引用。20、下面关于文件叙述中错误的是()。A、VB数据文件需要先打开,再进行处理B、随机文件每个记录的长度是同定的C、小论是顺序文件还是随机文件,都是数据文件D、顺序文件的记录是顺序存放的,可以按记录号直接访问某个记录标准答案:D知识点解析:顺序文件的记录是顺序存放的,先写入的记录存放在文件的最前面,后写入的依次往后面存放,最后写入的记录放在文件的最后面。如果访问某条记录。要先访问前面的记录,才能访问后面的记录,不能按记录号直接访问。故D选项错误。21、符要使文本框能够输入多行文本,应该设置的属性是()。A、MultiIineB、WordWrapC、ScrolIBarsD、AutoSize标准答案:A知识点解析:文本框控件的MultiLine属性如果设置为False,则在文本框中只能输入单行文本;当设置为True时,可以使用多行文本,即在文本框中输入或输出文本时可以换行,并在下—行接着输入或输出。22、以下关于命令按钮的叙述中正确的是()。A、命令按钮上可以显示图片B、命令按钮能够分别响应单击、双击事件C、程序运行时,不能改变命令按钮上的文字D、若命令按钮的Cancel属性设为True,焦点在其他控件上时,按下回车键与单击该按钮的效果相同标准答案:A知识点解析:按钮控件的Picture属性可以给命令按钮指定一个图形。按钮的标题由属性Caption设置,可以在程序中动态指定。当一个命令按钮的Cancel属性被设置为True时,按ESC键与单击该命令按钮的作用相同。命令按钮能够响应单击事件,但不能响应双击事件。23、窗体上有一个名称为VScrolll的垂直滚动条,要求程序运行时,滚动块的初始位置在最下端,应该使VScrolll.Value的值等于()。A、VScroll1.LargeChangeB、VScroll1.SmalICangeC、VScrolll.MaxD、VScrolll.Min标准答案:C知识点解析:滚动条的Value属性表示滚动框在滚动条上的当前位置,默认值为0,即在滚动条的左端或顶端,如果Value的值等于Max属性的值时,则滚动框在滚动条的最右端或底端。24、设窗体名称为frml。以下叙述中正确的是()。A、运行程序时,能够加载窗体的事件过程是frml_LoadB、运行程序时,能够加载窗体的事件过程是Forml_LoadC、程序运行中用语句:frml.Name=“New”可以更改窗体名称D、程序运行中朋语句:frm1.caption=“新标题”可以改变窗体的标题标准答案:D知识点解析:一个控件的事件过程由控件的实际名字(Name属性)、下划线和事件名称组成,而窗体事件过程由“Form”、下划线和事件名组成。因此,不管窗体名称是什么,窗体加载事件过程总是Form_Load。窗体的名称即Name属性在程序运行时不可以更改,窗体的标题即Caption属性则可以在程序运行时更改。25、设运行程序时弹出的菜单如图所示.关于该菜单,以下叙述中错误的是()。A、菜单中能够显示分隔线是因为该菜单项的标题为“-”B、分隔线对应的菜单项的Name属性可以为空C、“退出”菜单项的有效性属性被设为:FalseD、使用PoptlpMenu方法能够显示如图所示的菜单标准答案:B知识点解析:在设计菜单时,如果在菜单标题栏输入“-”,则可以在菜单中加入一条分隔线,菜单中每一个菜单项,包括分隔线,都要有一个名称,即Name属性不能为空。菜单项有效性属性设为Flase时,则该项显示为灰色不可用状态。可以使用PopupMenu的方法显示弹出式菜单,格式为:PopupMenu菜单名。26、窗体上有一个列表框控件Listl。以下叙述中错误的是()。A、Listl中有ListCount-1个列表项B、当Listl.Selected(i)=True,表明第i项被选中C、设置某些属性,可以使列表框显示多列数据D、Listl.Text的值是最后一次被选中的列表项文本标准答案:A知识点解析:列表框控件的列表项个数即为ListCount属性值。如果列表项的某项被选中,则该项的Selected属性值为True。列表框控件的Columns属性用来确定列表框的列数。Text属性的值为最后一次选中的表项的文本,不能直接修改Text属性。27、以下关于单选按钮和复选框的叙述中,正确的是()。A、单选按钮和复选框都能从多个选项中选择一项B、单选按钮和复选框被选中时,选中控件的Value属性值为TrueC、是否使用框架控件将单选按钮分组,对选项没有影响D、是否使用框架控什将复选框分组,对选项没有影响标准答案:D知识点解析:复选框按钮可以同时选择多个,而在一组单选按钮中,只能选择其中的一个。单选按钮被选中时,其Value属性值为True,如果没有被选中其Value值为False,复选框的Value属性可以设置为0、l和2,分别代表没选中、选中和禁用。单选按钮一般用框架进行分组,每个框架内的单选按钮的操作不影响其他组的按钮,而复选框是否分组对选项没有影响。28、窗体的Mouseup事件过程如下:PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAs:Integer,XAsSingle,YAsSingle)…EndSub关于以上定义,以下叙述中错误的是()。A、根据shift参数,能够确定使用转换键的情况B、根据x、Y参数可以确定触发此事件时鼠标的位置C、Button参数的值是在MouseUp事件发生时,系统自动产生的D、MouselJp是鼠标向上移动时触发的事件标准答案:D知识点解析:MouselJp事件是鼠标松开时触发的事件过程,事件过程的Button参数值由系统产生,为被按下的键,Shift参数表示Shift、Ctrl和Alt键的状态,x、Y参数表示光标的当前位置。29、窗体上有一个名称为CDl的通用对话框,一个名称为Commandl的命令按钮,相应的事件过程如下:PrivateSubCommandlClick()CDI.Fiher=“AIIFilel*.*|TextFile|*.txtl|Word|*.Doc”CDl.Filterlndex=2CDI.FileName=“E:\Test.ppt”CDl.InitDir=“E:\Test.ppt”CDl.ShowOpenEndSub关于上述程序,以下叙述中正确的是()。A、初始过滤器为“*.*”B、指定的初始目录为“E:\”C、以上程序代码实现打开文件的操作D、由于指定文什类型是.ppt,所以导致打开文件的操作失败标准答案:B知识点解析:通用对话框的.Fihedndex属性值表示默认的过滤器,值为2表示初始过滤器为过滤器中的第2个,即“*.txt”。InitDir属性表示打开对话框时的初始目录。ShowOpen方法表示显示打开文件对话框。打开文件通用对话框只是返回选中的文件,具体如何操作文件需要另行编程决定,因此不会导致文件打开失败。30、编写如下程序:PrivateSubCommandl_Click()DimiAsInteger,jAsIntegern=InputBox(“输入一个大于1的正整数”)Fori=2TonForj=2ToSqr(i)IfiModi=0ThenExitForNextjIfj>Sqr(i)ThenPrintINextIEndSub该程序的功能是()。A、判断n是否为素数B、输出n以内所有的奇数C、输出n以内所有的偶数D、输出n以内所有的素数标准答案:D知识点解析:假设输入2、4、9进行验证,输入2时程序会输出2,输入4时,程序会输出2、3,可见程序不是判断n是否为素数,所以A不对。由前面验证可知,程序也不是输出n以内的所以奇数或偶数,所以B、c也不对。如果输入9时,程序会输出2、3、5、7,说明程序是输出n以内的所有素数,所以D正确。31、以下程序的功能是随机产生10个两位的整数:OptionBase1PrivateSubCommandl_Click()Dima(10)AsIntegerDimiAsIntegezRandomizeFori=lTo10a(i)=int(Rnd*100)+1Printa(i)NextIEndSub运行以上程序,发现有错误,需要对产生随机数的语句进行修改。以下修改正确的是()。A、a(i)=Int(Rnd*100)B、a(i)=Int(Rnd*90)+10C、a(i)=hat(Rnd*100)+10D、a(i)=Int(Rnd*101)标准答案:B知识点解析:由Rnd函数生成的随机数在0~1之间,包括0但不包括1,所以有可能产生0,与题目要求的两位的整数不符。所以语句a(i)=Int(Rnd*100)+l需要修改为a(i)=Int(Rnd$90)+10,这样就能正确产生丽位的整数了。32、在窗体上画一个名称为Commandl的命令按钮,编写如下事件过程:PrivateSubCommandl_Click()n=0Fori=0To10X=2*i-lTfXMod3=0Thenn=n+1Next1PrintnEndSub运行程序,单击命令按钮,则窗体上显示的是()。A、lB、3C、5D、7标准答案:B知识点解析:Mod是取模运算符,即求运算两数相除的余数。每次循环中x的值分别是-1,1,3,5,7,9,1l,13,15,17,19,其中与3求模为0的数有3、9、15共3个,因此n=n+1会执行3次,最终n=3。33、窗体上有名称为Commandl的命令按钮,名称分别为Labell、Label2、Label3的标签。编写如下程序:PrivateXAsIntegerPrivateSubCommandl_Click()StaticYAsIntegerDimzAsIntegern=5Z=Z+nY=Y+nx=x+YLabe11=XLabel2=YLabel3=ZEndSub运行程序,连续3次单击命令按钮后,3个标签中分别显示的是()。A、555B、15105C、151515D、30155标准答案:D知识点解析:变量x被定义为窗体模块变量,它在整个窗体模块中有效。Click事件中变量y定义为Static,即静态变量,它的值在每调用过程时都会保留上次的值。每次单击按钮标签中显示的值即x、y、z的值是:第一次,n=5,z=z+n=0+5=5,y=y+n=0+5=5,x=x+y=0+5=5;第二次,n=5,z=z+n=0+5=5,y=y+n=5+5=l0,x=x+y=5+10=15;第三次,n=5,z=z+n=0+5=5,y=y+n=10+5=15,x=x+y=15+15=30;因此3次单击命令按钮后,3个标签中分别显示的是30155。34、命令按钮Commandl的事件过程如下:PrivateSubCommandl_Click()Dimarr(5,5)AsIntegerDimiAsInteger,jAsIntegerFori=1To4Forj=2To4arr(i,j)=i+jNextjNextIPrintarr(1,3)+arr(3,4)EndSub执行上述过程,输出结果是()。A、6B、17C、11D、12标准答案:C知识点解析:当用Dim语句定义数组时,该语句把数组中的全部元素都初始化为0,而把字符串数组中的全部元素都初始化为空字符串。程序中利用For循环为数组arr的部分元素赋值这些元素的第一维范围是1~4,第二维的范围是2~4,值为两维下标的和。程序要输出an(1,3)+arr(3,4)的值,arr(1,3)值为1+3=4,arr(3,4)值为3+4=7。4+7=ll,因此程序输出结果为11。35、现有程序如下:OptionBaselPrirateSubForm_Click()Dimx(5,6)AsInteger,y(5)AsIntegerFori=1To5Forj=1To6x(i,j)=Int(Rnd*9+1)NextjNextICallf(5,6,x,Y)Fori=1To5PrintY(i);Next1EndSubSubf(mAsInteger,nAsInteger,a()AsInteger,b()AsInteger)Fori=lTomb(i)=0Forj=1Tonb(i)=b(i)+a(i,j)NextiNextiEndSub关于上述程序,以下叙述中正确的是()。A、调用过程语句有错,参数不匹配B、程序有错,数组下标越界C、y数组中保存的是x数组每行数据之和D、X数组中数据的取值范围是1-10标准答案:C知识点解析:程序利用For循环为数组x的5行6列元素以随机整数赋值,随机数的范围是从1到9。过程f的功能是计算二维数组a()的每一行中元素值的和,每一行的和存放在另一个数组b()中,最后程序输出这些和值。因此C正确。36、窗体上有一个名称为Labell的标签、一个名称为Timerl的计时器,其Enabled和Interval属性分别为True和1000。编写如下程序:DimnAsIntegerPrivateSubTimerl_Timer()ch=Chr(n+Asc(“A”))Labell.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的值每次调用计时器事件过程都会加l,n=nMod4又会使n值只能为0、l、2、3,因此程序运行后每1秒Label1标签将依次显示“A”、“B”、“C”、“D”。37、窗体上有一个名称为Commandl的命令按钮,一个名称为Textl的文本框。编写如下程序:PrivateSubCommandl_Click()DimXAsIntegerx=Val(InputBox(“输入数据”))Textl=Str(x+fun(X)+fun(X))EndSubPrivateFunctionfun(ByRefnAsInteger)IfnMod3=0Thenn=n+nElsen=n*nEndIffun=nEndFunction对于上述程序,以下叙述中错误的是()。A、语句fun=n有错,因为n是整型,fun没有定义类型B、运行程序,输入值为5时,文本框中显示655C、运行程序,输入值为6时,文本框中显示42D、ByRef表示参数按址传递标准答案:A知识点解析:过程fun的功能是将传入的值运算后返回,当传入数值为3的整数倍时返回该值的2倍,否则返回该值的平方。过程Fun的参数指定为ByRef方式,即按址传递,因此会影响实参的值。str函数是将数值转换为字符串。过程fun定义时没有指明返回类型因此默认为Variant类型,它可以表示任何值,因此A选项的说法不正确。38、设工程文件中包名称分别为Forml、Form2的两个窗体,且Forml的菜单属性设置如下:窗体FormI中的程序如下:DimFlagAsBooleanPrivateSubForm_Load()Flag=TrueEndSubPrivateSubnlnul_Click(indexAsInteger)IfIndex=1ThenIfFlag=TrueThenForm2.showmnul(1).Caption=“隐藏窗体2”Flag=FalseElseForm2.Hidemnul(1).Caption=“显示窗体2”Flag=TrueEndIfEndIfIfIndex=2ThenEndEndSub关于上述程序,以下叙述中错误的是()。A、Index属性的值可以用来区分控件数组元素B、Index为l的菜单项的标题可能会改变C、两个名称均为Mnul的菜单项构成一个控件数组D、语句Form2.Hide将Form2卸载标准答案:D知识点解析:程序中菜单Mnul是一个控件数组,它们以Index属性值作为数组下标来区分符元素。在菜单单击事件中,Flag值为真时,显示Form2,同时把索引为l的菜单项标越改为“隐藏窗体2”,然后把Flag标志设为假;当Flag值为假时,隐藏Form2,同时把索引为l的菜单项标题改为“显示窗体2”,然后把Flag标志设为真。窗体Hide方法,只是将窗体隐藏,并没有从内容中卸载。因此D选项错。39、有如下程序:PrivateSubCommandl_Click()DimiAsInteger,jAsIntegerDimSumAsIntegern=lDoj=1Dosum=sum+jj=j+1Printj;LoopUntilj>3n=n+2LoopUntiln>10PrintsumEndSub运行上述程序,外层Do循环执行的次数为()。A、4B、5C、7D、10标准答案:B知识点解析:外层Do循环结束条件是n>10,n初值为1,每次加2,循环体中每次循环n的值为3、5、7、9、11,值变化5次,因此外层Do循环执行次数为5次。40、以下过程的功能是从数组中寻找最大值:PrivateSubFindMax(a()AsInteger,ByRefMaxAsInteger)DimsAsInteger.fAsIntegerDimiAsIntegers=LBound(a)f=UBotlnd(a)Max=a(s)Fori=sTofIfa(i)>MaxThenMax=a(i)NextEndSub以下关于上述过程的叙述中,错误的是()。A、语句CallFindMax(a,m)可以调用该过程,其中的a是数组,m是Integer类型变量B、For循环次数等于a数组的元素数C、过程末尾应该增加一条返回最大值的语句FindMax=MaxD、参数Max用于存放找到的最大值标准答案:C知识点解析:过程定义语句中第1个参数是数组,调用是实参应该是一个数组变量或元素,第2个参数是整型变量。过程中LBound函数获取数组下标的下限,UBound函数获取了数组下标的上限,在Fori=Stof语句的循环中就可以访问数组中的符个元素。本过程是用Sub定义的过程不需要返回值。程序中找到的最大值由参数Max返回,因为它是按址传递的参数,它的值会带给给实参。因此C选项的说法错误。二、基本操作题(本题共1题,每题1.0分,共1分。)41、(1)在名称为F0rml的窗体上添加一个标签(名称为Labell,标题为空白,BorderStyle属性为1,Visible属性为False)、一个文本框(名称为Textl,Text属性初始内容为空)和一个命令按钮(名称为Commandl,标题为“显示”),如图l所示。然后编写命令按钮的Click事件过程。程序运行后,在文本框中输入“计算机等级考试”,然后单击命令按钮,则文本框消失,并在标签内显示文本框中的内容。程序运行后的窗体如图2所示。要求程序中小得使用仟何变量。注意:存盘时必须放在考生文件夹下,工程文件名保存为sjtl.vbp,窗体文件名保存为sjtl.frm。(2)在名称为Forml的窗体上添加一个文本框(名称为Textl)和一个水平滚动条(名称为HScrolll),如图1所示。在属性窗¨中对滚动设置如下属性:编写适当的事件过程。程序运行后,通过改变滚动条上的刻度值,则可扩大或缩小文本框的高度,并使得文本框的宽度始终是其高度的1.2倍。程序运行后的窗体如图2所示。要求程序中不得使用任何变量。注意:存盘时必须存放在考生文件夹下,工程文件名保存为Sjt2.vbp,窗体文件名保存为sjt2.frm。标准答案:(1)Texl属性用于设置文本框中显示的文本。标签的Caption属性可设置其标题。Visible属性用于设置控件或菜单项在程序运行时是否可见。步骤l:建立界面,并设置控件的属性。程序中涉及的控件及属性见表l和表2。步骤2:编写程序代码。PrivateSubCommandl_Click()Labell.Visible=TrueLabel.Caption=Textl.TextTextI.Visible=FalseEndSub步骤:3调试并运行程序,关闭程序后按题目要求存盘。(2)通过调整滚动条滑块的位置即可改变其Vahle属性的值,滚动条的Max和Min属性为滚动条所能表示的最大值和最小值,LargeChange属性作用于设置当单击滑块与两侧箭头间区域时Value属性值的改变量,SmallChange属性用于设置当单击滚功条两侧箭头时Value属性值的改变最。当改变滚动条滑块位置后将触发其Change事件。文本框的高度和宽度分别由其Height属性值和Width属性值设定。步骤l:建立界面,并设置控件的属性。程序中用到的控件及属性见表3。步骤2:编写程序代码。PrivateSubHSerolll___Change()Textl.Height:HScrolll.ValueTextl.Width=1.2*Textl.HeightEndSub步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:暂无解析三、简单应用题(本题共1题,每题1.0分,共1分。)42、(1)在考生文件夹下有一个工程文件sjt3.vbp,含有两个窗体,名称分别为。ForTnl、Form2。其中,Forml上有两个控件(图像框和计时器)和一个菜单项“操作”,含有三个子菜单(如图l所示)。Form2上有一个,名称为Commandl、标题为“返回”的命令按钮(如图2所示)。要求当单击“窗体2”菜单命令时,Forml隐藏,Form2显示。单击“动画”菜单命令时,使小汽车开始移动,一移到窗口的右边界时自动跳到窗体的左边界重新开始移动。单击“退出”菜单命令时,结束程序运行。请去掉程序中的注释符,把程序中的?改为正确的内容。注意:考生不得修改窗体文件中已经存在的程序。最后程序按原文件名存盘。(2)在考生文件夹下有一个程文件sjt4.vbp。其窗体上已有部分控件,请按照图l所示添加框架和单选按钮。要求:添加两个框架,名称分别为Framel、Frame2,在Framel中添加一个名为Optionl的单选按钮数组,含两个单选按钮,标题分别为“古典音乐”、“流行音乐”,在Frame2中添加两个单选选按钮,名称分别为Option2、Option3,标题分别为“篮球”、“羽毛球”。用运行程序时,“占典音乐”和“蓝球”单选按钮初始状态为选中状态。单击“选择”按钮,将把选中的单选钮的标题显示在标签Label2中,如图2所示。如果“音乐”或“体育”未被选中,相应的单选按钮不可用。要求:按照题目要求添加控件,去掉程序中的注释符,把程序中的?改为正确的内容。注意:不能修改程序的其他部分和控件属性。最后将修改后的文件按原义件名存盘。标准答案:(1)在计时器的Timer事件过程中,通过设置标签的Left属性值在原有的基础上加100来实现自左向右移动的功能。和“动画”菜单项的单击事件过程中应启动计时器,使小汽车开始移动,通过图像框的Left、Width属性和窗体的Width属性判断,小汽车是否移到窗口的右边界,如果是,则设置Picturel的Left属性为0,自动跳到窗体的左边界重新移动。在“窗体2”菜单项的单击事件过程中,通过窗体的Hide、Show办法,隐藏FormI,显示Form2。存“退出”菜单项的单击事件过程中,通过End语句退出程序。步骤l:打开本题工程文件。步骤2:分析并编写程序代码。程序提供代码窗体l的代码PrivateSubmnuOper_Click(IndexAsInteger)‘SelectCase?Case1Form2.ShowForml.HideCase2‘Timerl.Enabled=?Case3EndEndSelectEndSubPrivateSubTimerl_Timer()Pittllrt,Left=Picturel.Left+l00’IfPicturel.Left+Picturel.Width>:?ThenPicturel=?EndIfEndSub窗体2的代码PrivateSubCommandl_Click()Forml.ShowForm2.HideEndSub程序结束第1个?处填入:Index第2个?处填入:True第3个?处填入:Forml.Width第4个?处填入:0步骤3:调试并运行程序,关闭程序后按题目要求存盘。(2)通过设置单选按钮的Value属性,使“古典音乐”和“篮球”单选钮为选中状态。单求“选择”按钮,通过If语句判断单选按钮是否被选中,把选中的单选按钮的标题通过标签的Caption属性显示在标签Label2中,并通过复选框的Value属性和框架的Enabled,实现如果“音乐”或“体育”未被选中,相应的单选按钮不可选。步骤l:打开本题工程文件,设置控件的属性。程序中用到的控件及属性见表1和表2。步骤2:分析并编写程序代码。程序提供代码PrivateSubCheckl_Click()IfCheckl.Value=lThenFramel.Enabled=TrueElseYramel.Enabled=FalseEndIfEndSubPrivaleSubCheck2Click()lfCheck2.Value=1ThenFrame2.Enabled=TrueElseFrame2.Enabled=FalseEndIfEndSubPrivateSubCommandl_Click()IfCheckl.Value=lThen‘If?=TrueThenS=“古典音乐”ElseS=“流行音乐”EndIfEndIfIfCheck2.Value=lThen‘If?=TrueThenS=S&“篮球”ElseS=S&“羽毛球”EndIfEndIfLabel2.Caption=?EndSubPrivateSubForm_Load()Checkl.Value=lCheck2.Value=1EndSub程序结束第1个?处填入:Optioni(0).Value第2个?处填入:Option2.Value第3个?处填入:S步骤3:调试并运行程序,关闭程序后按题目要求存盘。知识点解析:暂无解析四、综合应用题(本题共1题,每题1.0分,共1分。)43、在考生文件夹下有一个工程文件sjt5.vbp,其窗体上有两个标题分别为“读数据”和“统计”的命令按钮。请添加两个标签,其名称分别是Labell和Label2,标题分别为“单词的平均长度为”和“最长单词的长度为”;再添加两个名称分别为Textl和Text2,Text属性为空的文本框,如图所示。程序功能如下:①如果单击“读数据”命令按钮,则将考生文件夹下in5.dat文件的内容读到变量s中(此过程已给出);②如果单击“统计”按钮,则自动统汁变量s(s中仅含有字母和空格,而空格是用来分隔不同单词的)中每个单词的长度,并将所有单词的平均长度(四舍五入取整)在Textl文本框内显示,将最长单词的长度在Text2文本框内显示。“读数据”命令按钮的click事件过程已经给出,请为“统计”命令按钮编写适当的事件过程,实现上述功能。注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序之前,必须进行统计,且必须通过单击窗体右上角的“关闭”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。标准答案:单击“读数据”按钮,将考生文件夹下in5.dat文件的内容读到变量s中;单击“统计”按钮,通过SelectCase语句判断是否为空格或是字母(文件中仅含有字母和空格,空格用来分隔不同单词),通过Len函数得出最长单词的长度,并通过比较把最长单词赋值给变量B,将该单词的长度显示在Textl文本框内,并将该单词的平均长度显示在Text2文本框内。Left(s,i)表示取字符串S左边的i个字符。Right(s,J-i)表示字符串s右边的J-i个字符。R=Split(S,“-”)表示将字符串s按“-”分割成字符数组。步骤1:打开本题工程文件,添加两个名称分别是Labell和Label2,标题分别为“单词的平均长度为”和“最长单词的长度为”的标,以及标题分别为Textl和Text2,初始内容都为空的文本框。步骤2:分析并编写程序代码。程序提代码OptionBase1DimsAsStringPrivateSubCommandl_Click()OpenApp.Path&”\in5.dat“ForInputAs#ls=Input(LOF(1),#1)Close#lEndSubPrivateSubCommand2_Click()“需考生编写”EndSubPrivateSubForm_Unload(CancelAsInteger)OpenApp.Path&“\out5.dat”ForOutputAs#1Print#1.Textl.Text.Text2.TextClose#1EndSub程序结束PrivateSubCommand2_Click()Fori=1ToLen(s)J=Asc(Mid(S,i,1))SelectCaseJCase48To57,65To90,97To122CaseElseMid(s,i,1)=“-”EndSelectNextiJ=Len(s)-1Fori=1ToJIfMid(S,i,1)=”-”AndMid(s,i+1,1)=“-”ThenS=Left(S,i)+Right(s,J-i)J=J=1i=i-lEndIfNextiS=Left(s,Len(S)-1)R=Split(s,“-”)B=R(0)Fori=1ToUBound(R)IfLen(B知识点解析:暂无解析国家二级(VB)机试模拟试卷第2套一、选择题(本题共40题,每题1.0分,共40分。)1、下列叙述中正确的是()。A、线性表的链式存储结构与顺序存储结构所需要的存储空问是相同的B、线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C、线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D、线性表的链式仔储结构与顺序存储结构在存储空间的需求上没有可比性标准答案:B知识点解析:线性链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以一般要多于顺序存储结构。2、下列叙述中正确的是()。A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈与队列都是非线性结构D、以上三种说法都不对标准答案:D知识点解析:栈是一种先进后出的线性表,队列是一种先进先出的线性表,栈与队列都是线件结构。3、软件测试的目的是()。A、评估软件可靠性B、发现并改正程序中的错误C、改正程序中的错误D、发现程序中的错误标准答案:D知识点解析:软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。4、在软件开发中,需求分析阶段产生的主要文档是()。A、软件集成测试计划B、软件详细设计说明书C、用户手册D、软件需求规格说明书标准答案:D知识点解析:需求分析阶段的工作可以概括为:需求获取、需求分析、编写需求规格说明书、需求评审四个面。所以选择D。5、软件生命周期是指()。A、软件产品从提出、实现、使用维护到停止使用退役的过程B、软件从需求分析、设计、实现到测试完成的过程C、软件的开发过程D、软什的运行维护过程标准答案:A知识点解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。6、面向对象方法中,继承是指()。A、一组对象所具有的相似性质B、一个对象具有另一个对象的性质C、各对象之间的共旧性质D、类之间共享属性和操作的机制标准答案:D知识点解析:继承是而向对象的方法的一个主要特征,是使用已有的类的定义作为基础建立新类的定义技术。广义的说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们,所以说继承是指类之间共享属性和操作的机制。7、层次型、网状型和关系型数据库划分原则是()。A、记录长度B、文件的大小C、联系的复杂程度D、数据之间的联系方式标准答案:D知识点解析:层次模刑的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。8、一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是()。A、一对一B、一对多C、多对多D、多对一标准答案:C知识点解析:因为一个人可以操作多个计算机,而一台计算机又可以被多个人使用,所以两个实体之间是多对多的关系。9、数据库设计中反映用户对数据要求的模式是()。A、内模式B、概念模式C、外模式D、设计模式标准答案:C知识点解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C。内模式义称物理模式,它给出了数据库物理存储结构与物理存取方法。10、有三个关系R、S和T如下:则由关系R和s得到关系T的操作是()。A、自然连接B、差C、交D、并标准答案:B知识点解析:关系T中的元组是R关系中有而s关系中没有的元组的集合,所以进行的是差的运算。11、以下叙述中正确的是()。A、在属性窗口能设置窗体的属性B、在属性窗口只能设置控件的属性C、在属性窗口可以设置窗体和控件的属性D、在属性窗口可以设置任何对象的属性标准答案:C知识点解析:在属性窗中只能设置窗体和各种控件的属性,故C选项正确。12、下列打开“代码窗口”的操作中错误的是()。A、按F4键B、单击“工程资源管理器”窗口中的“查看代码”按钮C、双击已建立好的控件D、执行“视图”菜单的“代码窗口”命令标准答案:A知识点解析:按F4键打开的是“属性窗口”,故A选项错误。13、以下叙述中持误的是()。A、VisualBasic是事件驱动型可视化编程工具B、VisualBasic应用程序不具有明显的开始和结束语句C、VisualBasic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性D、VisualBasic中控件的某属性只能在运行时设置标准答案:C知识点解析:VB工具箱中不是所有的控件都具有宽度和高度属性,比如定时器控件Timer、直线控什Line就没有。故C选项错误。14、设a=2,b=3,C=4,d=5,下列表达式的值是()。a>bAndC<=dor2*a>cA、TrueB、FALSEC、-1D、l标准答案:B知识点解析:根据运算符的优先级顺序,先计算算术运算符,结果是2>3.And4<=5or4>4;再计算关系运算符,结果为FalseAndTrueorFalse;And优先级高于or优先级,先计算And,再计算or,最后结果是False。故B选项正确。15、在标准模块中用Public关键字定义的变量,其作用域为()。A、本模块所有过程B、整个工程C、所有窗体D、所有标准模块标准答案:B知识点解析:在标准模块中用Public定义的变量是公用的、全局变量,在褴个工程中的所有窗口、模块中都能引用,作用域是整个工程。故B选项正确。16、假定有如下语句:answer$=MsgBox(“Stringl”,“String2”,“String3”,2)执行该语句后,将显示一个信息框,单击其中的“确定”按钮,则answer$的值为()。A、StringlB、String2C、String3D、l标准答案:D知识点解析:MsgBox函数的作用:在对话框中显示消息,等待用户单击按钮,并返回一整数,告诉用户单击哪一个按钮。Msgbox函数的格式是:MsgBox(提示信息[,按钮样式][,标题信息][,帮助文件,帮助上下文编号])本题MsgBox函数语句运行后,信息对话框中提示信息是“Stringl”,标题栏信息是“String2”,对话框出现一个“确定”按钮,单击“确定”按钮返回“确定”按钮对应的一个整数值1,并把l赋给answer变量。故D选项正确。17、设a=10,b=5,C=l,执行语句Printa>b>e后,窗体上显示的是()。A、TrueB、FalseC、1D、出错标准答案:B知识点解析:本题中Print语句中的表达式只有“>”运算符,相同优先级,左结合。先计算a>b,即10>5,值为True,(即-1),再计‘算-l>l,结果为False。故B选项正确。18、为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为()。A、ValueB、ByValC、ByRefD、Reference标准答案:B知识点解析:Value是控件的属性名。用ByVal关键字声明形参表示该参数按值传递。ByRef是默认的参数类型,表示该参数按地址传递。没有Reference关键字。故B选项正确。19、以下说法中正确的是()。A、事件过程也是过程,只能由其他过程调用B、书件过程的过程名是由程序设计者命名的C、事件过程通常放在标准模块中D、事件过程是用来处理用户操作或系统激发的事件的代码标准答案:D知识点解析:事件过程也是过程,其他过程或系统都可以调用它。故A选项错误。事件过程的过程名是由系统命名的。故B选项错误。通常事件过程放在窗体模块中。故C选项错误。事件过程是用来处理由用户操作或系统激发的事件的代码。只有当用户或系统触发事件后,才执行相应的事件过程。故D选项正确。20、设有语句:Open“C:\Test.Dat”ForOutputAs#l则以下叙述中错误的是()。A、该语句打开C盘根目录下的一个文件Test.Dat,如果果该文件不存在则出错B、该语句打外C盘根目录下一个名为Test.Dat的文件,如果该文件不存在则创建该文件C、该语句打开文件的文件号为lD、执行该语们后,就可以通过Print#语句向文件Test.Dat中写入信息标准答案:A知识点解析:本题中是用Open语句打开一个顺序文件Test.Dat,并指定一个文件号1。故C选项正确。如果Test.Dat文件不存在,则系统自动创建该文件。故B选项正确,A选项错误。用ForOutput模式打开文件,可通过Print#语句向文件写入信息。故D选项正确。21、在窗体上面两个文本框,其名称分别为Textl和Text2,然后编写如下程序:PrivateSubForib_LoadShowTextl.Text=“”Text2.Text=“”Text1.SetFocusEndsubPrirateSubTextl_Change()Text2.Text=Mid(Textl.Text,6)EndSub程序运行后,如果在文本框Textl中输入ChinaBeijing,则在文本框Text2中显示的内容是()。A、ChinaBeijingB、ChinaC、BeijingD、Chinab标准答案:C知识点解析:程序运行后,在文本框Textl中输入字符后,触发它的Change事件,通过中部截取函数Mid把文本框Textl中的内容从第6个字符‘B’开始截取后面的字符,得到“Beijing’’字符串,然后把截取的字符串在Text2中显示出来。故C选项正确。22、在窗体上画一个水平滚动条,其属性值满是MinA、增加一个SmallChange量B、减少一个SmallChange量C、增加一个LargeChange量D、减少一个LargeChange量标准答案:A知识点解析:当水平滚动条的属性值Min23、在窗体上画一个组合框,一个命令按钮和一个文本框,其名称分别为Combol,Commandl和Textl,然后编写如下事件过程:PrivateSubForm_Load()Combo1.Addhem“AAAAA”Combo1.Addhem“BBBBB”Combo1.Addhem“CCCCC”Combol.Addltem“DDDDD”Combo1.Addhem“EEEEE”EndSub程序运行后,如果单击命令按钮,则在文本框中显示组合框的项目“CCCCC”。为了实现该操作,在命令按钮的Click事件过程中应使用的语句为()。A、Textl.Text=Comb01.List(2)B、Textl.Text:Comb01.TextC、Textl.Text=Combo1.List(3)D、Textl.Text=Combo1.ListIndex标准答案:A知识点解析:List属性可以返回组合框中各选项的内容。用下标区分各选项,第1个选项下标为0,依次类推。“CCCCC”为组合框中第3个选项,可以用Combol.List(2)返回选项内容。敞A选项正确,C选项错误。Text属性返叫的是组合框中选中项目的内容;ListIndex属性返回的是选中项目的索引值,即下标。故B、D选项错误。24、为了使文本框只具有垂直滚动条,应先把MuhiLine属性设嚣为True,然后再把ScrollBars属性设置为()。A、0B、1C、2D、3标准答案:C知识点解析:文本框的ScrollBars属性值:0表示无滚动条,l表示只有水平滚动条,2表示只有垂直滚动条,3表示水平和垂直滚动条都有。本题文本框只其有垂直滚动条,则ScrollBar属性值就设置为2,故C选项正确。25、能够用于标识对象名称的属性是()。A、NameB、CaptionC、ValueD、Text标准答案:A知识点解析:每个对象都有Name属性,用于识别不同的对象。故选A。26、关于水平滚动条,如一下叙述中错误的是()。A、当滚动框的位置改变时,触发Change事件B、当拖动滚动条中的滚动框时,触发Scroll事件C、LargeChange属性是滚动条的最大值D、Value是滚动条中滚动框的当前值标准答案:C知识点解析:LargeChange属性值是单击滚动块和左右两端箭头之间空白的地方时,Value增加或减少的艟,Small属性值才是滚动条的最大值。故C选项错误。27、对于列表框控件Listl,能够表示当前被选中列表项内容的是()。A、Listl.TextB、Listl.IndexC、Listl.ListIndexD、Listl.List标准答案:A知识点解析:Text属性可返回当前被选中列表项的内容,故选A。Index属性是当有列表框控件数组时,区分各列表框用的;LislIndex属性返回的是被选中的列表项的索引值;List属性设置或返回各列表项的内容。28、当文本框的内容发生改变时所触发的事件是()。A、KeyUpB、ChangeC、LostFoeusD、GotFous标准答案:B知识点解析:文本框中内容有变化时,触发Change事件。故B选项正确。当在文本框中输入数据,松开键盘时触发它的KeyUp事件;文本框失去焦点触发LostFocus事件;获得焦点,触发GotFocus事件。29、定时器的Interval属性的值是一个整数,它表示的是()。A、毫秒数B、秒数C、分钟数D、小时数标准答案:A知识点解析:Interval的属性值是以毫秒计,所以是毫秒数。故选A。30、阅读程序:PrivateSuhForm_Click()a=0Forj=1To15a=a+jMod3NeXtjPrintaEndSub程序运行后,单击窗体,输出结果是()。A、105B、1C、120D、15标准答案:D知识点解析:Mod是求模运算符,即求余数,程序中jMod3的余数可能值为0,1,2,l到15的整数中,3、6、9、12、15这5个数除3的余数为0,1、4、7、10、13这5个数除3余数为1,2、5、8、11、14这5个数除3余数为2。因此a的值为1*5+2*5=15,即选择D正确。31、在窗体上画一个命令按钮,其名称为Commandl,然后编写如下代码:OptionBaselPrivateSubCommandl_Click()Dimaa=Array(1,2,3,4)j=1Fori=4To1Step_1S=S+a(i)*jj=j*10NextIPrintSEndSub程序运行后,单击命令按钮,其输出结果是()。A、4321B、1234C、34D、12标准答案:B知识点解析:Array函数用来为数组元素赋值,即把一个数据集读入某个数组。其格式为:数组变量名=Array(数组元素值)。Diraa语句没有变量类型名,则a默认为Vatiant类型,这里它作为数组变量使用。现在已知数组a中元素的值依次为1、2、3、4,则For循环中各变量值变化如下:i=4时,s=s+a(4)*j=0+4*1=4,j=1*10=10i=3时,s=s+a(3)*j=4+3*10=4+30=34,j=10*10=100i=2时,s=s+a(2)*j=34+2*100=34+200=234,j=100*10=1000i=1时.s=s+a(1)*j=234+1*1000=234+1000=1234。循环结束。s的值为1234。32、在窗体上面一个命令按钮,名称为Commandl,然后编写如下代码:OptionBase0PrivateSubCommandl_Click()DimA1(4)AsInteger,A2(4)AsIntegerFork:0T02A1(k+1)=InputBox(“请输入一个整数”)A2(3一k)=A1(k+1)NextkPrintA2(k)EndSub程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为()。A、0B、1C、2D、3标准答案:C知识点解析:程序运行过程如下:k=0,输入2,Al(k+1)=Al(0+1)=A1(1)=2,A2(3-k)=A2(3-0)=A2(3)=2k=l,输入4,A1(k+1)=Al(1+1)=Al(2)=4,A2(3-k)=A2(3-1)=A2(2)=4k=2,输入6,A1(k+1)=Al(2+1)=A1(3)=6,A2(3-k)=A2(3-2)=A2(1)=6k=3,For循环结束,输出A2(k)的值即A2(3)的值,即2。33、在窗体上画两个标签和一个命令按钮,其名称分别为Labell、Label2和Commandl,然后编写如下程序:PrivateSubfunc(LAsLabel)L.Caption=“1234”EndSubPrivateSubForm_Load()Labell.Caption=“ABCDE”Label2.Caption=10EndSubPrivateSubCommandl_CIick()a=Val(Label2.Caption)Callfunc(Labell)Label2.Caption=aEndSub程序运行后,单击命令按钮,则在两个标签中显示的内容分别为()。A、ABCD和10B、1234和100C、ABCD和100D、1234和10标准答案:D知识点解析:程序运行,窗体加载时设置Labell显示为ABCD,LabeL2显示为10。单击命令按钮,执行按钮的单击事件过程,过程中Val函数将LabeL2的标题字符串转换为数值赋给变量a,此时a的值为10,然后调用func过程传入Labell为参数,func过程中设置Labell的标题为“1234”,回到按钮单击事件过程,设置Label2的标题为变量a的值,即10。因此两个标签中显示的内容分别为1234和10。34、在窗体上画一个命令按钮(名称为Commandl),并编写如下代码:FunctionFunl(ByValaAsInteger,bAsInteger)AsIntegerDimtAsIntegert=a-bb=t+aFunl:t+bEndFunctionPrivateSubCommandl_Click()DimxAsIntegerx=10PrintFunl(Funl(X,(Funl(x,x-1))),X—1)EndSub程序运行后,单击命令按钮,输出结果是()。A、l0B、0C、11D、2l标准答案:B知识点解析:本题是过程的嵌套调用,过程嵌套调用时要先计算最内层的过程,然后由里向外执行。因此Funl(Funl(x,(Fun](x,x-1))),x-1)执行过程如下:先执行Funl(x,x-1),由于形参a是按值传递,因此不会影响x的值,x=10,即Fun](10,9)。t=l,b=1+10:11,则函数返回值为l+11=12。再执行Funl(x,(Fun1(x,x-1))),由于内层过程返回12,因此又可写成Funl(x,(12)),由于x仍为原值,因此过程即Funl(10,12)。t=-2,b=-2+10=8,则函数返回值为-2+8=6。最后执行Funl(Funl(x,(Funl(x,x-1))),x-1),即Funl(6,x-1),由于x仍为原值,因此过程即为Funl(6,9)。t=-3’b=-3+6=3,则函数返回值为-3+3=0。35、设有如下通用过程:PublicFunctionFun(xStrAsString)AsStringDimtStrAsString,strLAsIntegertStr=“”strL=Len(xStr)i=strL/2DoWhilei<=strltStr=tStr&Mid(xStr,i+1,1)i=i+1LoopFun=tStr&tStrEndFunction在窗体上画一个名称为Textl的文本框和一个名称为Commandl的命令按钮。然后编写如下的事件过程:PrivateSubCommandl_Click()DimSIAsStringS1=“ABCDEF”Textl.Text=LCase(Fun(S1))EndSub程序运行后,单击命令按钮,文本框中显示的是()。A、ABCDEFB、abcdefC、defdefD、defabc标准答案:C知识点解析:程序中过程Fun的Do循环的功能是从参数字符串中依次取出后半部分的字符组成一个字符串,然后这个字符串再重复一次由函数返回。函数Len用于返回字符串的长度,过程中字符串的长度做为Do循环的结束条件。Mid是字符串中部截取函数,用来从指定位置开始截取指定个数的字符。过程中使用Mid(xStr,i+l,1),通过循环依次取出字符串后半部分的字符。函数返回的字符串经Lcase函数转换为小写然后显示和文本框中。程序中做为Fun过程参数的字符串为“ABCDEF”,经处理返回并转为小写后为“defdef”。36、在窗体上画一个命令按钮和一个文本框(名称分别为Commandl和Textl),并把窗体的KeyPreview属性设置为True,然后编写如下代码:DimSaveAllAsStringPrivateSubForm_Load()ShowTextl.Text=“”Textl.SetFocusEndSubPrivateSubCommandl_Click()Textl.Text=LCase(SaveAll)+SaveAllEndSubPrivateSubForm_KeyPress(KeyAsciiAsInteger)SaveAll=SaveAll+Chr(KeyAscii)EndSub程序运行后,直接用键盘输入:VB,再单击命令按钮,则文本框中显示的内容为()。A、vbVBB、不显示任何信息C、VBD、出错标准答案:A知识点解析:窗体的KeyPreview属性用于设置或获取一个值,该值只是判断按键事件传递到具有焦点的控件前,窗体是否将接收此事件,该属性设为True时,简体将会接收按键事件。因此在文本框中输入“VB”时,会先触发Form_KeyPress()事件,该事件将输入的字符保存到窗体模块变量SayeAll中,然后才会显示在文本框中。当单击命令按钮时,Lcase函数将变量SaveAll中的字符串“VB”转换为小写,为“vb”,然后与原字符串连接,即“vb”+“VB”,显示在文本框中则为“vbVB”。37、(37)设有以下程序:PrivateSubForm_Click()x=50Fori=lTo4Y=InputBox(“请输入一个整数”)Y=Val(Y)IfYMod5=0Thena=a+YX=YElsea=a+XEndIfNextiPrintaEndSub程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为()。A、100B、50C、120D、70标准答案:A知识点解析:程序的作用是输入的数如果是5的倍数就累加,如果不是就每次加50或与上次是5的倍数的那个数相累加。因此最终a的值是15+15+35+35=100。38、设在工程文件中有一个标准模块,其中定义了如下记录类型:TypeBooksNameAsString*10TelNumAsString*20EndType在窗体上画一个名为Commandl的命令按钮,要求当执行事件过程Comm

温馨提示

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

评论

0/150

提交评论