计算机考试二级VB真题及答案2Word文档下载推荐.docx
《计算机考试二级VB真题及答案2Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机考试二级VB真题及答案2Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
(11)执行语句DimX,YAsInteger后,
A)X和Y均被定义为整型变量
B)X和Y均被定义为变体类型变量
C)X被定义为整型变量,Y被定义为变体变量
D)X被定义为变体类型变量,Y被定义为整型变量
(12)以下关系表达式中,其值为True的是
A)"
XYZ"
>
"
XYz"
B)"
VisualBasic"
<
visualbasic"
C)"
the"
="
there"
D)"
Integer"
Int"
(13)执行以下程序段
a$="
VisualBasicProgramming"
b$="
C++"
C$=UCase(Left$(a$,7))&
b$&
Right$(a$,12)
后,变量C$的值为
A)VisualBASICProgrammingB)VISUALC++Programming
C)VisualC++ProgrammingD)VISUALBASICProgramming
(14)下列叙述中正确的是
A)MsgBox语句的返回值是一个整数
B)执行MsgBox语句并出现信息框后,不用关闭信息框即可执行其他操作
C)MsgBox语句的第一个参数不能省略
D)如果省略MsgBox语句的第三个参数(Title),则信息框的标题为空
(15)在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,
在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数,以下可以实现上述操作的事件过程是
A)PrivateSubText1_Change()
Label1.Caption=str(Len(Text1.Text))
EndSub
B)PrivateSubText1_Click()
C)PrivateSubText1_Change()
Label1.Caption=Text1.Text
D)PrivateSubLabel1_Change()
(16)在窗体上画两个单选按钮(名称分别为Option1,Option2,标题分别为"
宋体"
和"
黑体"
), 1个复选框(名称为Check1,标题为粗体)和1个文本框(名称为Text1,Text属性为"
改变 文字字体"
),窗体外观如图所示。
程序运行后,要求“宋体”单选按钮和“粗体”复选框被 选中,则以下能够实现上述操作的语句序列是
A)Option1.Value=False
Check1.Value=True
B)Option1.Value=True
Check1.Value=0
C)Option2.Value=False
Check1.Value=2
D)Option1.Value=True
Check1.Value=1
(17)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
c=1234
c1=Trim(Str(c))
For i=1 To 4
Print ____
Next
End Sub
程序运行后,单击命令按钮,要求在窗体上显示如下内容:
1
12
123
1234
则在横线处应填入的内容为
A)Right(c1,i)
B)Left(c1,i)
C)Mid(c1,i,1)
D)Mid(c1,i,1)
(18)假定有一下程序段
For i=1 To 3
For j=5 To 1 Step -1
Print i*j
Next j
Next i
则语句Printi*j的执行次数是
A)15B)16C)17D)18
(19)在窗体上画两个文本框(名称分别为Text1和Text2)和一个命令按钮(名称为
Command1),然后编写如下事件过程:
x=0
Do While x<
50
x=(x+2)*(x+3)
n=n+1
Loop
Text1.Text=Str(n)
Text2.Text=Str(x)
程序运行后,单击命令按钮,在两个文本框中显示的值分别为
A)1和0B)2和72C)3和50D)4和168
(20)阅读程序:
a=0
For j=1 To 15
a=a+j Mod 3
Next j
Print a
程序运行后,单击窗体,输出结果是
A)105B)1C)120D)15
(21)以下说法中正确的是
A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程
B)因为窗体不接受焦点,所以窗体不存在自己的KeyPress事件过程
C)若按下的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中
的KeyCode参数的值也相同
D)在KeyPress事件过程中,KeyAscii参数可以省略
(22)语句Dima(-3To4,3To6)AsInteger定义的数组的元素个数是
A)18B)28C)21D)32
(23)在窗体上画一个命令按钮,其名称为Command1,然后编写如下代码:
Option Base 1
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
程序运行后,单击命令按钮,其输出结果是
A)4321B)1234C)34D)12
(24)假定通过复制,粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是
A)数组中每个命令按钮的名称(Name属性)均为Command1
B)若未做修改,数组中每个命令按钮的大小都一样
C)数组中各个命令按钮使用同一个Click事件过程
D)数组中每个命令按钮的Index属性值都相同
(25)在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:
Option Base 0
Dim A1(4) As Integer, A2(4) As Integer
For k = 0 To 2
A1(k + 1) = InputBox("
请输入一个整数"
)
A2(3 - k) = A1(k + 1)
Next k
Print A2(k)
程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6则输出结果为
A)0B)1C)2D)3
(26)以下关于函数过程的叙述中,正确的是
A)函数过程形参的类型与函数返回值的类型没有关系
B)在函数过程中,过程的返回值可以有多个
C)当数组作为函数过程的参数是,既能以传值方式传递,也能以传址方式传递
D)如果不指明函数过程参数的类型,则该参数没有数据类型
(27)在窗体上画两个标签按钮和一个命令按钮,其名称分别为Label1、Label2和Command1,
然后编写如下程序:
Private Sub func(L As Label)
L.Caption = "
1234"
Private Sub Form_Load()
Label1.Caption = "
ABCDE"
Label2.Caption = 10
a = Val(Label2.Caption)
Call func(Label1)
Label2.Caption = a
程序运行后,单击命令按钮,则在两个标签中显示的内容分别为
A)ABCD和10B)1234和100C)ABCD和100D)1234和10
(28)在窗体上画一个命令按钮(名称为Command1),并编写如下代码:
Function fun1(ByVal a As Integer, b As Integer) As Integer
Dim t As Integer
t = a - b
b = t + a
fun1 = t + b
End Function
Dim x As Integer
x = 10
Print fun1(fun1(x, (fun1(x, x - 1))), x - 1)
程序运行后,单击命令按钮,输出结果是
A)10B)0C)11D)21
(29)以下关于过程及过程参数的描述中,错误的是
A)过程的参数可以是控件名称
B)调用过程时使用的实参的个数应与过程形参的个数相同
C)只有函数过程能够将过程中处理的信息返回到调用程序中
D)窗体可以作为过程的参数
(30)设有如下通用过程
Public Function Fun(xStr As String) As String
Dim tStr As String, strL As Integer
tStr = "
strL = Len(xStr)
i = strL / 2
Do While i <
= strL
tStr = tStr &
Mid(xStr, i + 1, 1)
i = i + 1
Loop
Fun = tStr &
tStr
在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。
然后编写如
下事件过程
Dim S1 As String
S1 = "
ABCDEF"
Text1.Text = LCase(Fun(S1))
程序运行后,单击命令按钮,文本框中显示的是
A)ABCDEFB)abcdefC)defdefD)defabc
(31)在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text1),并把窗体
的KeyPreview属性设置为True,然后编写如下代码:
Dim SaveAll As String
Show
Text1.Text = "
Text1.SetFocus
Text1.Text = LCase(SaveAll) + SaveAll
Private Sub Form_KeyPress(KeyAscii As Integer)
SaveAll = SaveAll + Chr(KeyAscii)
程序运行后,直接用键盘输入:
VB,再单击命令按钮则文本框中显示的内容为
A)vbVBB)不显示任何信息C)VBD)出错
(32)设有以下程序
Private Sub Form_Click()
x = 50
For i = 1 To 4
y = InputBox("
y = Val(y)
If y Mod 5 = 0 Then
a = a + y
x = y
Else
a = a + x
End If
Print a
程序运行后,单击窗体,在输入对话框中依次输入15,24,35,46,输出结果为
A)100B)50C)120D)70
(33)以下关于菜单的叙述中,错误的是
A)当窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器
B)把菜单项的Enabled属性设置为False,则可删除该菜单项
C)弹出式菜单在菜单编辑器中设计
D)程序运行时,利用控件数组可以实现菜单项的增加或减少
(34)以下叙述中错误的是
A)在程序运行时,通用对话框控件是不可见的
B)调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可以打开不 同的对话框窗口
C)调用通用对话框控件的ShowOpen方法,能够直接打开在该通用对话框中指定的 文件
D)调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口
(35)设在工程文件中有一个标准模块,其中定义了如下记录类型:
Type Books
Name As String*10
TelNum As String*20
End Type
在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条Books类型的记录,下列能够完成该操作的事件过程是
A)Private Sub Command1_Click()
Dim B As Books
Open "
Person.txt"
For Output As #1
B.Name = InputBox("
输入姓名"
输入电话号码"
Write #1, B.Name, B.TelNum
Close #1
End Sub
B)Private Sub Command1_Click()
Print #1, B.Name, B.TelNum
C)Private Sub Command1_Click()
Write #1, B
D)Private Sub Command1_Click()
Print #1, Name,TelNum
二、填空题(每空2分,共计30分)
(1)假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底
指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数
租下标),则栈中具有【1】个元素
(2)软件测试可分为白盒测试和黑盒测试。
基本路径测试属于【2】测试
(3)符合结构化原则的三种基本控制结构是:
选择结构、循环结构和【3】
(4)数据库系统的核心是【4】
(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。
其中表示实体联系的是【5】框
(6)窗体如图所示,其中汽车是名称为Image1的图像框,命令按钮的名称Command1,
计时器的名称为Timer1,直线的名称为Line1。
程序运行时,单击命令按钮,则
汽车每0.1秒向左移动100,车头到达左边的直线时停止移动。
请填空完成下面
的属性设置和程序,以便实现上述功能。
1)Timer1的Interval属性的值应事先设置为【6】
2)PrivateSubCommand1_Click()
Timer1.Enabled=True
EndSub
3)PrivateSubTimer1_Timer()
IfImage1.Left>
【7】Then
Image1.Left=【8】-100
EndIf
7.上题【7】的答案是
8.上一题【8】的答案是
9.(7)设窗体上有一个名称为Combo1的组合框,并有以下程序:
PrivateSubCombo1_KeyPress(KeyAsciiAsInteger)
If【9】=13Then
Fork=0ToCombo1.ListCount-1
IfCombo1.Text=Combo1.List(k)Then
Combo1.Text="
ExitFor
Nextk
IfCombo1.Text<
"
Then
Combo1.AddItem【10】
程序的功能是:
在组合框的编辑区中输入文本后按回车键,则检查列表中
有无与此文本相同的项目,若有,则把编辑区中的文本删除,否则把编辑
区中的文本添加到列表的尾部。
请填空。
10.上一题【10】的答案是
11.(8)在当前目录下有一个名为"
myfile.txt"
的文本文件,其中有若干行文本。
下面程序的
功能是读入此文件中的所有文本行,按行计算每行字符的ASCII码之和,并显示在窗体上。
请填空
Dim ch$, ascii As Integer
Open "
For 【11】 As #1
While Not EOF
(1)
Line Input #1, ch
ascii = toascii(【12】)
Print ascii
Wend
Close #1
Private Function toascii(mystr$) As Integer
n = 0
For k = 1 To 【13】
n = n + Asc(Mid(mystr, k, 1))
Next k
toascii = n
12.上一题【12】的答案是
13.上一题【13】的答案是
14.(9)本程序实现文本加密。
先给定序列:
a1,a2,...,an,它们的取值范围是1~n,而且互
不相同。
加密算法是:
把原文本中第k个字符放到加密后文本的第ak个位置处。
若原
文本长度大于n,则只对前面n个字符加密,后面的字符不变;
若原文本长度小于n,则
在后面补字符"
*"
使文本长度为n后再加密。
例如:
若给定序列a1,a2,...a7分别为2,5,3,7,6,1,4
当文本为“PROGRAM"
时,加密后的文本为"
APOMRRG"
当文本为"
THANK"
*TA*HKN"
下面的过程code实现这一算法。
其中参数数组a()中存放给定序列(个数与数组a的元素
个数相等)a1,a2,a3...的值,要加密的文本放在参数变量mystr中,过程执行完毕,加
密后的文本仍然放在变量mystr中。
Private Sub code(a() As Integer, mystr As String)
Dim ch As String, c1 As String
n = UBound(a) - Len(mystr)
If n >
0 Then
mystr = mystr &
String$(n, "
End If
ch = mystr
For k = 【14】 To UBound(a)
c1 = Mid(mystr, k, 1)
n = 【15】
Mid(ch, n) = c1
mystr = ch
15.上一题【15】的答案是