全国计算机等级考试二级vb2010年9月份笔试答案
我的是完整的,希望采纳!
一、选择题(每小题2分,共70分)
1-5 BCDAA 6-10 DDCBA
11-15 ADDBB 16-20 BCABA
21-25 CDBDC 26-30 ACDAD
31-35 DCCBA
二、填空题(每空2分,共30分)
【1】12345DCBA
【2】n-1
【3】25
【4】结构化
【5】物理设计
【6】array
【7】lbound(city) 或 1
【8】city(i)
【9】fun
【10】276
【11】len
【12】p(i).gName
【13】picFile
【14】CD1.FileName
【15】Visible
注:以上英文字母不区分大小写。
一、选择题(每小题2分,共70分)
(1)下列叙述中正确的是
B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
(2)下列叙述中正确的是
C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
(3)软件测试的目的是
D)发现程序中的错误
(4)下面叙述中,不属于软件危机表现的是
A)软件过程不规范
(5)软件生命周期是指
A)软件产品从提出、实现、使用维护到停止使用退役的过程
(6)面向对象方法中,继承是指
D)类之间共享属性和操作的机制
(7)层次型、网状型和关系型数据库划分原则是
D)数据之间的联系方式
(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是
C)多对多
(9)数据库设计中反映用户对数据要求的模式是
B)概念模式
(10)有三个关系R、S和T如下:
R S T
A B C A D A B C D
a 1 2 c 4 c 3 1 4
b 2 1
c 3 1
则由关系R和S得到关系T的操作是
A)自然连接
(11)在Visual Basic集成环境中,要添加一个窗体,可以单击工具栏上的一个按钮,这个按钮是
A)
(12)在Visual Basic集成环境的设计模式下,用鼠标双击窗体上的某个控件打开的窗口是D)代码窗口
(13)下列叙述错误的是
D)组合框有Text属性,而列表框没有
(14)设窗体上有一个命令按钮数组,能够区分数组中各个按钮的属性是
B)Index (15)滚动条可以响应的事件是
B)Scroll
(16)设a=5,b=6,c=7,d=8,执行语句x=Iif((a》b) and (c》d),10,20)后,x的值是
B)20
(17)语句Print Sgn(-6^2) Abs(-6^2) Int(-6^2)的输出结果是
C)-1
(18)在窗体上画一个图片框,再在图片框中画一个命令按钮,位置如图所示。则命令按钮的Top属性值是
A)200
(19)在窗体上画一个名称为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
则在弹出的信息框标题中显示的标题是
B)hardware
(20)在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,如果在文本框中输入文本框,则标签立即显示相同的内容。以下可以实现上述操作的事件过程是
A)Private Sub Text1_Change()
Label1.Caption=Text1.Text
End Sub
(21)以下说法中错误的是
C)命令按钮只能识别单击(Click)事件
(22)以下关于局部变量的叙述中错误的是
D)过程执行完毕后,该过程中用Dim或Static语句声明的变量即被释放。
(23)以下程序段的输出结果是
x=1
y=4
Do Until y》4
x=x*y
y=y 1
Loop
Print x
B)4
(24)如果执行一个语句后弹出如图所示的窗口,则这个语句是
D)x=InputBox(“请输入VB数据”,”输入框”)
(25)有如下事件过程:
Private Sub Form_Click()
Dim n As Integer
x = 0
n = InputBox(“请输入一个整数“)
For i = 1 To n
For j = 1 To i
x = x 1
Next j
Next i
Print x
End Sub
程序运行后,单击窗体,如果在输入对话框中输入5,则在窗体上显示的内容是
C)15
(26)请阅读程序:
Sub SubP(b() As Integer)
For i=1 To 4
b(i)=2*i
Next i
End Sub
Private Sub Command1_Click()
Dim a(1 To 4) As Integer
a(1)=5 : a(2)=6 : a(3)=7 : a(4)=8
subP a()
For i=1 To 4 Print a(i) Next i End Sub 运行上面的程序,单击命令按钮,则输出结果是
A)2
4
6
8
(27)Fibonacci数列的规律是:前2个数为1,从第3个数开始,每个数是它前2个数之和,即:1,1,2,3,5,8,13,21,34,55,89,…。某人编写了下面的函数,判断大于1的整数x是否是Fibonacci数列的某个数,若使,则返回True,否则返回False。
Function Isfab(x As Integer) As Boolean
Dim a As Integer, b As Integer, c As Integer, flag As Boolean
flag = False
a = 1: b = 1
Do While x 《 b
c = a b
a = b
b = c
If x = b Then flag = True
Loop
Isfab = False
End Function
测试时发现对于所有正整数x,函数都返回False,程序需要修改。下面的修改方案中正确的是
C)把Do While x《b 改为 Do While x》b
(28)在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
Private Sub Command1_Click()
Dim a$, b$, c$, k%
a = “ABCD“
b = “123456“
c = ““
k = 1
Do While k 《= Len(a) Or k 《= Len(b)
If k 《= Len(a) Then
c = c & Mid(a, k, 1)
End If
If k 《= Len(b) Then
c = c & Mid(b, k, 1)
End If
k = k 1
Loop
Print c
End Sub
运行程序,单击命令按钮,输出结果是
D)A1B2C3D456
(29)请阅读程序:
Private Sub Command1_Click()
m = 1
For i = 4 To 1 Step -1
Print Str(m);
m = m 1
For j = 1 To i
Print “*“;
Next j
Print
Next i
End Sub
程序运行后,单击窗体,则输出结果是
A)1****
2***
3**
4*
(30)在窗体上画一个命令按钮(其名称为Command1),然后编写如下代码:
Private Sub Command1_Click()
Dim a
a = Array(1, 2, 3, 4) i = 3: j = 1 Do While i 》= 0 s = s a(i) * j i = i - 1 j = j * 10 Loop Print s End Sub 运行上面的程序,单击命令按钮,则输出结果是
D)1234
(31)下列可以打开随机文件的语句是
D)Open “file1.dat” For Random As #1 Len=20
(32)有弹出式菜单的结构如右表,程序运行时,单击窗体则弹出如下图所示的菜单。下面的事件过程中能正确实现这一个功能的是
C)Private Sub Form_Click()
PopupMenu edit
End Sub
(33)请阅读程序:
Option Base 1
Private Sub Form_Click()
Dim Arr(4, 4) As Integer
For i = 1 To 4
For j = 1 To 4
Arr(i, j) = (i - 1) * 2 j
Next j
Next i
For i = 3 To 4
For j = 3 To 4
Print Arr(j, i);
Next j
Print
Next i
End Sub
程序运行后,单击窗体,则输出结果是
C)7 9
8 10
(34)下面函数的功能是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str=”ABCDABCD”,ch=”B”,则函数的返回值为:“ACDACD”。
Function delchar(str As String, ch As String) As String
Dim k As Integer, temp As String, ret As String
ret = ““
For k = 1 To Len(str)
temp = Mid(str, k, 1)
If temp = ch Then
ret = ret & temp
End If
Next k
delchar = ret
End Function
但实际上函数有错误,需要修改。下面的修改方案中正确的是
B)把If temp=ch Then 改为 If temp 《》 ch Then
(35)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,在属性窗口中把窗体的KeyPreview属性设置为True,然后编写如下程序:
Dim S1 As String, S2 As String
Private Sub Form_Load()
Text1.Text = ““
Text2.Text = ““
Text1.Enabled = False
Text2.Enabled = False
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
S2 = S2 & Chr(KeyCode)
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
S1 = S1 & Chr(KeyAscii)
End Sub
Private Sub Command1_Click()
Text1.Text = S1 Text2.Text = S2 S1 = ““ S2 = ““ End Sub 程序运行后,先后按“a”、“b”、“c”键,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为:
A)abc和ABC
二、填空题(每空2分,共30分)
(1)一个栈的初始状态为空。首先将元素5、4、3、2、1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】12345DCBA。
(2)在长度为n的线性表中,寻找最大项至少需要比较【2】n-1次。
(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有【3】25个结点。
(4)仅有顺序、选择(分支)和重复(循环)结构构成的程序是【4】结构化 程序。
(5)数据库设计的四个阶段:需求分析、概念设计、逻辑设计和【5】物理设计。
(6)窗体上有一个名称为Combo1的组合框,其初始内容为空,有一个名称为Command1、标题为“添加项目”的命令按钮。程序运行后,如果单击命令按钮,会将给定数组中的项目添加到组合框中,如图所示。请填空。
Option Base 1
Private Sub Command1_Click()
Dim city As Variant
city =【6】 Array(“北京“, “天津“, “上海“, “武汉“, “重庆“, “西宁“)
For i = 【7】LBound(city) 或1 To UBound(city)
Combo1. AddItem 【8】city(i)
Next
End Sub
(7)窗体上有一个名称为Text1的文本框和一个名称为Command1、标题为“计算”的命令按钮,如图所示。函数fun及命令按钮的单击事件过程如下,请填空。
Private Sub Command1_Click()
Dim x As Integer
x = Val(InputBox(“输入数据“))
Text1 = str(fun(x) fun(x) fun(x))
End Sub
Private Function fun(ByRef n As Integer)
If n Mod 3 = 0 Then
n = n n
Else
n = n * n
End If
【9】fun = n
End Function
当单击命令按钮,在输入对话框中输入2时,文本框中显示的是【10】276。
(8)窗体上有一个名称为List1的列表框,一个名称为Picture1的图片框。Form_Load事件过程的作用是,把Data1.txt文件中物品名称添加到列表框中。运行程序,当双击列表框中的物品名称时,可以把该商品对应的图片显示在图片框中,如图所示。以下是类型定义及程序,请填空。
Private Type Pic
gName As String * 10 ’物品名称
picFile As String * 20 ’物品图片的图片文件名
End Type
Dim p(4) As Pic, pRec As Pic
Private Sub Form_Load()
Open “Data1.txt“ For Random As #1 【11】Len = Len(pRec)
For i = 0 To 4
Get #1, i 1, p(i)
List1.AddItem p(i).gName
Next i
Close #1
End Sub
Private Sub List1_DblClick()
For i = 0 To 4
If RTrim(List1.List(i)) = RTrim(【12】p(i).gName) Then
Picture1.Picture = LoadPicture(p(i).【13】picFile)
Exit For
End If
Next
End Sub
(9)窗体上有一个名称为CD1的通用对话框。通过菜单编辑器建立如图1所示的菜单。程序运行时,如果单击“打开”菜单项,则执行打开文件的操作,当选定了文件(例如:G:\VB\2010-9\in.txt)并打开后,该文件的文件名会被添加到菜单中,如图2所示。各菜单项的名称和标题等定义如下表。
以下是单击“打开”菜单项的事件过程,请填空。
Dim mnuCounter As Integer
Private Sub mnuOpen_Click() CD1.ShowOpen If CD1.FileName 《》 ““ Then Open 【14】CD1.FileName For Input As #1 mnuCounter = mnuCounter 1 Load FName(mnuCounter) FName(mnuCounter).Caption = CD1.FileName FName(mnuCounter).【15】Visible = True End If End Sub
VB和VC++是不是已经被淘汰了
basic就不要提了,几十年前就被淘汰了
先说说VB吧:
建议不学VB,因为VB垃圾、简单至极、功能不全、开发出来的软件对系统资源依赖性强(俗话-运行的这么卡呢?)、以上原因导致VB已经被社会淘汰了,已经没有客户要买用VB开发出来的软件了。
VB的开发实际上就是在一个窗口里“画”按钮之类的东西,然后再在按钮里加代码,这个所谓“按钮”实际上是VB众多被称为“控件”的东西的其中之一,是别人为你编写好的,但这些“控件”是用什么编写的呢?,是用C++编写的(VB想要实现什么功能,必须先用C++做控件),所以有句话说的好“真正的VB高手其实是C++高手”,不学VB还有一个原因,就是他破坏你学习其他软件的思路,他的语法与其他流行软件的语法不一样,学完以后会有少许误入歧途的感觉。
说说C语言:
我学过C语言,它只能编写DOS程序,功能不是很强大,但却是基础,因为大部分流行的编程软件都与C语言的语法结构类似,一定要先学。
C++:
C语言进化而来的,有强大的功能,举例吧:
软件:
微软的Office系列
Macromedia网页三剑客 - flash,dreamweaver,fireworks
Adobe出的 超有名的作图软件 - PhotoShop
3D动画软件 - 3DMax
.....
游戏:
PC平台几乎所有的游戏
星际争霸、魔兽争霸、CS、帝国时代、跑跑卡丁车、传奇、魔兽世界....
那数不胜数了,自己数吧:)
以上均出自C++之手,原因是C++靠近计算机底层,编写出来的程序对系统资源依赖较小,功能强大,运行速度快,比如你的两个朋友与你分别玩 用 VB、Java、与C++编写的“跑跑卡丁车”,你玩C++那款游戏已经跑玩结束了,发现你的两个朋友还没开始跑呢,那是相当的卡啊,所以这一系列的软件、游戏都会采用C++编写。
虽然C++很有优点,但是对于学习者来说应该是比较困难的一门语言。(再说明一点,C或C++属于语言,而VC - “Visual C++”是用来编写C或C++的工具)
Java:
不可小视的编程语言,我举不出来用它编写的应用软件和游戏,因为它是商业编程语言,我之前举的C++开发的软件都是面向普通人的,而Java开发的软件大部分是面向事业单位、公司及企业的,它的功能同样强大,结构比C++清晰,学习起来比C++简单多了,并且是跨平台运行的程序,用Java开发出来的软件可以在世界几乎所有的系统上运行(包括Linux、掌上电脑、手机等),但正因为如此,使之运行时会比C++开发的软件要慢。
没接触过编程的人恐怕很少有人知道,我不知道楼主你年龄多大了,你学编程是因为兴趣还是因为职业?如果是因为职业,建议选择学习Java。
VF:
Visual FoxPro - 微软出的数据库编程软件,和以上都不一样,没必要考虑这个,并且近几年已经被微软淘汰,因为这个软件在世界上早已被 Sql-Server 和 Oracle 等数据库编程软件所取代。
高分求助 修改过的 php100中的新闻系统代码(实现分类的无限添加)
无限分类其实加多个上级ID就可以实现了
也可以拼字符串来实现1-3-5-7-9
1表示1级ID
3标识2级ID
3表示3级ID
...
还有几个采纳升级 谢谢