1、国家计算机二级(VB)66 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.在窗体上有 1 个名称为 CommonDialog1 的通用对话框和 1 个名称为 Command1 的命令按钮,以及其他一些控件。要求在程序运行时,单击 Command1 按钮,则显示打开文件对话框,并在选择或输入个文件名后,就可以打开该文件。以下是 Command1_Click 事件过程的两种算法 算法 1: Private Sub Command1_Click() CommonDialog1.Show Open Ope
2、n CommonDialog1.File Name For Input As#1 End Sub 算法 2: Private Sub Command1_Click() CommonDialog1.Show Open If CommonDialog1.File Name“ “Then Open CommonDialog1.File Name For Input As#1 EndIf End Sub 下面关于这两种算法的叙述中正确的是【 】 (分数:2.00)A.显示打开文件对话框后若未选择或输入任何文件名,则算法 2 会出错,算法 1 不会B.显示打开文件对话框后若未选择或输入任何文件名,则算法
3、 1 会出错,算法 2 不会C.两种算法的执行结果完全一样D.算法 1 允许输入的文件名中含有空格,而算法 2 不允许2.根据变量的作用域,可以将变量分为 3 类,分别为( )。(分数:2.00)A.2B.-2C.0D.+23.下列程序段的执行结果为( )。 a=5 For k=1 To 0 a=a * k Next k Print k;a (分数:2.00)A.2 2B.4 3C.4 2D.3 24.在 Visual Basic 中,要将一个窗体加载到内存进行预处理但不显示所使用的语句是( )。(分数:2.00)A.HideB.ShowC.LoadD.Unload5.在窗体上画一个命令按钮,
4、名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() a$ = “software and hardware“ b$ = Right(a$, 8) c$ = Mid(a$, 1, 8) MsgBox a$, , b$, c$, 1 End Sub 运行程序,单击命令按钮,则在弹出的信息框的标题栏中显示的是_。(分数:2.00)A.software and hardwareB.softwareC.hardwareD.16.激活菜单栏的快捷键是( )。(分数:2.00)A.SELECT 姓名,仓库名 FROM 职工; WHERE 基本工资300
5、0B.SELECT 姓名,仓库名 FROM 仓库; WHERE 基本工资3000C.SELECT 姓名,仓库名 FROM 职工,仓库; WHERE(基本工资3000)OR(职工仓库号=仓库仓库号)D.SELECT 姓名,仓库名 FROM 职工,仓库; WHERE(基本工资3000)AND(职工仓库号=仓库仓库号)7.用树形结构表示实体之间联系的模型是_。 (分数:2.00)A.关系模型B.网状模型C.层次模型D.以上三个都是8.为了使列表框中的项目呈多列显示,需要设置的属性为_。 (分数:2.00)A.ColumnsB.StyleC.ListD.MultiSelect9.通常情况下,垂直滚动条
6、的值是( )。(分数:2.00)A.由下往上递增B.由上往下递增C.由左到右递增D.由右到左递增10.下列程序段的执行结果为( )。 a=95 If a 60 Then degree=1 If a 70 Then degree=2 If a 80 Then degree=3 If a 90 Then degree=4 Print“degree=“;degree (分数:2.00)A.8 9B.9 8C.程序有错误D.9 911.在程序运行期间可以将图形装入窗体、图片框或图像框的函数是( )。(分数:2.00)A.程序错误B.!C./0D.为空字符12.执行下面的程序后,输出的结果是( )。 K
7、=1 For j=1 To 4 X=X - 1: y=0 For k=1 To 4 X=X + 1: y=y + 1 Next k Next j Print X;y (分数:2.00)A.1 4B.13 4C.12 8D.20 613.为了使文本框同时具有垂直和水平滚动条,应先把 multiLine 属性设置为 True,然后再把 ScrollBars 属性设置为( )。(分数:2.00)A.0B.1C.2D.314.在运行程序时,在文本框中输入新的内容,或在程序代码中改变 Text 的属性值,相应会触发到什么事件?(分数:2.00)A.TrueB.0C.1D.False15.下列说法错误的是
8、( )。(分数:2.00)A.for(int i=0;i1;+i;B.for(int i=0;+i;C.for(int i=1;i0;+i;D.for(;);16.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.可行性分析报告B.软件需求规格说明书C.概要设计说明书D.集成测试计划17.在窗体上画一个命令按钮,然后编写下列程序: Private Sub Command3_Click( ) Tcl 2 Tcl 3 Tel 4 End Sub Sub Tcl(a As Integer) Static x As Integer x=x + a Print x; End Sub 程序运
9、行后,单击命令按钮,输出结果为( )。 (分数:2.00)A.2 3 4B.2 5 9C.3 5 4D.2 4 318.在 Visual Basic 工程中,可以作为“启动对象”的程序是_。 (分数:2.00)A.任何窗体或标准模块B.任何窗体或过程C.Sub Main 过程或其他任何模块D.Sub Main 过程或任何窗体19.在窗体上画一个通用对话框,其名称为 CommonDialogl,然后画一个命令按钮,并编写如 下事件过程:Private Sub Commandl_Click() CommonDialogl,Flags=vbOFNHideReadOnly CommontDialogl
10、Filter=“All Files(*)|*|Text Files (*.*)|*txt|“_ D.for(;);解析:本题考查 C+浯言中的注释问题。C+语言中的注释与 C 语言不同,C 语言的注释符号只有/* */,而 C+在此基础上又加上了/,此注释用于单行注释。16.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.可行性分析报告B.软件需求规格说明书 C.概要设计说明书D.集成测试计划解析:需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面。产生的主要文档为软件需求规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持
11、目标软件系统的确认,又可以作为控制软件开发进程的依据。17.在窗体上画一个命令按钮,然后编写下列程序: Private Sub Command3_Click( ) Tcl 2 Tcl 3 Tel 4 End Sub Sub Tcl(a As Integer) Static x As Integer x=x + a Print x; End Sub 程序运行后,单击命令按钮,输出结果为( )。 (分数:2.00)A.2 3 4B.2 5 9 C.3 5 4D.2 4 3解析:在过程 TCL 中,将 Integer 型变量 x 定义为静态变量(Static),Static 语句的格式与 Dim 语
12、句完全一样,但 Static 语句只能出现在事件过程,Sub 过程或 Func- tion 过程中,在过程中的 Static 变量只有局部的作用域,即只能在本过程中可见,但可以和模块级变量传递,即使过程结束后,其值仍能保留。Tcl 过程是将变量 a 的值加上 x 赋给 x,然后输出 x 的值;第一次调用 Tcl 过程时,x 未赋值,默认为 0,所以输出结果为 2,第二次调用 Tcl 过程时,因为 x 为静态变量,所以它的值为上次调用后的值,即为2,加上 a 后,x 的值变为 5,输出结果为 5,同理,第三次调用后输出结果为 9。18.在 Visual Basic 工程中,可以作为“启动对象”的
13、程序是_。 (分数:2.00)A.任何窗体或标准模块B.任何窗体或过程C.Sub Main 过程或其他任何模块D.Sub Main 过程或任何窗体 解析:Visual Basic 规定 Sub Main 过程是具有启动应用程序功能的启动过程,即除了窗体模块以外,应用 程序还可以由 Sub Main 过程启动。19.在窗体上画一个通用对话框,其名称为 CommonDialogl,然后画一个命令按钮,并编写如 下事件过程:Private Sub Commandl_Click() CommonDialogl,Flags=vbOFNHideReadOnly CommontDialoglFilter=“
14、All Files(*)|*|Text Files (*.*)|*txt|“_ Next End Sub Sub swap(b3 As Integer) n = 4 For i = 1 To n / 2 t = b(i) b(i) = b(n) b(n) = t 5 Next End Sub 上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即 a(1)与 a(10)的值互换,a(2)与 a(9)的值互换,a(5)与 a(6)的值互换。请填空。 (分数:3.00)填空项 1:_ (正确答案:a-|_|-)解析:42.在窗体上有一个过程函数,然后编写如下事件程序,该过程的功能是用
15、选择交换法将 10 个数排成升序,请在空白处填入适当的语句。 Sub SORT1 Dim a(1 To 10) For i=1 To 10 a(i)=Val(InputBox(“ “ ,“ “,0) Next i For i= 2 k=i For j= 3 If a(k)a(j)Then 4 If k i Then ba(k) a(k)a(i) a(i) =b End If Next j Next i For k=1 To 10 Print a(k) Next k End Sub (分数:3.00)填空项 1:_ (正确答案:1)填空项 1:_ (正确答案:To)填空项 1:_ (正确答案:9
16、)解析:由于是 10 个数所以 1 从 1 到 9,j 从 i 到 10 形成两次循环,如果是 100 个的话,那就是 1 从 1 到99,j 从 1 到 100 形成两次循环;由于 a(k)a(j)所以要交换,以便排序。43.设有如下程序段: a$=“BejingShanghai” b$Mid(a$,InStr(a$,“g”)+1) 执行上面的程序段后,变量 b$的值为 1。 (分数:3.00)填空项 1:_ (正确答案:Shanghai)解析:44.在有下面一个程序段从文本框中输入数据,如果该数据满足条件,除以 6 余 2,脓以 5 余 3,则输出否则,特焦点定位在文本框中,并清除文本框的
17、内容。 Private Sub Command1_Click1 num=Val(Text1Text) If 2Then Print num Else Text1Text=“ “ 3 End If End Sub (分数:3.00)填空项 1:_ (正确答案:num Mod6=2 And num Mod 5=3)解析:程序调用了 Val-|_|-函数从文本框中的得到数据。本题中先通过 Val-|_|-函数得到一个整数,进行条件判断,如果满足条件 num Mod 6=2 And num Mod 5=3 则输出 num;否则,将清空文本框,焦点落在文本框中,应使用语句 TextSetFocus。 45.下列程序的功能是:将数据 1,2,8 写入顺序文件 Numtxt 中,请补充完整。 Private Sub Form_Click1 Dim i As Integer Open“Numtxt“For Output As #1 For i=1 To 8 2 Next i Close #1 End Sub (分数:3.00)填空项 1:_ (正确答案:Print #1,i)解析:向文件中写入数据用 Print 语句。