2008年 4月 全国计算机等级考试二级笔试试卷

更新时间:2023-03-14 18:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2008年 4月 全国计算机等级考试二级笔试试卷

Visual Basic 程序设计

(考试时间90分钟,满分100分)

一、选择题 (每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)程序流程图中带有箭头的线段表示的是_______。

A)图元关系 B)数据流 C)控制流 D)调用关系 (2)结构化程序设计的基本原则不包括_______。

A)多态性 B)自顶向下 C)模块化 D)逐步求精 (3)软件程序设计中模块划分应遵循的准则是_______。

A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合D)高内聚高耦合 (4)在软件开发中,需求分析阶段产生的主要文档是_______。

A)可行性分析报告 B)软件需求规格说明书 C)概要设计说明书 D)集成测试计划 (5)算法的有穷性是指_______。

A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C) 算法程序的长度是有限的 D)算法只能被有限的用户使用

(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是

A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序 (7)下列关于栈的叙述正确的是_______。

A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据 C)只能在栈底插入数据 D)不能删除数据

(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于

A)需求分析阶段 B)概念设计阶段 C)逻辑设计阶段 D)物理设计阶段 (9)有三个关系R、S和T如下

R S T B C D B C D B C D f 3 h2 a 0 k1 a 0 k1 a 0 k1 b 1 n1 n 2 x1

由关系R和S通过运算得到关系T,则所使用的运算为_______。

A)并 B)自然连接 C)笛卡儿积 D)交

(10)设有学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程(学号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为_______。

A)课号,成绩 B)学号,成绩

C)学号,课号 D)学号,姓名,成绩 (11)以下叙述中错误的是_______。

A)标准模块文件的扩展名是.bas B)标准模块文件是纯代码文件

C)在标准模块中声明的全局变量可以在整个工程中使用 D)在标准模块中不能定义过程

(12)在Visual Basic 中,表达式3*2\\5 Mod 3的值是_______。

A)1 B) 0 C)3 D)出现错误提示 (13)以下选项中,不合法的Visual Basic 的变量名是_______。 A) a5b B) _xyz C) a_b D)andif (14) 以下数组定义语句中,错误的是_______。

A)Static a(10) As Integer B)Dim c(3,1 To 4 ) C)Dim d(-10)

D)Dim b(0 To 5,1To 3) As Integer

(15)现有语句:y=IIf(x>0,x Mod 3,0) _______。

设x=10,则y的值是

A) 0 B)1 C) 3 D)语句有错

(16)为了使文本框同时具有垂直和水平滚动条,应先把MuitiLine 属性设置为 True,然后 再把ScrollBars 属性设置为_______。

A)0 B)1 C)2 D)3 (17)文本框Text1的KeyDown事件过程如下:

Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer) … End Sub

其中参数KeyCode的值表示的是发生此事件时_______。 A) 是否按下了Alt键或Ctrl键 B) 按下的是哪个数字键 C) 所按键盘键的键码 D) 按下的是哪个鼠标键

(18)窗体上有一个名称为Hscroll1的滚动条,程序运行后,当单击滚动条两端的箭头时,

立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是_______。

A) Private Sub Hscroll1_Change()

Print Hscroll1.Value End Sub

B) Private Sub Hscroll1_Change()

Print Hscroll1.smallChange End Sub

C) Private Sub Hscroll1_Scroll()

Print Hscroll1.Value End Sub

D) Private Sub Hscroll1_Scroll()

Print Hscroll1.smallChange End Sub

(19)若已把一个命令按钮的Default属性设置为True, 则下面可导致按钮的Click事件过程被调用的操作是_______。

A) 用鼠标右键单击此按钮 B) 按键盘上的Esc键 C) 按键盘上的回车键 D )用鼠标右键双击此按钮

(20)要使两个单选按钮属于同一个框架,正确的操作是_______。

A) 先画一个框架,再在框架中画两个单选按钮

B) 先画一个框架,再在框架外画两个单选按钮,然后把单选按钮拖到框架中 C) 先画两个单选按钮,再画框架将单选按钮框起来 D) 以上三种方法都正确

(21)能够存放组合框的所有项目内容的属性是_______。

A)caption B)Text C)List D)Selected

(22)设窗体上有一个标签Label1和一个计时器Timer1的Interval属性被设置为1000,Enabled属性被设置为True,要求程序运行时每秒在标签中显示一次系统当前时间,以下可以实现上述要求的事件是_______。

A)Private Sub Timer1_Timer()

Label1.Caption=Ture End Sub

B) Private Sub Timer1_Timer()

Label1.Caption=Time$ End Sub

C) Private Sub Timer1_Timer()

Label1.Interval=1 End Sub

D) Private Sub Timer1_Timer()

For k=1 to Timer1.Interval

Label1.Caption=Timer

Next k

End Sub 图1

(23)设有如图1所示窗体和以下程序: Private Sub Command1_Click() Text1.Text= \End Sub

Private Sub Text1_LostFocus() If Text1.text<> \

Text1.text=\Text1.SetFocus End if

