2009全国计算机vb模拟试题1 |
全国计算机等级考试二级Visual Basic语言程序设计考前冲刺试卷(1) 一、选择题(每题2分,共35题,70分) (1)下列选项中,不是算法的基本特征的是( )。 A)完整性 B)可行性 C)有穷性 D)拥有足够的情报 (2)结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。 A)对象 B)数据结构 C)数据流 D)目标 (3)下列工具中为需求分析常用工具的是( )。 A)PAD B)PFD C)N-S D)DFD (4)线性表进行二分法检索,其前提条件是( )。 A)线性表以顺序方式存储,并按关键码值排好序 B)线性表以顺序方式存储,并按关键码的检索频率排好序 C)线性表以链式方式存储,并按关键码值排好序 D)线性表以链式方式存储,并按关键码的检索频率排好序 (5)下列选项中不属于结构化程序设计方法的是( )。 A)自顶向下 B)逐步求精 C)模块化 D)可复用 (6)下列关于结构化程序设计原则和方法的描述中,错误的是( )。 A)选用的结构只准许有一个入口和一个出口 B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 C)不允许使用GOTO语句 D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 (7)软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及( )。 A)阶段性报告 B)需求评审 C)总结 D)都不正确 (8)下列关于软件测试的描述中正确的是( )。 A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能地多发现程序中的错误 D)软件测试的目的是使程序符合结构化原则 (9)用链表表示线性表的优点是( )。 A)便于随机存取 B)花费的存储空间较顺序存储少 C)便于插入和删除操作 D)数据元素的物理顺序和逻辑顺序相同 (10)在数据库设计中,将E-R图转换为关系模式的过程属于( )。 A)需求分析阶段 B)逻辑设计阶段 C)概念设计阶段 D)物理设计阶段 (11)下列各种窗体事件中,不能由用户触发的事件是( )。 A)Load事件和Unload事件 B)Click事件和Unload事件 C)Click事件和DblClick事件 D)Load事件和Initialize事件 (12)关于变量作用域,下列叙述中正确的是( )。 A)在窗体的Form_Load事件过程中定义的变量是全局变量 B)局部变量的作用域可以超出所定义的过程 C)在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程 D)在调用过程中,所有局部变量被系统初始化为0或空字符串 (13)下列可作为Visual Basic变量名的是( )。 A)A#A B)constA C)?xy D) (14)设a="Visual Basic",下面语句中可使b="Basic"的是( )。 A)b=Left(a,8) B)b=Mid(a,8,5) C)b=Right(a,8) D)b=Left(a,8,5) (15)InputBox函数返回值的类型为( )。 A)数值 B)字符串 C)变体 D)数值或字符串(视输入的数据而定) (16)在文本框中,要设置显示的文本颜色,应该设置( )属性。 A)ForeColor B)BackColor C)FillColor D)BackStyle (17)假定在图片框Picturel中装入了一个图形,为了清除该图形(注意,清除图形,而不是删除图片框),应采用的正确方法是( )。 A)选择图片框,然后按Del键 B)执行语句Picturel.Picture = LoadPicture("") C)执行语句Picturel.Picture = "" D)选择图片框,在属性窗口中选择Picture属性条,然后按回车键 (18)为组合框Combo1增加一个列表项“电脑”,下列语句正确的是( )。 A)Combo1.Text = "电脑" B)Combo1.ListIndex = "电脑" C)Combo1.AddItem "电脑" D)Combo1.ListCount = "电脑" (19)以下叙述错误的是( )。 A)滚动条的重要事件是Change和Scroll B)框架的主要作用是将控件进行分组,以完成各自相对独立的功能 C)组合框是组合了文本框和列表框的特性而形成的一种控件 D)计时器控件可以通过对Visible属性的设置,在程序运行期间显示在窗体上 (20)设a=5,b=6,c=7,d=8,执行下列语句后,x的值为( )。 x=IIf((a>b) And (c>d),10,20) A)10 B) (21)下面程序运行时,单击窗体后,窗体上显示的结果是( )。 Private Sub Form_Click() Dim i As Integer Dim sum As Long Dim t As Long t = 1: sum = 0 For i = 1 To 3 t = t * i sum = sum + t Next i Print sum End Sub A)3 B) A)Private Sub Text1_LostFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub B)Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub C)Private Sub Text1_Change() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub D)Private Sub Text1_SetFocus() Text.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub (23)下列程序段错误的是( )。 A)Dim a As Integer B)Dim a(),b() a=array(1,2,3,4) a=array(1,2,3,4):b=a C)Dim a As Variant D)Dim a()As Variant a=array(1,"asd",true) a=array(1,2,3,4) (24)在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码: Option Base 1 Private Sub Commandl Click() Dim a a = Array(1, 2, 3, 4) j = 1 For i = 4 To 1 Step −1 s = s + a(i) * j j = j * 10 Next i Print s End Sub 运行上面的程序,单击命令按钮,其输出结果是( )。 A)4321 B) (25)在窗体上用复制、粘贴的方法建立了一个命令按钮数组,数组名为ComTest1。设窗体Form1标题为“MyForml”,双击控件数组中的第3个按钮,打开代码编辑器,编写如下代码: Privae Sub Comtest1_Click(Index As Integer) Form1.Caption = "MyForm2" End Sub 运行时,单击按钮数组中的第1个按钮,则窗体标题显示为( )。 A)Form1 B)ComTest1 C)MyForm1 D)MyForm2 (26)下列有关过程的叙述中错误的是( )。 A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B)Sub过程中不能嵌套定义Sub过程 C)Sub过程中可以嵌套调用Sub过程 D)事件过程可以像通用过程一样由用户定义过程名 (27)运行下面的程序,单击命令按钮,输出结果为( )。 Function F(a As Integer) b = 0 Static c b = b + l c = c + 1 F = a + b + c End Function Private Sub Commandl_Click() Dim a As Integer a = 2 For i = 1 To 3 Print F(a) Next i End Sub A)4 B) 4 5 6 7 4 6 8 9 (28)在属性窗口中把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Print Chr(KeyCode) End Sub Private Sub Form_KeyPress(KeyAscii As Integer) Print Chr(KeyAscli) End Sub 在一般情况下(即不按住Shift键和锁定大写),运行程序,如果按“A”键,则程序的输出是( )。 A)A B)a C)A D)a a A A a (29)关于MDI窗体下列说法正确的是( )。 A)一个应用程序可以有多个MDI窗体 B)子窗体可以移到MDI窗体以外 C)不可以在MDI窗体上放置按钮控件 D)MDI窗体的子窗体不可拥有菜单 (30)窗体上有文本框Text1和一个菜单,菜单标题、名称如表,结构见图。要求程序执行时单击"保存"菜单项,则把其标题显示在Text1文本框中,下面可实现此功能的事件过程是( )。 A)Private Sub save_Click() B)Private Sub save_Click() save_Click() Text1.Text=save.Caption Text1.Text=file.save.Caption End Sub End Sub C)Private Sub file_Click() D)Private Sub file_Click() Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub (31)如下有一段不完整的程序段,如果要求该程序执行3次循环,则在程序中的空白处要填入( )。 x = 1 Do x = x + 3 : Print x Loop Until ___________ A)x>=8 B)x<= (32)下列程序的功能是调用字体对话框来设置文本框中的字体,单击Command1按钮弹出对话框,进行相应的字体、字号等的设置,然后单击“确定”按钮退出对话框,则将发生哪些变化( )。 Private Sub Command1_Click() CommonDialog1.CancelError = True CommonDialog1.Flags = 3 On Error Resume Next CommonDialog1.ShowFont Text1.Font.Name = CommonDialog1.FontName Text1.Font.Size = CornmonDialog1.FontSize Text1.Font.Bold = CommonDialog1.FontBold Text1.Font.Italic = CommonDialog1.FontItalic Text1.Font.Underline = CommonDialog1.FontUnderline Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.ForeColor = CommonDialog1.Color End Sub A)Text1的字体不发生变化 B)Text1的字体发生变化 C)Text1的字体和颜色发生变化 D)程序出错 (33)窗体上有两个名称分别为Textl、Text2的文本框,一个名称为Commandl的命令按钮。设有如下的类型声明 Type Person name As String*8 major As String*20 End Type 当单击命令按钮时,将两个文本框中的内容写入一个随机文件Test.dat中。设文本框中的数据已正确地赋值给Person类型的变量p。则能够正确地把数据写入文件的程序段是( )。 A)Open "c:\Test.dat" For Random As #1 Put #1,1,p Close #1 B)Open "c:\Test.dat" For Random As #1 Get#1,1,p C10se #1 C)Open "c:\Test.dat" For Random As #1 Len =Len(p) Put #1,1,p Close #1 D)Open "c:\Test.dat " For Random As #1 Len =Len(p) Get #1,1,p CloSe #1 (34)函数过程F1的功能是:如果参数a为奇数,则返回值为1,否则返回值为0。以下能正确实现所述功能的代码的是( )。 A)Function F1(a As Integer) B)Function F1(a As Integer) If a Mod 2 = 0 Then If a Mod 2 = 0 Then Return Else Else Return End If End If End Function End Function C)Function F1(a As Integer) D)Function F1(a As Integer) If a Mod 2 = 0 Then If a Mod 2 <> 0 Then F1 = 1 Return 0 Else Else F1 = 0 Return 1 End If End If End Function End Function (35)假定在窗体(名称为Form1)的代码窗口中定义如下记录类型: Private Type animal AnimalName As String * 20 AColor As String * 10 End Type 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim rec As animal Open "c:\vbTest.dat" For Random As #1 Len = Len(rec) rec.AnimalName = "Cat" : rec.AColor = "White" Put #1, , rec Close #1 End Sub 则以下叙述中正确的是( )。 A)记录类型animal不能在Form1中定义,必须在标准模块中定义 B)如果文件c:\vbTest.dat不存在,则Open命令执行失败 C)由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾 D)语句“Put #1, , rec”将animal类型的两个数据元素写到文件中 二、填空题(每空2分,共30分) (1)数据库系统的主要特点为数据集成性、数据的高___________和低冗余性、数据独立性和数据统一管理和控制。 (2)数据库的逻辑模型设计阶段的任务是将___________转换成关系模式。 (3)在面向对象方法中,___________描述的是具有相似属性与操作的一组对象。 (4)最简单的交换排序方法是___________。 (5)在链表的运算过程中,能够使空表与非空表的运算统一的结构是___________。 (6)设有一个有10个元素的数组,下列程序将该数组的第1个元素与第10个元素交换,第2个元素与第9个元素交换……,第5个元素与第6个元素交换,请填空。 Private Sub Command1_Click() Dim a(1 To 10) As Integer Dim i As Integer Dim p As Integer Dim t As Integer Dim j As Integer For i = 1 To 10 a(i) = i Next i For j = 1 To 5 t = a(j) ___________ ___________ Next j For i = 1 To 10 Print a(i) Next i End Sub (7)过程(Sub)和函数(Function)两者中,___________可以有返回值。 (8)为了执行鼠标自动拖放,必须把___________属性设置为___________;而为了执行手动拖放,必须把该属性设置为___________。 (9)在窗体上有一个名称为Text1的文本框,有三个单选按钮,这三个单选按钮构成一个控件数组,名称为Option1。要求程序执行时,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示。请填空。 Private Sub Option1_Click(Index As Integer) Select Case ___________ Case 0 a="宋体" Case 1 a="黑体" Case 2 a="楷体_GB2312" End Select Text1___________=a End Sub (10)下面程序的功能是将一个一维数组中的元素循环向右移动,每次移位次数由文本框Text中的输入决定。例如,数组各元素的值依次为0,1,2,3,4,5,6,7,8,9,10;移动3次后,各元素的值依次为8,9,10,0,1,2,3,4,5,6,7。请将程序补充完整。 Private Sub MoveRight(x() As Integer) Dim i As Integer, j As Integer, k As Integer i = UBound(x) j = x(i) For k = i To ___________ Step -1 ___________ Next k x(LBound(x)) = j End Sub Private Sub Command1_Click() Dim a(10) As Integer Dim i As Integer, j As Integer, k As Integer For i = 0 To 10 a(i) = i Next i j = Val(Text1.Text) k = 0 Do k = k + 1 Call MoveRight(a) Loop Until k = j For i = 0 To 10 Print a(i); Next i End Sub 参考答案 一、选择题 (1)A) (2)C) (3)D) (4)A) (5)D) (6)C) (7)B) (8)C) (9)C) (10)B) (11)D) (12)C) (13)B) (14)B) (15)B) (16)A) (17)B) (18)C) (19)D) (20)B) (21)B) (22)B) (23)D) (24)D) (25)D) (26)D) (27)B) (28)A) (29)C) (30)B) (31)A) (32)B) (33)C) (34)B) (35)C) 二、填空题 (1)共享性 (2)E-R图 (3)类 (4)冒泡排序 (5)循环链表 (6)a(j)=a(11-j) a(11-j)=t (7)Function (8)DragMode 1 0 (9)Index FontName (10)1 x(i)=x(i-1) |