1、国家二级 VB机试(过程、菜单程序设计)模拟试卷 3及答案与解析 一、选择题 1 以下关于 VB特点的叙述中,错误的是 ( )。 ( A) VB采用事件驱动的编程机制 ( B) VB程序能够以解释方式运行 ( C) VB程序能够以编译方式运行 ( D) VB程序总是从 Form_Load事件过程开始执行 2 如果把程序的启动对象设置为: Sub Main,则 Sub Main过程 ( )。 ( A)只能写在 Form1窗体中代码的最前面 ( B)可以写在 Form1窗体中代码的任何位置 ( C)只能写在某个标准模 块的代码中 ( D)可以写在任何窗体或标准模块的代码中 3 设窗体上有 3个图像
2、框: Image1、 Image2、 Image3,并有下面的程序代码: Private Sub Form_Load() Image1 Picture=LoadPicture(“LEAF bmp“) Image2 Picture=LoadPicture(“OPEN bmp“) Image3 Visible=False End Sub Private Sub Image1_Click() Image2 Picture=Image1 Picture End Sub Private Sub Image2_Click() Image3 Picture=Image2 Picture Image2 Pic
3、ture=Image1 Picture Image1 Picture=Image3 Picture End Sub 在程序运行期间单击 Image2,则在窗体上看到的结果是 ( )。 ( A)在 Image3中显示 Image2中的图片 ( B) Image1、 Image2中原有图片被交换了 ( C) Image1、 Image2中都是原来 Imege1中 的图片 ( D) Image1、 Image2中都是原来 Imege2中的图片 4 在 VB中,函数过程与子程序过程的区别之一是 ( )。 ( A)函数过程必须有参数,而子程序过程可以没有 ( B)函数过程的参数传递只采用值传递,而子程序
4、过程只采用地址传递 ( C)在程序中,子程序过程调用的代码可以写在表达式中,而函数过程不能 ( D)函数过程有返回值,而子程序过程没有 5 设子程序过程定义的首部为: Public Sub S(X As Integer, Y As Single) 则以下正确的调用形式为 ( )。 ( A) Call S5, 4 8 ( B) Call Sub(5, 4 8) ( C) Sub5, 4 8 ( D) S5, 4 8 6 阅读程序: Option Base1Sub P(b()As Integer)For i=1To4b(i)=2*iNext iEnd SubPrivate Sub Form Cli
5、ck()Dim a(4)As IntegerFor i=1To4a(i)=i+4Next iP aFor i=1To4Print a(i)Next iEnd Sub运行上面的程序,单击窗体,输出结 果为 ( )。7 设有以下过程: Private Sub proc(x As Integer, Optional y As Integer) Print x, y End Sub 针对此过程,下面正确的过程调用语句是 ( )。 ( A) Call proc(a!, 23) ( B) Call proc x, 12 ( C) proc b ( D) x=proc(12) 8 窗体上有一个名称为 Com
6、mand1的命令按钮,一个名称为 Text1的文本框。编写如下程序: Private Sub Command1_Click() Dim x As Integer x=Val(InputBox(“输入数据 “) Text1=Str(x+fun(x)+fun(x) End Sub Private Function fun(ByRef n As Integer) If n Mod3=0Then n=n+n Else n=n*n End If fun=n End Function 对于上述程序,以下叙述中错误的是 ( )。 ( A)语句 fun=n有错,因为 n是整型, fun没有定义类型 ( B)运
7、行程序,输入值为 5时,文 本框中显示 655 ( C)运行程序,输入值为 6时,文本框中显示 42 ( D) ByRef表示参数按址传递 9 编写如下程序: Private Sub Command1 Click() Dim x As Integer, y As Integer x=InputBox(“输入第一个数 “) Y=InputBox(“输入第二个数 “) Call f(x, y) Print x, y End Sub Sub f(a As Integer, ByVal b As Integer) a=a*2 x=a+b b=b+100 End Sub 程序运行后,单击命令按钮 Com
8、mand1,并输入数值 10和 15,则输出结果为( )。 ( A) 10 115 ( B) 20 115 ( C) 35 15 ( D) 20 15 10 窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Private Sub Command1_Click() Static a a=1: b=2: c=3 Call f(a, b, c)Print a; b; c End Sub Sub f(ByVal x, ByRef y, z) x=x+1 y=y+1 z=z+1 End Sub 运行程序,单击命令按钮,窗体上显示的是 ( )。 ( A) 1 3 3 ( B) 1 3
9、4 ( C) 2 3 3 ( D) 2 3 4 11 以下关于过程的叙述中,错误的是 ( )。 ( A)在 Sub过程中不能再定义 Sub过程 ( B)事件过程也是 Sub过程 ( C)过程调用语句的形参个数必须与实参个数相同 ( D)函数过程一定有返回值 12 编写如下程序: Private Sub Command1_Click() Dim x As Integer x=10 Print fun1(x, 12)+x End Sub Private Function fun1(m As Integer, n As Integer)As Integer If n 10Then m=n fun1=
10、m+n End Function 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 30 ( B) 32 ( C) 34 ( D) 36 13 编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x=10 y=20 Call fun1(x, y) Print x: y End Sub Private Function fun1(ByVal m As Integer, n As Integer)As Integer m=m*m n=n+n End Funetion 程序运行后,单击命令按
11、钮 Command1,输出结果为 ( )。 ( A) 10 25 ( B) 10 40 ( C) 100 25 ( D) 100 40 14 以下关于菜单的叙述中错误的是 ( )。 ( A)对于同一窗体中的菜单,各菜单项的名称必须唯一 ( B)对于同一窗体中的菜单,各菜单项的标题必须唯一 ( C)菜单中各菜单项可以是控件数组元素 ( D)弹出式菜单的编辑、定义在菜单编辑器中进行 15 按照下表建立菜单:单击菜单的事件过程如下: Private Sub mnu1_Click(Index As Integer)Select Case IndexCase1Print“选中菜单项 1“Case2If
12、mnu1(2) Checked=True Thenmnu1(2) Checked=FalseElsemnu1(2) Checked=TrueElse IfCase3Print“选中菜单项 3“End SelectEnd sub关于上述程序,以下叙述中错误的是 ( )。 ( A)各子菜单项组成一个名称为 mnu1的控件数组 ( B)不论选中菜单项 1、 2或 3,均执行 mnu1_Click事件过程 ( C) Case2分支的语句没有必要,因为该菜单项的 “复选 ”属性已被设置 ( D)程序中的 Index是系统自动产生的 16 在用菜单编辑器设计菜单时,必须输入的项是 ( )。 ( A)标题
13、( B)快捷键 ( C)索引 ( D)名称 17 以下打开 Visual Basic菜单编辑器的操作中,错误的是 ( )。 ( A)执行 “编辑 ”菜单中的 “菜单编辑器 ”命令 ( B)执行 “工具 ”菜单中的 “菜单编辑嚣 ”命令 ( C)单击工具栏中的 “菜单编辑器 ”按钮 ( D)右击窗体,在弹出的快捷菜单中选择 “菜单编辑器 ”命令 18 以下说法中正确的是 ( )。 ( A)任何时候都可以用 Ctrl+E键打开菜单编辑器 ( B)只有当某个窗体为当前活动窗体时,才能打开菜单编辑器 ( C)只有当代码窗口为当前活动窗口时,才能打开菜单编辑器 ( D)任何时候都可以用标准工具栏的 ”菜
14、 单编辑器 ”按钮打开菜单编辑器 19 如果一个顶级菜单项的访问键为 D,则以下等同于单击该菜单项的操作为( )。 ( A)按 Ctrl+D键 ( B)按 Alt+D键 ( C)按 D键 ( D)按 Shift+D键 20 下列关于菜单项的描述中,错误的是 ( )。 ( A)通过内缩符号 ( )设置菜单项的层次 ( B)通过 Enabled属性设置菜单项的有效性 ( C)菜单项的索引号可以不连续 ( D)菜单项的索引号必须从 1开始 21 为了显示弹出式菜单,要使用 ( )。 ( A)窗体的 PopupMenu方法 ( B)窗体的 OpenMenu方法 ( C)菜单的 PopupMenu方法
15、( D)菜单的 OpenMenu方法 22 下面关于菜单的叙述中正确的是 ( )。 ( A)为了使得选中一个菜单项就可以执行某种操作,要为它的 Click事件过程编写执行该操作的代码 ( B)同一级菜单中的菜单项不能同名,但不同级菜单中的菜单项可以同名 ( C)只能使用鼠标右键把弹出式菜单弹出来 ( D)弹出式菜单中的菜单项不能再有自己的子菜单 23 下列关于利用通用对话框产生的文件对话框的相关属性的描述中 ,错误的是( )。 ( A) LnitDir属性用于设置对话框中显示的起始目录 ( B) Filter属性用于设置对话框默认的过滤器 ( C) DefauhExt属性用于设置对话框中默认的
16、文件类型 ( D) FileTitle属性用于存放对话框中所选择的文件名 24 通用对话框 Filter属性的作用是 ( )。 ( A)设置对话框的标题 ( B)指定对话框所选择的文件名 ( C)指定对话框的打开方式 ( D)指定对话框中显示的文件类型 25 窗体上有一个名称为 CD1的通用对话框,一个名称为 Text1的文本框,窗体的单击事件过程如下: Private Sub Form_Click() CD1 DialogTitle=“改变颜色 “ CD1 Color=Form1 BackColor CD1 Action=3 Text1 BackColor=CD1 Color End Sub
17、 运行程序时,单击窗体,则以下叙述中错误的是 ( )。 ( A)通用对话框的标题被改为 “改变颜色 ” ( B)通用对话框被打开为颜色对话框 ( C)若选择颜色对话框中的 “取消 ”按钮,则文本框的背景色改为窗体背景色 ( D)若选择颜色对话框中的 “确定 ”按钮,则文本框的背景色改为在颜色对话框中选中的颜色 26 利用通用对话框控件打开字体对话框的操作是 ( )。 ( A)把通用对话框控件的 Action屙陛设置为 4 ( B)把通用对话框控件的 Action属性设置为 5 ( C)调用通用对话框控件的 OpenFont方法 ( D)调用通用对话框控件的 ShowText方法 27 在窗体上
18、画一个通用对话框,其名称为 CommconDiMog1,则下列与CommonnDialog1 ShowOpen方法等效的语句是 ( )。 ( A) CommonDialog1 Action=1 ( B) CommonDialog1 Action=2 ( C) CommonDialog1 Action=3 ( D) CommonDialog1 Action=4 28 假定在窗体上添加了一个通用对话框控件,其名称为 CD1,并有如下程序段: CD1 ShowOpen CD1 DefauhExt=“doc“ 在打开文件的对话框中选择了 “c: file1 txt“文件,则 fileTitle属性的值
19、是 ( )。 ( A) file1 doc ( B) file1 txt ( C) e: file1 txt ( D) c: file1 doc 国家二级 VB机试(过程、菜单程序设计)模拟试卷 3答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 在一般情况下,整个应用程序从设计时的第一个窗体开始执行,需要首先执行的程序代码放在 Form_Load事件过程中。如果需要从其他窗体开始执行应用程序,则可通过 “工程 ”菜单中的 “工程属性 ”命令 (“通用 ”选项卡 )指定启动窗体。但是,如果有 Sub Main过程,则可以 (注意,是 “可以 ”,而不是 “必须 ”)首先执行 Sub
20、Main过程。 【知识模块】 过程 2 【正确答案】 C 【试题解析】 在运行窗体程序之前先执行一些操作,此时可以通过在标准模块中创建一个 Sub Main的子过程,不能在窗体模块中创建 Sub Main的子过程,然后在创建的 Sub Main过程中编写启动时要执行的代码,每个工程只能有一个 Sub Main的子过程。 【知识模块】 过程 3 【正确答案】 B 【试题解析】 Form_Load过程为在图相框里载入相应图片。点击 Image2时,激发 Image2_Click事件,在 事件中图片进行了交换。选 B)。 【知识模块】 过程 4 【正确答案】 D 【试题解析】 在 Visual Ba
21、sic中有两类过程:一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用。在第二类过程中,涉及最多的是子过程。它们的共同点是完成某种特定功能的一组程序代码,不同的是函数是可以直接返回值的特殊过程,所以函数过程定义时有返回值的类型说明。 两者最大的区别就是 Sub过程的过程不能直接返回值,而 Function过程能直接返回值。 【知识模块】 过程 5 【正确答案】 D 【试题解析】 (1)用 Call语句调用 Sub过程:语法: Call过程名 (实参表列 ),实参的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号分隔。 (2)把过程
22、名作为一个语句来用:语法:过程名 实参 1,实参 2 ,它与 (1)的不同点是:去掉了关键字和实参列表的括号。 【知识模块】 过程 6 【正确答案】 A 【试题解析】 Form_Click过程中首先对 a数组用。 For循环赋值。然后调用过程P。注意 P参数传递是引用传递,因此数组 a的元素值在执行 P过程后会被改变。之后的 For输出变量值是过程 P中对数组元素的赋值。选 A)。 【知识模块】 过程 7 【正确答案】 C 【试题解析】 (1)用 Call语句调用 Sub过程:语法: Call过程名 (实参表列 ),实参的个数、类型和顺序,应该与被调用过程的形式参数相匹配,有多个参数时,用逗号
23、分隔。 (2)把过程名作为一个语句来用:语法:过程名 实参 1,实参 2 ,它与 (1)的不同点是:去掉了关键字和实参列表的括号。根据题意,选项 C)正确。 【知识模块】 过程 8 【正确 答案】 A 【试题解析】 过程 fun的功能是将传入的值运算后返回,当传入数值为 3的整数倍时返回该值的 2倍,否则返回该值的平方。过程 Fun的参数指定为: ByRef方式,即按址传递,因此会影响实参的值。 Str函数是将数值转换为字符串。过程fun定义时没有指明返回类型因此默认为 Variant类型,它可以表示任何值,因此A)选项的说法不正确。 【知识模块】 过程 9 【正确答案】 D 【试题解析】 程
24、序中过程 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,因此 Print x, y输出 20 15。 【知识模块】 过程 10 【正确答案】 B 【试题解析】 子函数 Sub f(ByVal x, ByRef y, z)中 x值通
25、过值传递, y, z是传引用,子函数执行后 b, e值会被加 1,而 a值维持不变。选 B)。 【知识模块】 过程 11 【正确答案】 C 【试题解析】 在调用过程的语句中,要求实参个数与被调用过程形参个数一致。 【知识模块】 过程 12 【正确答案】 D 【试题解析】 function fun1函数中的参数都是引用传递,会改变实参的值,执行完后 Command1_Click中变量 x的值为 12。选 D)。 【知识模块】 过程 13 【正确答案】 B 【试题解析】 函数 fun1(ByVal m As Integer, n As Integer)中 m通过 ByVal指定为值传递, n为引用
26、传递。传递给该函数的实参会被改变。选 B)。 【知识模块】 过程 14 【正确答案】 B 【试题解析】 对于同一窗体中的菜单,各菜单项的标题不需唯一。 【知识模块】 菜单程序设计 15 【正确答案】 C 【试题解析】 菜单项 1至菜单项 3是名称为 mnu1的控件数组,系统自动产生索引分别为 1, 2, 3。由于是控件数组,选中菜单项 1至 3中任何一项,都会执行mnu1_Click事件过程。选 C)。 【知识模块】 菜单程序设计 16 【正确答案】 D 【试题解析】 数据区用来输入或修改菜单项、设置属性。其中:标题项:在提供的文本输入框中可以输入菜单名或命令名,故 A项不是必须输入的。索引项
27、:当几个菜单项使用相同的名称时,把它们组成控件数组,可指定一个数字值来确定每一个菜单项在控件数组中的位置,故 C项不是必须输入的。快捷键项:允许为每个菜单项选择快捷键 (热键 ),故 B项不是必须输入的。名称项:在文本输入框中可以为菜单名及各菜单项输入控制名。控制名是标识符 (相当于控件的 Name属性 ),仅用于访问代码中的菜单项,它不会在菜单中出现。菜单 名和每个菜单项都是一个控件,都要为其取一个控制名,故 D项是必须输入的。 【知识模块】 菜单程序设计 17 【正确答案】 A 【试题解析】 在 “编辑 ”菜单中没有 “菜单编辑器 ”命令。故 A选项错误。 【知识模块】 菜单程序设计 18
28、 【正确答案】 B 【试题解析】 只有窗体为活动窗体时,才可以打开菜单编辑器。 【知识模块】 菜单程序设计 19 【正确答案】 B 【试题解析】 “访问键 ”是菜单、菜单项或控件 (如按钮 )标签的文本中带下划线的字符。访问键允许用户通过同时按 Alt键和预先定义的访问键来 “单击 ”按钮。 【知识模块】 菜单程序设计 20 【正确答案】 D 【试题解析】 菜单项的索引号不要求必须从 1开始。 【知识模块】 菜单程序设计 21 【正确答案】 A 【试题解析】 显示弹出式菜单使用 PopupMenu方法。 【知识模块】 菜单程序设计 22 【正确答案】 A 【试题解析】 Click事件在鼠标单击
29、时触发,要想选中菜单项就执行某种操作,可以在 Click事件过程中编写需要执行的操作代码。 A)正确。 VB中的菜单项不管是 同级还是不同级都不允许同名, B)错误。一般情况下,不显示弹出式菜单。需要时用 PopupMenu方法显示弹出式菜单。 C)错误。 VB中允许有多级弹出式菜单, D)错误。 【知识模块】 菜单程序设计 23 【正确答案】 B 【试题解析】 通用对话框的 InitDir属性用于设置对话框中显示的起始目录,Filter属性用来指定在对话框中显示的文件类型, FilterIndex用于设置对话框默认的过滤器, DefauhExt属性用于设置对话框中默认的文件类型, FileT
30、itle属性用于存放对话框中所选择的文件 名。 【知识模块】 菜单程序设计 24 【正确答案】 D 【试题解析】 通用对话框 (CommonDialog)提供诸如打开文件、保存文件、设置打印选项、选择颜色和字体、显示帮助等操作的一组标准对话框,该控件运行时不可见。通用对话框的 DialogTitle属性用于返回或设置该对话框标题栏上所显示的文本; Action属性用于设置被打开对话框的类型;当通用对话框显示为 “打开 ”或 “另存为 ”类型时,其 FileName属性用于返回或设置所选文件的路径和文件名,Filter(过滤器 )属性用于指定在对话框的 文件列表中显示文件的类型。 【知识模块】
31、菜单程序设计 25 【正确答案】 A 【试题解析】 通用对话框的 DialogTitle属性用于返回或设置该对话框标题栏上所显示的文本,只有在文件对话框中标题才可以通过程序修改。 Action的属性见下表。对话框类型显示的是颜色对话框,标题是颜色。故本题的选项 A)是错误的。 【知识模块】 菜单程序设计 26 【正确答案】 A 【试题解析】 通用对话框 (CommonDialog)提供诸如打开文件、保存文件、设置打印选项、选择颜色和字体、显示帮 助等操作的一组标准对话框,该控件运行时不可见。通用对话框的 Action属性用于设置被打开对话的类型。 【知识模块】 菜单程序设计 27 【正确答案】 A 【试题解析】 通用对话框的属性 Action=1与 ShowOpen方法等效,而 Action=2则与 ShowSave等效。 【知识模块】 菜单程序设计 28 【正确答案】 B 【试题解析】 FileTitle属性用来指定文件对话框中所选择的文件名 (不包括路径 )。该属性与 FileName属性的区别是: FileName属性用来指定完 整的路径,如“d: prog vbf test frm“;而 FileTitle只指定文件名,如 ”test frm”。 【知识模块】 菜单程序设计
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1