End Sub 程序运行时,在Text1文本框中输入“Basic”(如图所示),然后单击Command1按钮,则产生的结果是______。

A) 文本框中无内容,焦点在文本框中 B) 文本框中为“Basic”,焦点在文本框中 C) 文本框中为“Basic”,焦点在按钮上 D) 文本框中为“Visual Basic”,焦点在按钮上

(24)窗体上有一个名称为Command1的命令按钮,其事件过程如下:

Private Sub Command1.Click() X= \ a=Right(x,11) b=Mid(x,7,5)

c=MsgBox(a,,b) End Sub

运行程序后单击命令按钮,以下叙述中错误的是_______。

A) 信息框中的标题是Basic

B) 信息框中的提示信息是Programming C) c的值是函数的返回值 D) MsgBox的使用格式有错 (25)设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas.两个窗体上分别只有一个名称为Command1的命令按钮。 Form1的代码如下:

Public x As Integer

Private Sub Form_Load() x=1 y=5 End Sub

Private Sub Command1_Click() Form2.Show

End Sub

Form2的代码如下:

Private Sub Command1_Click() Print Form1.x,y

End Sub

Module1的代码如下: Public y As Integer

运行以上程序,单击Form1的命令按钮Command1,则显示Form2,再单击Form2上的命令按钮Command2,则窗体上显示的是_______。

A)1 5 B)0 5 C)0 0 D)程序有错

(26)窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮,窗体文件的程序如下:

Private Type x a As Integer b As Integer

End Type

Private Sub Command1_Click( ) Dim y As x

y.a=InputBox(\

If y.a\\2=y.a\\2 Then y.b=y.a*y.a Else

y.b=Fix(y.a/2) End If

Text1.Text=y.b End Sub

对以上程序,下列叙述中错误的是________。

A) x是用户定义的类型

B) InputBox函数弹出的对话框中没有提示信息 C) 若输入的是偶数,y.b的值为该偶数的平方

D) Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回

(27)窗体上有一个名称为CD1的通用对话框控件和由四个命令按钮组成的控件数Command1,其下标从左到右分别为0、1、2、3,窗体外观如图2所示。 命令按钮的事件过程如下:

Private Sub Command1_Click(Index As Integer) Select Case Index Case 0

CD1.Action=1 Case 1

CD1.ShowSave Case 2

图2 CD1.Action=5

Case 3 End

End Select End Sub

对上述程序,下列叙述中错误的是_______。

A) 单击“打开”按钮,显示打开文件的对话框 B) 单击“保存”按钮,显示保存文件的对话框

C) 单击“打印”按钮,能够设置打印选项,并执行打印操作 D) 单击“退出”按钮,结束程序的运行

(28)窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为“计算”的命令按钮Command1,如图3,并编写了以下程序: Private Sub Command1_Click( ) Call calc(HV.Value,HT.Value) End Sub

Public Sub calc(x As Integer,y As Integer)

Text1.Text=x*y End Sub 运行程序,单击“计算”按钮,可根据速度与时间计算出距离,

并显示计算结果。 图3 对以下程序,下列叙述中正确的是_______。

A) 过程调用语句不对,应为calc(HV,HT)

B) 过程定义语句的形式参数不对,应为Sub calc(x As Control,y As Control) C) 计算结果在文本框中显示出来 D) 程序不能正确运行 (29)现有如下程序:

Private Sub Command1_Click( )

s=0

For i=1 To 5 s=s+f(5+i)

Next Print s End Sub

Public Function f(x As Integer) If x>=10 Then t=x+1 Else

t=x+2 End If f=t

End Function

运行程序,则窗体上显示的是_______。

A)38 B)49 C)61 D)70

(30) 窗体上有一个用菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠标右键。则弹出一个快捷菜单,如图4所示。 以上叙述中错误的是

A) 在设计“粘贴”菜单项时,在菜单编辑器窗口中设置了“有效”属性(有“√”)

B) 菜单中的横线是在该菜单项的标题输入框中输入了一个“—”(减号)字符

C) 在设计“选项”菜单项时,在菜单编辑器窗口中设置了“复选”属性(有“√”) 图4 D) 在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见”前面的“√” (31)窗体上有一个名称为Picture1的图片框控件,一个名称为Label1的标签控件。如图5所示。

现有如下程序:

Public Sub display(x As Control) If typeOf x Is Label Then x.Caption=\计算机等级考试\

else

x.Picture=LoadPicture(\

End If End Sub

Private Sub Label1_Click() Call display(Label1)

End Sub 图5 Private Sub Picture1_Click() Call display(Picture1) End Sub

对以上程序。下列叙述中错误的是_______。

A) 程序运行时会出错 B)单击图片框,在图片框中显示一幅图片 C) 过程中的x是控件变量 D)单击标签,在标签中显示一串文字

(32)窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp事件过程如下: Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer)

Dim c As String

c=Ucase(Chr(KeyCode)) Text2.Text=Chr(Asc(c)+2) End Sub

当向文本框Text1中输入小写字母a时,文本框Text2中显示的是_______。 A) A B) a C)C D)c

