07年4月计算机等级二级VB考前密卷(1) |
|
www.nanhushi.com 佚名 不详 |
(1) 在深度为5的满二叉树中,叶子结点的个数为 A) 32 B) 31 C) 16 D) 15 答案:B (2) 若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是 A) bdgcefha B) gdbecfha C) bdgaechf D) gdbehfca 答案:D (3) 一些重要的程序语言(如C语言和Pascal语言) 允许过程的递归调用。而实现递归调用中的存储分配通常用 A) 栈 B) 堆 C) 数组 D) 链表 答案:A (4) 软件工程的理论和技术性研究的内容主要包括软件开发技术和 A) 消除软件危机 B) 软件工程管理 C) 程序设计自动化 D) 实现软件可重用 答案:B (5) 开发软件时对提高开发人员工作效率至关重要的是 A) 操作系统的资源管理功能 B) 先进的软件开发工具和环境 C) 程序人员的数量 D) 计算机的并行处理能力 答案:B (6) 在软件测试设计中,软件测试的主要目的是 A) 实验性运行软件 B) 证明软件正确 C) 找出软件中全部错误 D) 发现软件错误而执行程序 答案:D (7) 数据处理的最小单位是 A) 数据 B) 数据元素 C) 数据项 D) 数据结构 答案:C (8) 索引属于 A) 模式 B) 内模式 C) 外模式 D) 概念模式 答案:B (9) 下述关于数据库系统的叙述中正确的是 A) 数据库系统减少了数据冗余 B) 数据库系统避免了一切冗余 C) 数据库系统中数据的一致性是指数据类型一致 D) 数据库系统比文件系统能管理更多的数据 答案:A (10) 数据库系统的核心是 A) 数据库 B) 数据库管理系统 C) 模拟模型 D) 软件工程 答案:B (11) 下列说法错误的是 A) 窗体文件的扩展名为.frm B) 一个窗体对应一个窗体文件 C) Visual Basic中的一个工程只包含一个窗体 D) Visual Basic中一个工程最多可以包含255个窗体 答案:C (12) 下列四组控件属性中,属性值的类型不相同的一组是 A) Label控件的Enabled属性与TextBox控件的Enabled属性 B) OptionButton控件的Value属性与CheckBox控件的Value属性 C) Command控件的Default属性与Command控件的Cancel属性 D) Command控件的Visible属性与Form控件的Visible属性 答案:B (13) 下列方法中不能退出Visual Basic的是 A) 按Alt+Q组合键 B) 按下Alt+F组合键,然后按Esc键 C) 打开"文件"菜单,执行"退出"命令 D) 按F10键,然后按F键,再按X键 答案:D (14) 任何控件都有的属性是 A) BackColor B) Caption C) Name D) BorderStyle 答案:C (15) 可以实现从键盘输入一个作为双精度变量a的值的语句是 A) a=InputBox() B) a=InputBox("请输入一个值") C) a=Val(InputBox("请输入一个值") ) D) a=Val(InputBox() ) 答案:C (16) 下列符号常量的声明中,不合法的是 A) Const a As Single=1.1 B) Const a="OK" C) Const a As Double=Sin(1) D) Const a As Integer="12" 答案:C (17) 在Visual Basic中,要强制用户对所用的变量进行显式声明,这可以在哪里设置? A) "属性"对话框 B) "程序代码"窗口 C) "选项"对话框 D) 对象浏览器 答案:C (18) 下列语句中,获得列表框List1中项目个数的语句是 A) x=List1.ListCount B) x=ListCount C) x=List1.ListIndex D) x=ListIndex 答案:A (19) 要获得当前驱动器应使用驱动器列表框的属性是 A) Path B) Drive C) Dir D) Pattern 答案:B (20) 如果将文本框的MaxLength属性设置为0,则文本框中的字符不能超过 A) 8K B) 16K C) 32K D) 64K 答案:C
(21) 当在滚动条内拖动滚动块时触发 A) KeyUp事件 B) KeyPress事件 C) Scroll事件 D) Change事件 答案:C (22) 设有声明语句 Dim b(-1 To 10, 2 To 9, 20) As Integer 则数组b中全部元素的个数 A) 2310 B) 2016 C) 1500 D) 1658 答案:B (23) 设在窗体上有个文本框,然后编写如下的事件过程: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Const Alt=4 Const Key_F2=&H71 altdown%=(Shift And Alt) > 0 f2down%=(KeyCode=Key_F2) If altdown% And f2down% Then Text1.Text="BBBBB" End If End Sub 上述程序运行后,如果按 【Shift+F2】 ,则在文本框中显示得是 A) Alt+F2 B) BBBBB C) 随机出几个数 D) 文本框平均内容无变化 答案:D (24) 设已经在"菜单编辑器"中设计了窗体的快捷菜单,其顶级菜单为Bs,取消其"可见"属性,运行时,在以下事件过程中,可以使快捷菜单响应鼠标右键菜单的是 A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) If Button=2 Then PopupMenu Bs, 2 End Sub B) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) PopupMenu Bs End Sub C) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) PopupMenu Bs,0 End Sub D) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _ X As Single, Y As Single) If (Button=vbLeftButton) Or (Button=vbRightButton) Then PopupMenu Bs End Sub 答案:A (25) 下列程序的功能是调用字体对话框来设置文本框字体,单击按钮弹出对话框后,按Cancel键退出对话框,则 Private Sub Command1_Click() CommonDialog1.CancelError=True CommonDialog1.Flags=cdlCFEffects Or cdlDFBoth CommonDialog1.Action=4 CommonDialog1.ShowFont Text1.Font.Name=CommonDialog1.FontName Text1.Font.Size=CommonDialog1.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) 程序出错! 答案:D (26) 要将名为MyForm的窗体显示出来,正确的使用方法是 A) MyForm.Show B) Show.MyForm C) MyForm Load D) MyForm Show 答案:A (27) 下列程序段的执行结果为 a=5 For k=1 To 0 a=a + k Next k Print k; a A) -1 6 B) -1 16 C) 1 5 D) 11 21 答案:C (28) 下列程序段的执行结果为 a=3 b=1 For I=1 To 3 f=a + b a=b b=f Print f Next I A) 4 3 6 B) 4 5 9 C) 6 3 4 D) 7 2 8 答案:B (29) 下列程序段的执行结果为 I=9 x=5 Do I=I + 1 x=x + 2 Loop Until I >=7 Print "I="; I Print "x="; x A) I=4x=5 B) I=7x=15 C) I=6x=8 D) I=10x=7 答案:D (30) 以下程序段运行时从键盘上输入字符"-",则输出结果为 op$=InputBox("op=") If op$="+" Then a=a + 2 If op$="-" Then a=a - 2 Print a A) 2 B) -2 C) 0 D) +2 答案:B (31) 以下程序段的输出结果为 Dim l, a(10) , p(3) k=5 For i=0 To 10 a(i) =i Next i For i=0 To 2 p(i) =a(i (i + 1) ) Next i For i=0 To 2 k=k + p(i) 2 Next i Print k A) 20 B) 21 C) 56 D) 32 答案:B (32) 下列程序的执行结果为 Private Sub Command1_Click() Dim x As Integer, y As Integer x=12: y=20 Call Value(x, y) Print x; y End Sub Private Sub Value(ByVal m As Integer, ByVal n As Integer) m=m * 2: n=n - 5 Print m; n End Sub A) 20 12 20 15 B) 12 20 12 25 C) 24 15 12 20 D) 24 12 12 15 答案:C (33) 在窗体上画一个命令按钮,然后编写下列程序 Private Sub Command3_Click() Tcl 2 Tcl 3 Tcl 4 End Sub Sub Tcl(a As Integer) Static x As Integer x=x + a Print x; End Sub 程序运行后,单击命令按钮,输出结果为 A) 2 3 4 B) 2 5 9 C) 3 5 4 D) 2 4 3 答案:B
(34) 下面程序段,运行后的结果是Private Sub Command1_Click() Dim b%(1 To 4) , i%, t# For i=1 To 4 b(i) =i Next i t=Tof(b() ) Print "t="; t, End Sub Function Tof(a() As Integer) Dim t#, i% t=1 For i=2 To UBound(A) t=t * a(i) Next i Tof=t End Function A) t=18 B) t=24 C) t=30 D) t=32 答案:B (35) 单击按钮时,以下程序运行后的输出结果是 Private Sub Command1_Click() Dim x As Integer, y As Integer, z As Integer x=1: y=2: z=3 Call God(x, x, z) Print x; x; z Call God(x, y, y) Print x; y; y End Sub Private Sub God(x As Integer, y As Integer, z As Integer) x=3 * z + 1 y=2 * z z=x + y End Sub A) 6 6 12 7 11 11 B) 8 5 10 5 11 11 C) 9 6 12 9 10 15 D) 8 10 10 5 9 10 答案:A 填空题: (1) 在树结构中,树根结点没有 【1】 。 答案:前件 解析: 在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点。 (2) Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向 【2】 的设计方法。 答案:数据结构 解析: 结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured analysis),面向数据结构的Jackson方法(JSD-Jackson system development method) 和面向数据结构的结构化数据系统开发方法(DSSD-Data structured system development method)。 (3) 面向对象的模型中,最基本的概念是对象和 【3】 。 答案:类 解析: 面向对象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以构成一个类。 (4) 软件设计模块化的目的是 【4】 。 答案:降低复杂性 解析: 模块化是指解决一个复杂问题时自顶向下逐层把软件系统划分成若干模块的过程,由此分解来降低复杂性。 (5) 数据模型按不同应用层次分成3种类型,它们是概念数据模型、 【5】 和物理数据模型。 答案:逻辑数据模型 解析:数据模型按不同层次分成概念数据模型、逻辑数据模型和物理数据模型三类。 (6) 在Visual Basic的立即窗口内输入以下语句 X=65 ?Chr$(X) 在窗口中显示的结果是 【6】 。 答案:A 解析: Chr$()是求ASCII字符的函数,格式是Chr$(表达式),其中"表达式"应该是合法的ASCII码值,Chr$()函数把"表达式"的值转换为相应的ASCII字符。本题中X=65对应的ASCII码是字符A,所以显示的结果应该是A。 (7) 下列程序是判断一个整数(>=3) 是否为素数,请补充完整。 Dim n As Integer n=InputBox("请输入一个整数(>=3) ") k=Int(Sqr(n) ) i=2 swit=0 While i <=k And swit=0 If n Mod i=0 Then 【7】 Else 【8】 End If Wend If swit=0 Then Print n; "是一个素数。" Else Print n; "不是一个素数。" End If 答案:swit=0 swit=1 解析:素数是只能被1和本身整除的正整数,在本题的程序中,swit是一个标志变量,如果"swit=0",则表示n不能被整除;如果能被一个整数整除,则swit变为1; While循环执行的条件有两个,一个是"I<=k",另一个是"swit=0",必须两个条件同时成立才执行循环,当I>k时,显然不必再检查n是否能被I整除;而如果"swit=1",则表示n已被整除,肯定不是素数,也不必检查了。 只有"I<=k"和"swit=0"两者同时成立时才需要检查"n是否为素数",循环只有一个判断操作,即判断n能否被I整除,如果不能,则I=I+1。以便为下一次判断作准备。 (8) 下面程序是用来打印九九乘法表的,请补充完整。 Dim i As Integer, j As Integer, Str1$ Str1="" For i=1 To 9 For j=1 To 9 If 【9】 Then Str1=Str1 + Str$(j) + "×" + Str$(i) + "=" + Str$(Val(i j) ) Else Str1=Str1 & Chr(13) 【10】 End If Next j Next i Print Str1 答案:j<=i j>i 解析: (1) Exit语句总是出现在If语句或Select Case语句内部,而If语句或Select Case语句在循环内嵌套,用Exit语句中断循环。函数首先定义了两个Integer型变量i、j,并将空格赋给Str1;第一个For循环的变量I从1到9步长为1,第二个循环的变量i也是从1到9步长为1,循环体为选择结构,它是用来输出i*j的值,所以j的值应该小于此时i的值,那么If的判断语句为j<=i,当满足条件时执行Then后面的语句,即输出i*j的值,如果不满足执行Else后面的语句,并跳出内循环。 (9) 在窗体上有一个命令按钮,然后编写如下程序: Function Trans(ByVal num As Long) As Long Dim k As Long k=1 Do While num k=k * (num Mod 10) num=num \ 10 Loop Trans=k Print Trans End Function Private Sub Command1_Click() Dim m As Long Dim s As Long m=InputBox("请输入一个数") s=Trans(m) End Sub 程序运行时,单击命令按钮,在输入对话框中输入"789",输出结果为 【11】 ,在输入 对话框中输入"987"输出 【12】 ,在输入对话框中输入"879",输出结果为 【13】 。 答案:504 504 解析: 关键字ByVal用来实现传值,也就是说在定义通用过程时,如果形参前面有关键字Byval,则该参数用传值方式传递,否则用传址方式传递;在Sub过程中,先将输入的"456"赋给变量m,m作为参数,调用Trans过程;在Trans过程中以num作为Do While的循环条件;在循环体中,调用Mod函数,将num的个位数字与k相乘,然后赋给k,第一次循环时,num的值是789,所以k的值为9,执行num = num \ 10后,num的值为78,循环三次后,num变为0,退出循环,k值等于9×8×7=504,并将k的值作为返回值;当输入"987"或"879"时执行相同的操作,结果都为504。可以看出,此程序可用于求一个数值各位上数值的乘积。 (10) 下面程序的功能是产生10个小于100(不含100) 的随机正整数,并统计其中5的倍数所占比例,但程序不完整,请补充完整。 Sub PR() Randomize Dim a(10) For j=1 To 10 a(i) =Int( 【14】 ) If 【15】 Then k=k + 1 Print a(j) Next j Print Print k / 10 End Sub 答案:(99 * Rnd)+ 1 a(j) Mod 5 = 0 解析: 小于100的随机正整数用(99 * Rnd)+ 1来表示;求倍数用取模来表示,即a(j) Mod 5 = 0,用k作计数器,累计计算能被5整除的数的个数。
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 二级VB上机考试试题题库 下一篇文章: 07年4月计算机等级二级VB考前密卷(2) |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|