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

下载本文档

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

文档简介

国家二级VB机试(选择题)模拟试卷1(共9套)(共323题)国家二级VB机试(选择题)模拟试卷第1套一、选择题(本题共28题,每题1.0分,共28分。)1、以下叙述中错误的是A、VisualBasic是事件驱动型可视化编程工具B、VisualBasic应用程序不具有明显的开始和结束语句C、VisualBasic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性D、VisualBasic中控件的某些属性只能在运行时设置标准答案:C知识点解析:VisualBasic是一种事件驱动型可视化编程工具,它的应用程序都是由事件组成,不具备明显的开始和结束语句:在属性窗口中可以设置控件的大部分属性,但是某些属性只能在运行时设置,而且很多控件例如计时器等是不具备宽度和高度属性的。2、以下关于VB的叙述中,错误的是A、VB采用事件驱动方式运行B、VB既能以解释方式运行,也能以编译方式运行C、VB程序代码中,过程的书写顺序与执行顺序无关D、VB中一个对象对应一个事件标准答案:D知识点解析:VisualBasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。在设计VisualBasic程序的过程中可以随时以解释方式运行程序,也可在整个应用程序设计完成后,经编译生成可脱离VisualBasic环境而在Windows下直接运行的可执行文件(.EXE)。VB程序代码中,过程的书写顺序与执行顺序无关,一个对象可以对应多个事件。3、在VisualBasic环境下设计应用程序时,系统能自动检查出的错误是A、语法错误B、逻辑错误C、逻辑错误和语法错误D、运行错误标准答案:A知识点解析:VisualBasic可以自动对输入的内容进行语法检查。有语法错误会给出提示,但是不会自动检查逻辑错误,也无法检查出运行错误。4、以下关于VB特点的叙述中,错误的是A、VB中一个对象可有多个事件过程B、VB应用程序能以编译方式运行C、VB应用程序从FormLoad事件过程开始执行D、在VB应用程序中往往通过引发某个事件导致对对象的操作标准答案:C知识点解析:VisualBasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。在设计VisualBasic程序的过程中可以随时以解释方式运行程序,也可在整个应用程序设计完成后,经编译生成可脱离VisualBasic环境而在Windows下直接运行的可执行文件(.EXE)。VB程序代码中,一个对象可以对应多个事件,整个程序从Form_Load事件过程开始执行。5、以下关于VB特点的叙述中,错误的是A、VB采用事件驱动的编程机制B、VB程宁能够以解释方式运行C、VB程序能够以编译方式运行D、VB程序总是从FormLoad事件过程开始执行标准答案:D知识点解析:VisualBasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。在设计VisualBasic程序的过程中可以随时以解释方式运行程序,也可在整个应用程序设计完成后,经编译生成可脱离VisualBasic环境而在Windows下直接运行的可执行文件(.EXE)。VB程序代码中,一个对象可以对应多个事件,整个程序从Form_Load事件过程开始执行。6、以下关于VB的叙述中,错误的是A、VB采用事件驱动的编程机制B、如果程序中有SubMain过程时,则一定从该过程开始执行C、工程文件中包含多个窗体时,可以指定启动窗体D、VB程序既可以编译执行,也可以解释执行标准答案:B知识点解析:VisualBasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。在设计VisualBasic程序的过程中可以随时以解释方式运行程序,也可在整个应用程序设计完成后,经编译生成可脱离VisualBasic环境而在Windows下直接运行的可执行文件(.EXE)。VB程序代码中,工程文件中包含多个窗体时,可以指定启动窗体,也可以指定从Sub_Main过程开始执行。7、下面关下VB应用程序的叙述中正确的是A、VB心用程序只能解释运行B、VB应用程序只能编译运行C、VB应用程序既能解释运行,也能编译运行D、VB应用程序必须先编译,然后解释运行标准答案:C知识点解析:VisualBasic是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言。在设计VisualBasic程序的过程中可以随时以解释方式运行程序,也可在整个应用程序设计完成后,经编译生成可脱离VisualBasic环境而在Windows下直接运行的可执行文件(.EXE)。8、在设计窗体时双击窗体的任何地方,可以打开的窗口是A、代码设计窗口B、属性窗口C、工程资源管理器D、工具箱窗口标准答案:A知识点解析:本题考查的考点是有关打开代码窗口。VB中的默认视图是窗体设计视图,可以通过双击窗体或者双击窗体上的控件的方法来打开代码设计窗口。9、在VB集成环境中要结束一个正在运行的工程,可单击工具栏上的一个按钮,这个按钮是A、

B、

C、

D、

标准答案:D知识点解析:在VB的工具栏中,提供了很多常用的工具按钮,其中选项A)为重做按钮,选项B)为运行按钮,选项C)为添加StandardEXE工程按钮,选项D)为终止运行按钮。10、VisualBasic集成环境由若干窗口组成,其中不能隐藏(关闭)的窗口是A、主窗口B、属性窗口C、立即窗口D、窗体窗口标准答案:A知识点解析:VisualBasic集成环境由若干窗口组成,如主窗口、窗体设计窗口、工程资源管理器窗口、属性窗口、窗体窗口、工具箱窗口、立即窗口、代码编辑窗口等,其中只有主窗口不能被隐藏(关闭)。11、为了用键盘打开菜单和执行菜单命令,第一步应按的键是A、F10或AltB、Shift+F4C、Ctrl或F8D、Ctrl+Alt标准答案:A知识点解析:打开菜单和执行菜单命令都需要先展开菜单,除了使用鼠标单击以外,还可以按下功能键F10或Alt来展开菜单。12、如果在VisualBasic集成环境中没有打开属性窗口,下列可以打开属性窗口的操作是A、用鼠标双击窗体的任何部位B、执行“工程”-“属性窗口”命令C、按Ctrl+F4键D、按F4键标准答案:D知识点解析:属性窗口是用来设置对象(窗体或控件)的属性值的,如果没有打开属性窗口,可以按F4键或者执行“视图”菜单中的“属性窗口”命令来打开属性窗口。用鼠标双击窗体的任何部位将打开代码窗口。13、假定已在窗体上画了多个控件,其中有一个被选中,为了在属性窗口中设置窗体的属性,预先应执行的操作是A、单击窗体上没有控件的地方B、单击任意一个控件C、双击任意一个控件D、单击属性窗口的标题栏标准答案:A知识点解析:属性窗口是用来设置对象的属性值的,默认设置的是当前控件,若要设置窗体的属性,应该单击窗体上没有控件的地方来选中窗体。14、设计窗体时,双击窗体上没有控件的地方,打开的窗口是A、代码设计窗口B、属性窗口C、工具箱窗口D、工程窗口标准答案:A知识点解析:设计窗体时,双击窗体上任意地方,将会打开代码窗口进行代码的输入。15、在编辑VB应用程序时,如果不小心关闭了属性窗口,则可以单击主窗口标准工具栏上的一个按钮直接打开属性窗口,这个按钮的图标是A、