(33)设窗体上一个文本框Text1和一个命令按扭Command1,有以下事件过程:

Private Sub Command1_Click() Dim s As String,ch As String s=””

For k=1 To Len(Text1)

ch=Mid(Text1,k,1)

s=ch+s Next k

Text1.Text=s End Sub

程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是

A)Basic B)cisaB C)BASIC D)CISAB

(34)某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:

Private Sub Command1_Click()

Dim a(10) As Integer,max As Integer For k=1 To 10

a(k)=InputBox(“输入一个整数”) Next k Max=0

For k=1 to 10

If a(k)>max then Max=a(k) End If Next k Print max End Sub

运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是_______。

A) 把If a(k)>max Then改为 Ifa(k)

C) 把第2个循环语句For k=1 To 改为 For k=2 To 10 D) 把max=0 改为 max=a(10)

(35) 已知在4行3列的全局数组score(4,3) 中存放了4个学生3门课程的考试成绩(均为整数)。现需要计算每个学生的总分。某人编写程序如下: Option Base 1

Private Sub Command1_Click() Dim sum As Integer sum=0

For i=1 To 4

For j=1 To 3

sum=sum+score(i,j)

Next j

Print \第\个学生的总分是:\ Next i End Sub

运行此程序时发现,除第一个人总分计算正确外,其他人的总分计算都是错误的,程序需要修改。以下修改方案中正确的是________。

A)把外层循环语句For i=1 To 4改为For i=1 To 3 内层循环语句For j=1 To 3改为For j=1 To 4 B)把sum=0移到For i=1 To 4和For j=1 To 3之间 C)把sum=sum+score(i,j) 改为sum=sum+score(j, i) D)把sum=sum+score(i,j) 改为sum= score(i,j) 二.填空题(每空2分,共30分)

(1)测试用例包括输入值集和 【1】 值集。 (2)深度为5的满二叉树有个 【2】 叶子结点。 (3) 设某循环队列的容量为50,头指针front=5(指向队头元素前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有 【3】 个元素。

(4)在关系数据库中,用来表示实体之间联系的是 【4】 。

(5)在数据管理系统提供的数据定义语言,数据操纵语言和数据控制语言中, 【5】 负责数据的模式定义与数据的物理存取构建。 (6)设有以下的循环:

X=1 Do

x=x+2 Print x

Loop Until 【6】 要求程序运行时执行3次循环体,请填空。

(7)窗体上命令按钮Command1的事件过程如下:

Private Sub Command1_Click()

Dim total As Integer total=s(1)+s(2) Print total End Sub

Private Function s(m As integer)As integer

Static x As integer For i=1 to m

x=x+1 next i s=x

End Function

运行程序,第3次单击命令按钮Command1时,输出结果为 【7】 。 (8)在窗体上画一个名称为Command1的命令按钮。然后编写如下程序:

Option Base 1

Private Sub Command1_Click

Dim a(10)As integer For i=1 To 10

a(i)=i Next

Call swap( 【8】 ) For i=1 To 10 Print a(i) Next

End Sub

Sub swap(b()As Integer) n= 【9】 For i=1 to n/2 t=b(i)

b(i)=b(n) b(n)=t

【10】 Next End Sub

上述程序的功能是,通过调用过程swap, 调换数组中数值的存放位置,即a(1)与a (10)的值互换。a(2)与a(9)的值互换 ,….。请填空。

(9)在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并编写如下时件过程:

Private Sub Command1_click()

CommonDialog1.Filter= \& \

CommonDialog1.FilterIndex=1 CommonDialog1.showOpen

MsgBox CommonDialog1.FileName End Sub

程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是 【11】 :如果在对话框中选择d盘temp目录下的tel.txt文件,然后单击“确定”按钮,则在MsgBox信息框中显示的提示信息是 【12】 。

(10)以下程序的功能是:把顺序文件smtext1.txt的内容全部读入内存,并在文本框Text1中显示出来,请填空。

Private Sub Command1_Click()

Dim inData As String Text1.Text=””

Open”smtext1.txt” 【13】 As 【14】 Do While 【15】 Input #2,inData

Text1.Text=Text1.Text&inData

Loop Close #2 End Sub 答案:

一、选择题

1.C 2.A 3.B 4.B 5.A 6.D 7.B 8.C 9.D 10.C 11.D 12.A 13.B 14.C 15.B 16.D 17.C 18.A 19.C 20.A 21.C 22.B 23.A 24.D 25.A 26.D 27.C 28.CD 29.B 30.A 31. B 32.C 33.B 34.D 35.B

二、填充题

【1】输出结果 【2】16 【3】24 【4】二维表 【5】数据操纵语言 【6】x>5或x >6或x>=7 【7】16 【8】a()【9】Ubound(b) 或10 【10】n = n –1【11】All Files(*.*) 【12】d:\\temp\\tel.txt【13】For Input 【14】#2【15】Not EOF(2)

本文来源:https://www.bwwdw.com/article/rvtx.html

Top