B、

C、

D、

标准答案:D知识点解析:单击选项A)的图标可以打开菜单编辑器;单击选项B)的图标可以添加窗体:单击选项C)的图标可以打开代码窗口;单击选项D)的图标可以打开属性窗口。16、在VisualBasic中,不能关闭的窗口是A、窗体设计窗口B、工程窗口C、属性窗口D、立即窗口标准答案:B知识点解析:VisualBasic集成环境由若干窗口组成,如工程窗口、窗体设计窗口、工程资源管理器窗口、属性窗口、窗体窗口、工具箱窗口、立即窗口、代码设计窗口等,其中只有工程窗口不能被隐藏(关闭)。17、下列打开“代码窗口”的操作中错误的是A、按F4键B、单击“工程资源管理器”窗口中的“查看代码”按钮C、双击已建立好的控件D、执行“视图”菜单中的“代码窗口”命令标准答案:A知识点解析:编写代码对于一个小型应用程序来说,通常主要是编写窗体及其控件的相关事件过程。可通过以下方法打开“代码编辑窗口”:双击窗体或窗体上的控件;执行“视图”菜单中的“代码窗口”命令;按“F7”键;单击“工程资源管理器”窗口中的“查看代码”按钮。18、下面有关标准模块的叙述中,错误的是A、标准模块不完全由代码组成,还可以有窗体B、标准模块中的Private过程不能被工程中的其他模块调用C、标准模块的文件扩展名为.basD、标准模块中的全局变量可以被工程中的任何模块引用标准答案:A知识点解析:标准模块是只含有程序代码的应用程序文件,其扩展名为.bas。标准模块是应用程序内其它模块可访问的过程和声明的容器,它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明,它由3部分组成:①全局变量声明:②模块层声明:③通用过程。其中,全局声明放在标准模块的首部,因为每个模块都可能要求有它自己的惟一名字的全局变量。全局变量的作用域最大,可以在工程的每个模块、每个过程中使用。在默认情况下,模块级变量对该模块中的所有过程都是可见的,但对其他模块中的程序不可见。19、下面关于标准模块的叙述中错误的是A、标准模块中可以声明全局变量B、标准模块中可以包含一个SubMain过程,但此过程不能被设置为启动过程C、标准模块中可以包含一些Public过程D、一个工程中可以含有多个标准模块标准答案:B知识点解析:标准模块是只含有程序代码的应用程序文件,是应用程序内其它模块可访问的过程和声明的容器,它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明,它由3部分组成:①全局变量声明:②模块层声明;⑨通用过程。一个工程中可以包含多个标准模块,在标准模块中可以包含一个SubMain过程,此过程可以被设为启动过程。20、以下叙述中正确的是A、在属性窗口只能设置窗体的属性B、在属性窗口只能设置控件的属性C、在属性窗口可以设置窗体和控件的属性D、在属性窗口可以设置任何对象的属性标准答案:C知识点解析:属性是一个对象的特征,不同的对象有不同的属性。对象的属性在设计程序时,可以通过属性窗口中的属性列表设置,也可以通过在程序中编写代码来设置对象的部分属性。在VB中控件是对象,窗体也是一种对象,故此在属性窗口中可以设置窗体和控件的属性。但是有的属性不能在属性窗口中设置,只能在程序运行时调用或者设置。21、以下说法中正确的是A、事件过程也是过程,只能由其他过程调用B、事件过程的过程名是由程序设计者命名的C、事件过程通常放在标准模块中D、事件过程是用来处理由用户操作或系统激发的事件的代码标准答案:D知识点解析:所谓的事件过程是指当对象响应事件后,实现执行操作的一段程序代码。一个对象拥有一个或多个事件,因此可以使用一个或多个事件过程对用户或系统事件做出响应。事件过程通常放在窗体模块中,其事件过程名均是已经事先定义好的名字,通常是用来处理由用户操作或系统激发的事件的代码,也可以由其他过程调用。22、VB中有这样一类文件:该文件不属于任何一个窗体,而且仅包含程序代码,这类文件的扩展名是A、.vbpB、.basC、.vbwD、.frm标准答案:B知识点解析:标准模块是只含有程序代码的应用程序文件,其扩展名为.bas;窗体文件中含有控件和程序代码,其扩展名为.frm;工程文件的扩展名为.vbp,在一个工程中含有多个窗体文件和标准模块文件:vbw是工作区文件。23、以下关于VB文件的叙述中,错误的是A、标准模块文件不属于任何一个窗体B、工程文件的扩展名为.frmC、一个工程只有一个工程文件D、一个工程可以有多个窗体文件标准答案:B知识点解析:一个工程只有一个扩展名为vbp工程文件,在工程中可以有多个文件,这些文件可以分为两种:窗体文件(扩展名为frm)和标准模块文件(扩展名为bas),这两种文件没有相互从属关系。24、在面向对象的程序设计中,可被对象识别的动作称为A、方法B、事件C、过程D、函数标准答案:B知识点解析:事件(Event)是由VisualBasic预先设置好的、能够被对象识别的动作:方法(Method)是特殊的过程和函数。25、以下关于VB文件的叙述中,正确的是A、标准模块文件的扩展名是.frmB、一个.vbg文件中可以包括多个.vbp文件C、一个.vbp文件只能含有一个标准模块文件D、类模块文件的扩展名为.bas标准答案:B知识点解析:标准模块是只含有程序代码的应用程序文件,其扩展名为.bas;窗体文件中含有控件和程序代码,其扩展名为.frm;类模块文件的扩展名为cls:工程文件的扩展名为.vbp,在一个工程中含有多个窗体文件和标准模块文件;工程组文件的扩展名是.vbg,一个工程组文件中可以含有若干工程。26、以下关于VB对象属性的叙述中,错误的是A、属性是对象的特征B、对象的所有属性值都可以在属性窗口中设置C、不同对象可以具有同名的属性D、对象的某些属性可以在程序中设置标准答案:B知识点解析:属性是一个对象的特征,不同的对象有不同的属性,也可以具有同名属性。对象的属性在设计程序时,可以通过属性窗口中的属性列表设置其中的属性;也可以通过在程序中编写代码来设置对象的部分属性。某些属性只能在运行时设置,某些属性只能在属性窗口中设置。27、能够用于标识对象名称的属性是A、NameB、CaptionC、ValueD、Text标准答案:A知识点解析:任何一个对象在工程中都有唯一的一个名字,即Name属性,该属性在运行时是只读的。28、以下关于事件、事件驱动的叙述中,错误的是A、事件是可以由窗体或控件识别的操作B、事件可以由用户的动作触发C、一个操作动作只能触发一个事件D、事件可以由系统的某个状态的变化而触发标准答案:C知识点解析:所谓的事件是指当对象响应事件后,实现执行操作的一段程序代码。一个对象拥有一个或多个事件,因此可以使用一个或多个事件过程对用户或系统事件做出响应。事件可以由系统的某个状态的变化而触发,也可以由用户操作触发,一个操作动作有可能触发多个事件。国家二级VB机试(选择题)模拟试卷第2套一、选择题(本题共39题,每题1.0分,共39分。)1、在窗体上画一个名称为Commandl的命令按钮,并编写如下程序:FunctionFun(x)y=0Ifx<10Theny=xElsey=y+10EndIfFun=yEndFunctionPrivateSubCommandl_Click()n=InputBox(”请输入一个数”):n=Val(n)P=Fun(n):PrintPEndSub运行程序,单击命令按钮,将显示输入对话框,如果在对话框中输入100,并单击“确定”按钮,则输出结果为A、10B、100C、110D、出错信息标准答案:A知识点解析:本题是一个简单的函数调用,在函数中会判断参数x的值,根据x的值不同执行If语句的不同分支。由于实际参数为100不满足x<10,因此函数返回值为10。2、设有如下事件过程:PrivateSubCommandl_Click()Dimaa=Anrray(12,3,8,5,10,3,5,9,2,4)Fork=1To9Printfun(a(k-1),a(k));””;NextkEndSubPrivateFunctionfun(x,y)AsIntegerDoWhilex>:yx=x-yLoopfun=xEndFunction程序运行时的输出结果是A、401030040B、033513512C、9-53-57-2-47-2D、933573572标准答案:B知识点解析:本题中函数fun的作用是当第一个形参比第二个形参大或着相等的时候让它减去第二个形参,直到比第二个形参小为止;在按钮的单击事件中循环调用9次函数,每次都用数组的前一个元素和后一个元素作为函数的实参,所以应输出的是12-3-3-3-3、3、8-5、5、10-3、3、5、9-2、2。3、设有如下函数:FunctionDelSpace(chAsString)AsIntegerDimn%,st$,c$st="":n=0Fork=1ToLen(ch)c=Mid(ch,k,1)Ifc<>””Thenst=st&cElsen=n+1EndIfNextkch=st:DelSpace=nEndFunction该函数的功能是A、统计并返回字符串ch中字符的个数B、删除字符串ch中的空格符,返回删除字符的个数C、统计并返回字符串ch中非空格字符数D、删除字符串ch中除空格符外的其他字符,返回删除字符的个数标准答案:B知识点解析:在函数中进行字符串的正向遍历,每次取出字符串中的一个字符,判断该字符如果不是空格就将其连接到st上,否则令n+1。循环结束后将会删除字符串ch中的空格符,返并使用函数值返回删除字符的个数。4、窗体上有一个名称为Commandl的命令按钮,其单击事件过程及相关的函数过程如下:PrivateSubCommandl_Click()DimiAsIntegerFori=1To500Ifp(i)Thens=s+1NextPrintsEndSubPrivateFunctionp(xAsInteger)AsBooleanIfXMod7<>0Thenp=TrueEIseP=FalseEndIfEndFunction关于上述程序,以下叙述中正确的是A、程序功能是统计1-500范围内能被7整除的整数个数B、Commandl_Click事件过程中If语句的条件表达式不完整C、Function过程定义有误,函数过程P的名称与该过程中的变量名P相同D、函数过程P的返回值为Boolean类型标准答案:D知识点解析:调用Function过程要返回一个值,因此可以像内部函数一样在表达式中使用。如果在Function过程中省略“过程名=表达式”,则该过程返回一个默认值(数值函数过程返回0值;字符串函数过程返回空字符串)。因此,通常要在过程体中给“过程名”赋值。本题中函数p的返回值为Boolean类型,功能是判断参数x是否能被7整除,如果不能整除返回True,否则返回False。Commandl_Click事件过程中使用了单行的If语句,不需要Else分支和Endlf语句。程序功能是统计1-500范围内不能被7整除的整数个数。5、设有下面程序代码:PlIivateSubCommandl_Click()DimstrAsString,chAsStringstr=”VisualBasicProgramming”:ch=”a”n=fun(ch,str):Printstr,nEndSubPrivateFunctionfun(chAsString,strAsString)AsIntegerDimstrbufAsString,cAsString,nAsIntegerFork=1ToLen(str)c=Mid$(str,k,1)Ifc<>chThenstrbuf=strbuf&cElsestrbuf=strbuf&UCase(c):n=n+1EndIfNextkstr=strbuf:fun=nEndFunction程序运行时的输出是A、VisualBasicProgramming0B、VisuAlBAsicProgrAmming3C、VisulBsicProgrmming3D、VisualBasicProgramming2标准答案:B知识点解析:本题中函数fun除了有返回值外,还通过地址传递的形参str带回修改以后的字符串。在函数中会依次遍历整个字符串,每一次取得一个字符,判断该字符和给定的参数“a”是否相等,如果不等则将其原样连接,否则将此字符转换成大写字符以后连接,而且令计数器加1。所以整个函数的功能就是将形参str中所有等于形参ch的字符转换成大写,并且统计这类字符的个数作为函数返回值。6、以下叙述中错误的是A、在通用过程中,多个形式参数之间可以用逗号作为分隔符B、在Print方法中,多个输出项之间可以用逗号作为分隔符C、在Dim语句中,所定义的多个变量可以用逗号作为分隔符D、当一行中有多个语句时,可以用逗号作为分隔符标准答案:D知识点解析:本题考查的考点是有关分隔符的。在过程的参数中需要用分隔符隔开;在Print方法中使用逗号可以隔开多个输出项;在一条Dim语句中定义多个变量时,这些变量也要用逗号隔开;在一行中写多个语句时,多个语句之间需要用冒号隔开。7、以下关于过程及过程参数的描述中,错误的是A、调用过程时可以用控件名称作为实际参数B、用数组作为过程的参数时,使用的是“传地址”方式C、只有函数过程能够将过程中处理的信息传回到调用的程序中D、窗体(Form)可以作为过程的参数标准答案:C知识点解析:本题考查的考点是有关过程参数的。在VB中不仅可以使用窗体作为通用过程的参数,还可以使用控件作为通用过程参数。控件参数用法同窗体参数,不过形参类型一般为Control。在使用数组作为参数时,使用的是传地址的方式。要想把过程中的信息传回到调用过程中,不但使用函数可以完成,也可以使用传地址调用的参数传递来完成。8、下面是求最大公约数的函数的首部Functiongcd(ByValxAsInteger,ByValyAsInteger)AsInteger若要输出8、12、16这3个数的最大公约数,下面正确的语句是A、Printgcd(8,12),gcd(12,16),gcd(16,8)B、Printgcd(8,12,16)C、Printgcd(8),gcd(12),gcd(16)D、Printgcd(8,gcd(12,16))标准答案:D知识点解析:函数过程在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。本题中的gcd函数有两个参数,任何对于gcd的调用都必须传递实参为两个整型值;选项A)中得到3个结果,显然不是我们所需要的;选项D)中的函数嵌套调用能够求出3个数的最大公约数。9、为了通过传值方式来传送过程参数,在函数声明部分应使用的关键字为A、ValueB、ByValC、ByRefD、Reference标准答案:B知识点解析:传值就是通过值传送实际参数,即传送实参的值而不是传送它的地址。在这种情况下,通用过程不访问变量(实参)的原始地址,因此不会改变原来变量的值,所有的变化都是在变量的副本上进行的。传值方式通过关键字ByVal来实现。也就是说,在定义通用过程时,如果形参前面有ByVal,则该参数通过传值方式传送。在传值方式下,对形参的改变不会影响到实参。10、以下过程定义中正确的过程首行是A、PrivateSubProc(OptionalaasInteger,basInteger)B、PrivateSubProc(aasInteger)asIntegerC、PrivateSubProc(a()AsInteger)D、PrivateSubProc(ByVala()AsInteger)标准答案:C知识点解析:VisualBasic允许用数组作为参数。但用数组作为过程的参数时,应在数组名的后面加上一对括号,以免与普通变量相混淆:而且只能使用地址传递,不能使用值传递。为了定义可选参数,需要在参数表中使用Optional关键字来指定可选参数,但是可选参数必须是变体型,而且放在参数表的最后。Sub子过程是不能有返回值类型的。11、某人编写了下面的程序PrivateSubCommandl_Click()DimaAsInteger,bAsIntegera=InputBox(”请输入整数”):b=InputBox(”请输入整数”)proa:probCallpro(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知识点解析:本题考查的考点是有关过程调用的。本题题干中的程序之所以不能显示第三行的值,是由于在调用pro函数时使用的是默认的传地址调用,这时在pro过程中的对形参的更改都会影响到实参。仔细观察pro过程,发现每次循环都要对形参n整除10一直到n为0为止,所以每次pro过程调用结束后都会把对应实参改为0。修改参数传递方式为传值调用即可使程序正确运行。12、有下面程序代码:PrivateSubCommandl_Click()DimxAsInteger,sAsIntegerx=1Fork=1To3x=x+1:procx:s=s+xNextkPrintsEndSubPrivateSubproc(ByValaAsInteger)StaticxAsIntegerx=x+1:a=a+xEndSub程序运行后,单击命令按钮Commandl,输出结果是A、6B、9C、15D、19标准答案:B知识点解析:本题中首先要区分在命令按钮的单击事件中定义的x是局部变量,仅能在过程内部起作用:在子过程proc中定义的静态变量x也是局部变量,也只能在本过程中起作用。在VB的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。本题中proc过程的参数a用的是值传递,因此形参的改变不会影响到实参,所以在命令按钮的单击事件中循环累加的是2+3+4=9。13、编写如下程序:PrivateSubCommandl_Click()DimxAsIntegerx=10Printfunl(x,12)+xEndSubPrivateFunctionfunl(mAsInteger,nAsInteger)AsIntegerIfn>10Thenm=nfual=m+nEndFunction程序运行后,单击命令按钮Commandl,输出结果为A、30B、32C、34D、36标准答案:D知识点解析:本体是一个简单的函数调用,调用funl函数时将x的值作为实参传送给funl函数,由于第二个参数12满足n>10,会将形参m的值也改变为12,因返回的函数值为24;由于函数funl的各个参数为地址传递,因此对于形参m的值会影响实参x的值,即x的值也变为12。14、在窗体上画一个名称为Commandl的命令按钮,再画两个名称分别为Labell、Label2的标签,然后编写如下程序代码:PrivateXAsIntegerPrivateSubCommandl_Click()X=5:Y=3Callproc(X,Y)Label1.Caption=X:Label2.Caption=YEndSubPrivateSubproc(aAsInteger,ByValbAsInteger)X=a*a:Y=b+bEndSub程序运行后,单击命令按钮,则两个标签中显示的内容分别是A、25和3B、5和3C、25和6D、5和6标准答案:A知识点解析:本题考查的考点是有关参数传递的。在VB的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用:没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。由于本题中的实参Y采用传值传递,实参X采用传址传递,而且X是全局变量,所以在被调过程中改变了X的值而没有改变Y的值。15、设有如下通用过程:PublicFunctionf(xAsInteger)DimyAsIntegerx=20:y=2:f=x*yEndFunction在窗体上画一个命令按钮,其名称为Commandl,然后编写如下事件过程:PrivateSubCommandl_Click()StaticxAsIntegerx=10:y=5:y=f(x)Printx;yEndSub程序运行后,如果单击命令按钮,则在窗体上显示的内容是A、105B、2040C、205D、1040标准答案:B知识点解析:本题中函数f中的形参x和按钮的单击事件中的静态变量x是不同的变量,相互之间互不影响。函数f的参数x使用的是地址传递的形式,即形参的变化会影响到实参:在命令按钮的单击事件中调用函数f,会使得参数x的值变成20,函数返回值为40。16、命任何一个滚动条滚动框件过程如下:PrivateSubCommandl_Click()x=10Printf(x)EndSubPrivateFunctionf(yAsInteger)f=y*yEndFunction运行上述程序,如下叙述中正确的是:A、程序运行出错,x变量的类型与函数参数的类型不符B、在窗体上显示100C、函数定义错,函数名f不能又作为变量名D、在窗体上显示10标准答案:A知识点解析:在调用子过程或者函数过程时,要求实参与形参必须是匹配的,即个数相同、类型相同、顺序一致。本题中命令按钮的Click事件中隐式声明了变量x,所以x是变体型;在调用函数f的时候将变体型的x作为实参传送,但函数f中的形参y是整型的,故此产生类型不匹配的情况。17、编写如下程序:PrivateSubCommand1_Click()DimxAsInteger,yAsIntegerx=InputBox(”输入第一个数”):y=InputBox(”输入第二个数”)Callf(x,y)Printx,yEndSubSubf(aAsInteger,ByValbAsInteger)a=a*2:x=a+b:b=b+100EndSub程序运行后,单击命令按钮Commandl,并输入数值10和15,则输出结果为A、10115B、20115C、3515D、2015标准答案:D知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中f的参数a是按地址传递的,b是按值传递的,因此在f中对a的改变会影响实参x,对b的操作不会影响实参y。18、现有程序如下:OptionBase1PrivateSubForm_Click()Dimx(5,6)AsInteger,y(5)AsIntegerFori=1To5Forj=1To6x(i,j)=Int(Rnd*9+1)NextjNextiCallf(5,6,x,y)Fori=1To5Printy(i);NextiEndSubSubf(mAsInteger,nAsInteger,a()AsInteger,b()AsInteger)Fori=1Tomb(i)=0Forj=1Tonb(i)=b(i)+a(i,j)NextjNextiEndSub关于上述程序,以下叙述中正确的是A、调用过程语句有错,参数不匹配B、程序有错,数组下标越界C、y数组中保存的是x数组每行数据之和D、x数组中数据的取值范围是1-10标准答案:C知识点解析:本题中子过程f的四个形参分别为整型、整型、整型数组和整型数组,在窗体的单击事件中调用过程f,四个实参和四个形参可以匹配,调用语句没有错误;在二重循环中为二维数组的每个元素赋值,数组下界从1开始,因此不会越界:在二重循环中为数组x的元素赋值为0~9之间的值:在过程f中用一个二重循环以此计算x数组每行数据之和放在y数组中。19、窗体上有一个名称为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整除,若可以整除则将n翻倍,否则将n变为n的平方返回。在函数头部没有声明函数的返回值类型,默认为变体型,可以接受任何数据类型的赋值;ByRef表示参数按址传递,对形参的改变将会影响实参;当输入5的时候输出5+25+625=655;当输入6的时候输出6+12+24=42。20、窗体上有一个名称为Commandl的命令按钮,并有如下程序代码:PrivateSubCommandl_Click()Staticaa=1:b=2:c=3Callf(a,b,c)Printa;b;cEndSubSubf(ByValx,ByRefy,z)x=x+1:y=y+1:z=z+lEndSub运行程序,单击命令按钮,窗体上显示的是A、133B、134C、233D、234标准答案:B知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中f的参数x是按值传递的,y和z是按地址传递的,因此在f中对x的改变不会影响实参a,对y和z的操作会影响实参b和c。21、窗体上有一个名称为Commandl的命令按钮,其单击事件过程如下:PrivateSubCommandl_Click()DimxAsInteger,yAsIntegerStaticzAsIntegerx=3:y=5:z=yCallf(x,y,z)Printx;y;zEndSubPrivateSubf(ByValaAsInteger,ByRefbAsInteger,cAsInteger)a=a+a:b=b+b:c=c+cEndSub运行程序,单击命令按钮时,3个标签中显示的内容分别是A、355B、3510C、3105D、31010标准答案:D知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中f的参数a是按值传递的,b和c是按地址传递的,因此在f中对a的改变不会影响实参x,对b和c的操作会影响实参x和y。22、(36)窗体上有一个名称为Commandl的命令按钮,其单击事件过程及相关的代码如下:PrivateSubCommandl_Click()DimxAsInteger,yAsIntegerx=Val(InputBox(”输入整数”))y=Val(InputBox(”输入整数”))PrintStr(fun(x,y)+x+y)EndSubPrivateFunctionfun(ByRefmAsInteger,ByValnAsInteger)m=m*m:n=n+n:fun=m+nEndFunction运行程序,单击命令按钮时,出现输入对话框,分别输入3、5,则窗体上显示的是A、27B、28C、33D、38标准答案:C知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中fun的参数m是按地址传递的,n足按值传递的,因此在f中对m的改变会影响实参x,对n的操作不会影响实参y,即输出的是Str(19+9+5)=”33”。23、设有如下程序:PrivateSubInv(ByValxStrAsString,yStrAsString)DimtStrAsStringDimLAsIntegerL=Len(xStr)DoWhileL>=1tStr=tStr+Mid(xStr,L,1):L=L-lLoopyStr=tStrEndSubPrivateSubForm_Click()DimS1AsString,S2AsStringSl=”abcdef”InvS1.S2PrintS2EndSub运行程序,单击窗体,输出结果为A、abcdefB、afbecdC、fedcbaD、defabc标准答案:C知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中Inv的参数xStr是按值传递的,yStr是按地址传递的,因此在Inv中对xStr的改变不会影响实参S1,对yStr的操作会影响实参S2。过程Inv的作用是在每次循环中取出S1字符串靠后面的值连接到tStr中,然后将tStr赋值给yStr从而通过地址传递带回给S2,即字符串的逆序。24、设有如下程序:PrivateSubsV(ByValmAsInteger,nAsInteger)m=m*2:n=n-5:Printm;nEndSubPrivateSubFormClick()DimxAsInteger,yAsIntegerx=10:y=15:sVx.YPrintx;YEndSub运行程序,单击窗体,输出结果为A、20101010B、10152010C、20151015D、20102010标准答案:A知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中sV的参数m是按值传递的,n是按地址传递的,因此在sV中对m的改变不会影响实参x,对n的操作会影响实参y。25、由高中数学可知,对于连续函数f(x),若f(x1)与f(x2)值的符号相反,则在x1和x2之间必存在x0,使得f(x0)=0(该点称为“零点”)。设有VB函数:PrivateFunction.f(xAsSingle)AsSingle可以返回f(x)的值(函数体没有给出)。下面程序的功能是从键盘输入2个实数x1、x2,判断在x1、x2之间是否存在零点。PrivateSubCommandl_Click()Dimx1AsSingle,x2AsSinglex1=InputBox(”请输入一个实数x1”)x2=InputBox("请再输入一个实数x2”)lf()ThenPrint”在”:x1;”与”;x2;”之间存在零点”ElsePrint”不能确定在”;x1;”与”;x2;”之间是否存在零点”EndIfEndSubPrivateFunctionf(xAsSingle)AsSingle……EndFunction为使上面程序可以实现该功能,程序代码中横线处应填写的代码是A、f(x1)>0Orf(x2)<0B、f(x1)<0Andf(x2)<0C、f(x1)*f(x2)<0D、f(x1)*f(x2)>0标准答案:C知识点解析:本题实际是要求判断两个函数值是否符号相反,由中学数学的知识可知,两数相反的标志是两数相乘结果小于0。26、编写如下程序:PrivateSubCommandl_Click()DimxAsInteger,yAsIntegerx=10:y=20Callfunl(x,y)Printx:yEndSubPrivateFunctionfunl(ByValmAsInteger,nAsInteger)AsIntegerm=m*m:n=n+nEndFunction程序运行后,单击命令按钮Cornmandl,输出结果为A、1025B、1040C、10025D、10040标准答案:B知识点解析:在VisualBasic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递(Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中funl的参数m是按值传递的,n是按地址传递的,因此在funl中对m的改变不会影响实参x,对n的操作会影响实参y。27、设有以下过程:PrivateSubproc(xAsInteger,OptionalyAsInteger)Printx,yEndSub针对此过程,下面正确的过程调用语句是A、Callproc(a!,23)B、Callprocx%,12C、procb%D、x=proc(12)标准答案:C知识点解析:Optional声明的参数是可选参数,在调用的时候可以省略对应的实参,但是可选参数必须放在形参列表的最后声明;在过程内可以使用IsMissing函数来判断是否实际调用的时候省略了对应的实参。子过程可以独立使用,也可以使用Call关键字来进行调用,但此时参数需要加括号。28、以下关于过程及过程参数的描述中,错误的是A、过程的参数可以是控件名称B、调用过程时使用的实参的个数应与过程形参的个数相同(假定不含可变参数)C、只有函数过程能够将过程中处理的信息返回到调用程序中D、窗体可以作为过程的参数标准答案:C知识点解析:本题考查的考点是有关过程参数的。过程的参数可以为任何控件,包括窗体,在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。除了函数过程可以把信息返回到调用程序中,一般过程也可以通过地址传递的方法把信息返回到调用程序中。29、窗体上有一个用菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。以下叙述中错误的是A、在设计“粘贴”菜单项时,在菜单编辑器窗口中设置了“有效”属性(有“√”)B、菜单中的横线是在该菜单项的标题输入框中输入了一个“-”(减号)字符C、在设计“选中”菜单项时,在菜单编辑器窗口中设置了“复选”属性(有“√”)D、在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见”前面的“√”标准答案:A知识点解析:本题考查的考点是菜单。菜单项的“有效”属性是控制菜单项的有效性的。只要把一个菜单项的“有效”属性设置为False,就可以使其失效,运行后该菜单项变为灰色:要在菜单项中插入分隔线应该在标题框中输入“-”菜单项标志,可以通过菜单设计窗口中的“复选”属性设置,当该属性为True时,相应的菜单项前有“√”标记;弹出菜单由于初始运行时应该不可见,故应去掉“可见”前面的“√”标记。30、以下打开VisualBasic菜单编辑器的操作中,错误的是A、执行“编辑”菜单中的“菜单编辑器”命令B、执行“工具”菜单中的“菜单编辑器”命令C、单击工具栏中的“菜单编辑器”按钮D、右击窗体,在弹出的快捷菜单中选择“菜单编辑器”命令标准答案:A知识点解析:VisualBasic中的菜单通过菜单编辑器建立,可以通过4种方式进入菜单编辑器:执行“工具”菜单中的“菜单编辑器”命令;使用Ctrl+E组合键:单击工具栏中的“菜单编辑器”按钮;在要建立菜单的窗体上单击右键,将弹出一个菜单,然后单击“菜单编辑器”命令。31、如果一个菜单项的Enabled属性被设置为False,则程序运行时,该菜单项A、不显示B、显示但无效C、有效可用D、不显示但有效可用标准答案:B知识点解析:菜单项也是对象,也可以设置属性,如果Enabled属性被设置为False,则程序运行时,该菜单项显示但无效(呈现灰色)。32、以下说法中正确的是A、任何时候都可以用Ctrl+E键打开菜单编辑器B、只有当某个窗体为当前活动窗体时,才能打开菜单编辑器C、只有当代码窗口为当前活动窗口时,才能打开菜单编辑器D、任何时候都可以用标准工具栏的“菜单编辑器”按钮打开菜单编辑器标准答案:B知识点解析:打开菜单编辑器有4种方法:①选择菜单“工具”菜单框中的“菜单编辑器”命令;②单击工具栏上的“菜单编辑器”按键;③使用快捷键<Ctrl+E>;④右击窗体,从弹出的快捷菜单中选择“菜单编辑器”命令。注意:只有当某个窗体成为活动窗体时,才能使用以上方法打开其菜单编辑器。33、如果一个顶级菜单项的访问键为D,则以下等同于单击该菜单项的操作为A、按Ctrl+D键B、按Alt+D键C、按D键D、按Shift+D键标准答案:B知识点解析:访问键就是菜单项中加了下划线的字母,只要同时按下<Alt>键和加了下划线的字母键,就可以选择相应的菜单项。设置访问键时,必须将菜单标题中要设为访问键的字母前面加上“&”字符。34、下列关于菜单项的描述中,错误的是A、通过内缩符号(…)设置菜单项的层次B、通过Enabled属性设置菜单项的有效性C、菜单项的索引号可以不连续D、菜单项的索引号必须从1开始标准答案:D知识点解析:在菜单编辑器中,可以通过内缩符号(…)设置菜单项的层次;通过Enabled属性设置菜单项的有效性,Visible属性设置菜单项的可见性:菜单的索引号必须是从0开始的连续值。35、以下关于菜单的叙述中,错误的是A、当窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器B、把菜单项的Enabled属性设置为False,则可删除该菜单项C、弹出式菜单在菜单编辑器中设计D、程序运行时,利用控件数组可以实现菜单项的增加或减少标准答案:B知识点解析:本题考查的考点是有关菜单的。VisualBasic中的菜单通过菜单编辑器建立,可以通过4种方式进入菜单编辑器:执行“工具”菜单中的“菜单编辑器”命令、使用Ctrl+E组合键、单击工具栏中的“菜单编辑器”按钮、在要建立菜单的窗体上单击鼠标右键,将弹出一个菜单,然后单击“菜单编辑器”命令:不管是顶层菜单还是弹出菜单都在菜单编辑器中设计;程序运行时可以利用菜单项的动态数组实现菜单项的增加或减少:如果把菜单项的Enable属性置为False,则该菜单项不可用,但是并没有在菜单中删除。36、下列关于菜单项的描述中,错误的是A、菜单项不能响应Click事件以外的其他事件B、每个菜单项都可以被看作一个控件,具有相应的属性和事件C、菜单项的索引号可以不连续D、通过Visible属性设置菜单项的有效性标准答案:D知识点解析:菜单项是VB中的一种对象,每个菜单项都可以被看作一个控件,具有相应的属性和事件,而且只能响应Click事件;菜单项的索引号可以不是连续的,通过Enabled属性设置菜单项的有效性,通过Visible属性设置菜单项的可见性。37、在利用菜单编辑器设计菜单时,为了把组合键“Alt+X”设置为“退出(X)”菜单项的访问键,可以将该菜单项的标题设置为A、退出(X&)B、退出(&X)C、退出(X#)D、退出(#X)标准答案:B知识点解析:访问键就是菜单项中加了下划线的字母,只要同时按下<AIt>键和加了下划线的字母键,就可以选择相应的菜单项。快捷键和访问键都是在设计菜单时直接指定。设置访问键时,必须在要设置为访问键的字母前面加上一个“&”。38、为了显示弹出式菜单,要使用A、窗体的PopupMenu方法B、窗体的OpenMenu方法C、菜单的PopupMenu方法D、菜单的OpenMenu方法标准答案:A知识点解析:在MDIForm或Form对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单,要使用对象.PopupMenu菜单名来弹出。39、下面关于菜单的叙述中正确的是A、为使选中一菜单项就可执行某种操作,要为它的Click事件过程编写执行该操作的代码B、同一级菜单中的菜单项不能同名,但不同级菜单中的菜单项可以同名C、只能使用鼠标右键把弹出式菜单弹出来D、弹出式菜单中的菜单项不能再有自己的子菜单标准答案:A知识点解析:菜单项也作为对象看待,所以不能有两个菜单项名字完全相同;弹出式菜单的编辑过程和下拉式菜单一样,菜单项也可以再设置子菜单;弹出式菜单要使用对象.PopupMenu菜单名来弹出,一般是编写窗体的鼠标事件,可以设计成单击左键弹出菜单:为了使得选中一个菜单项就可以执行某种操作,要为它的Click事件过程编写执行该操作的代码。国家二级VB机试(选择题)模拟试卷第3套一、选择题(本题共32题,每题1.0分,共32分。)1、窗体上有名称为Commandl的命令按钮,其事件过程如下:OptionBase1PrivateSubCommandl_Click()DimaDimb(10)AsIntegera=Array(2,4,7,3,9,6)Fori=LBound(a)ToUBound(a)b(i)=a(i)+iSum=Sum+b(i)NextiPrintSumEndSub运行程序,单击命令按钮时,窗体上显示的是A、44B、46C、50D、52标准答案:D知识点解析:本题中使用了一个循环为b数组进行赋值,每个元素的值是对应a数组元素的值加上下标的值。因此b数组中的元素为(3、6、10、7、14、12),然后累加和为52。2、窗体上有一个名称为Commandl的命令按钮,有程序如下:OptionBase1PrivateSubCommandl_Click()Dima(10)AsInteger‘第1个ForFori=1To10a(i)=Int(Rnd*100+100)Printa(i);Nextx=a(i):y=x‘第2个ForFori=1To10Ifx<a(i)Thenx=a(i)Ify>a(i)Theny=a(i)s=s+a(i)NextPrintx,y,sEndSub关于上述程序的叙述中,正确的是A、程序运行出错,第1个For循环之后的x=a(i)赋值语句错B、程序正常运行,x是10个随机数中的最大值C、程序正常运行,s是10个随机数的和D、程序正常运行,10个随机数的范尉是100-200标准答案:A知识点解析:随机数函数Rnd的功能是用于产生一个小于1但大于或等于0的随机数,本题中产生的整数的范围是100-199;在第一个循环结束后,循环变量i的值为不满足循环条件的值11,在紧随其后的x=a(i)语句将会执行出错,因为出现了数组越界。3、在窗体卜画一个文本框,其名称为Textl,然后编写如下程序:OptionBaselPrivateSubForm_Click()DimArr(10)AsIntegerFori=6To10Arr(i)=i-3NextiText1.Text=Str(Arr(6)+Arr(Arr(6)+Arr(10)))EndSub程序运行后,单击窗体,在文本框中显示的内容是A、7B、8C、9D、10标准答案:D知识点解析:本题中在循环中为数组部分元素赋值,把Arr(6)~Arr(10)分别赋值为3~7,其余的数组元素保持默认值0;最终输出的是Arr(6)+Arr(Arr(6)+Arr(10))即Arr(6)+Arr(10)=10。4、假定有如下程序:PrivateSubFormClick()Dima(4)AsInteger,b(4)AsIntegerFork=0To2a(k+1)=Val(InputBox(”请输入一个整数:”))b(3-k)=a(k+1)NextkPrintb(k)EndSub运行程序,单击窗体,依次输入3、6、9,输出结果为A、3B、6C、9D、1标准答案:A知识点解析:本题在循环中输入数据,当第一次输入3的时候a(1)=3,b(3)=a(1)=3;当第二次输入6的时候a(2)=6,b(2)=a(2)=6;当第三次输入9的时候a(3)=6,b(1)=a(3)=9,跳出循环后k的值为3,将输出b(3)的值。5、阅读程序:OptionBase1PrivateSubForm_Click()Dima(3,3)AsIntegerFori=1To3Forj=lTo3a(1,j)=_________Printa(i,j);NextjPrintNextiEndSub运行上面的程序,单击窗体,输出结果如下:则在横线处应填入的内容为A、i+jB、i*jC、(i-1)*3+jD、i+(j-1)*3标准答案:D知识点解析:本题中使用二重循环为数组赋值,分许输出的结果,每个元素和行号和列号的关系可以看出,每个元素的值应该等于i+(j-1)*3。6、阅读程序:OptionBase1SubP(b()AsInteger)Fori=1To4b(i)=2*iNextiEndSubPrivateSubForm_Click()Dima(4)AsIntegerFori=1To4a(i)=i+4NextiPaFori=1To4Printa(i)NextiEndSub运行上面的程序,单击窗体,输出结果为A、2468B、5678C、l0121416D、481216标准答案:A知识点解析:本题中的过程P的功能是为形参数组b进行赋值,数组作为参数时采用的是地址传递,所以对形参的改变将会影响实参,也就是在窗体的单击事件中,首先在一个循环中为数组a赋值,然后调用了P过程重新为a赋值覆盖掉原来的值。7、在窗体上画一个命令按钮,然后编写如下程序:OptionBase1PrivateSubCommandl_Click()DimArt(10)AsIntegerFori=1To10Arr(i)=11-iNextix=InputBox(”输入一个整数(3~10)”)PrintArr(2+Art(x))EndSub程序运行后,单击命令按钮,在输入对话框中输入7,则输出结果为A、3B、4C、5D、6标准答案:C知识点解析:本题是一个简单的数组操作,首先在一个循环中为数组元素赋值,然后输出指定的数组元素值。最终输出的是Arr(2+Arr(7))=Arr(6)=5。8、设有下面程序代码:PrivateSubCommandl_Click()DimaAsVarianta=Array(22,43,23,56,87,45,67,12,98,98,56,34,23,75,64)m=a(0)n=mFork=1ToUBound(a)Ifa(k)>mThenn=m:m=a(k)Elselfa(k)>nAnda(k)<>mThenn=a(k)EndIfNextkPrintnEndSub程序运行时的输出是A、数组中最大的数(即98)B、数组中最小的数(即12)C、数组中第2大的数(即87)D、数组中第1个数(即22)标准答案:C知识点解析:本题显然是求取数组最大值的,先取得数组的第一个元素作为最大值,然后用m保存最大值;在循环中如果发现了有比m还大的数组元素,则将该元素作为新的最大值,原来的最大值m赋值给n:如果元素不比m大就去比较元素是否大于n,若大于n则将元素赋值给n,所以循环结束后n中的值是数组中第2大的数。9、设有下面程序代码:OptionBase1PrivateSubCommandl_Click()Dimx(6)a=Array(4,2,5,1,6,3)b=Array(64,24,98,27,58,41)Fork=1To6x(a(k))=b(k)NextkFork=1To6Printx(k);NextkEndSub程序运行时的输出是A、272441649858B、642498275841C、242741586498D、986458412724标准答案:A知识点解析:本题是一个简单的数组赋值。只要把握好每次为哪个元素赋以什么样的值就不会出错。最后x数组中存放的数据依次是27、24、41、64、98、58。10、以下关于控件数组的叙述中,正确的是A、数组中各个控件具有相同的名称B、数组中可包含不同类型的控件C、数组中各个控件具有相同的Index属性值D、数组元素不同,可以响应的事件也不同标准答案:A知识点解析:控件数组是一组具有共同名称和共同类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标。11、以下关于控件数组的叙述中,错误的是A、各数组元素共用相同的事件过程B、各数组元素通过下标进行区别C、数组可以由不同类型的控件构成D、各数组元素具有相同的名称标准答案:C知识点解析:控件数组是一组具有共同名称和共同类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标。12、假定通过复制、粘贴操作建立了一个命令按钮数组Commandl,以下说法中错误的是A、数组中每个命令按钮的名称(Name属性)均为CommandlB、若未做修改,数组中每个命令按钮的大小都一样C、数组中各个命令按钮使用同一个Click事件过程D、数组中每个命令按钮的Index属性值都相同标准答案:D知识点解析:本题考查的考点是有关控件数组的。控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有唯一的索引号(Index),即下标,默认索引号从0开始。建立控件数组有两种方法:一是先在窗体上画好一个控件,然后再用“复制”和“粘贴”的方法建立;二是先在窗体上先画出若干相同类型的控件,然后再将它们的名称改为同一个名称,再将其Index属性分别设置为不同值即可。采用第一种方法建立控件数组时,每个数组元素的名称、大小、事件均使用同一个,区别只在于Index属性不一样。13、窗体上已有的3个单选按钮组成了1个名为ChkOptl的控件数组。用于区分控件数组ChkOptl中每个元素的属性是A、CaptionB、ListCountC、ListlndexD、Index标准答案:D知识点解析:控件数组是一组具有共同名称和类型的控件,它拥有共同的事件,数组中的每个控件都有唯一的索引号(Index),即下标,默认索引号从0开始。14、窗体上有一个名称为Optionl的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程PrivateSubOptionl_Click(IndexAsInteger)EndSub下面关于此过程的参数Index的叙述中正确的是A、Index为1表示单选按钮被选中,为0表示未选中B、Index的值可正可负C、Index的值用来区分哪个单选按钮被选中D、Index表示数组中单选按钮的数量标准答案:C知识点解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从0开始,不能为负值。15、设在窗体上有一个名称为Checkl的复选框数组,并有以下事件过程:PriVateSubCheckl_Click(IndexAsInteger)EndSub则下面叙述中错误的是A、单击数组中任何复选框都会调用此事件过程B、参数Index的值等于单击数组中某个复选框的Index属性的值C、上面的过程是数组中第1个复选框的事件过程D、从过程的首部(即第1行)无法确定数组中复选框的个数标准答案:C知识点解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从0开始,不能为负值。从过程的首部无法确定数组中控件的个数。16、下面关于控件数组的叙述中正确的是A、控件数组中所有控件的名称相同,但其Index属性值各不相同B、控件数组中所有控件的名称相同,但其Value属性值各不相同C、控件数组中每个元素都是独立的控件,因此都有各自的事件过程D、上述都是错误的标准答案:A知识点解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有惟一的索引号(Index),即下标,默认索引号从0开始,不能为负值。17、下列关于控件数组的叙述中,正确的是A、控件数组可以由不同类型的控件组成B、控件数组元素的最小下标值为1C、在设计阶段,可以改变控件数组元素的Index属性值D、控件数组的名字由Caption属性指定标准答案:C知识点解析:控件数组是一组具有共同名称和类型的控件,它们拥有共同的事件,数组中的每个控件都有唯一的索引号(Index),即下标,默认索引号从0开始,在设计阶段可以手动指定控件数组元素的Index属性值。18、窗体上有一个由两个文本框组成的控件数组,名称为Textl,并有如下事件过程:PrivateSubTextl_Change(IndexAsInteger)SelectCaseIndexCase0Textl(1).FontSize=Textl(0).FontSize*2Textl(1).Text=Textl(0).TextCase1Textl(0).FontSize=Textl(1).FontSize/2Textl(0).Text=Textl(1).TextCaseElseMsgBox”执行Else分支”EndSelectEndSub关于上述程序,以下叙述中错误的是A、Index用于标识数组元素B、本程序中CaseElse分支的语句永远不会被执行C、向任何一个文本框输入字符,都会在另一个文本框中显示该字符D、下标为0的文本框中显示的字符尺寸将越来越小标准答案:

温馨提示

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

评论

0/150

提交评论