VB上机考试模拟试题
VB程序设计上机考试题的题型,分为两种类型:
⒈程序修改题
要求考生新建一个工程,在该工程中打开已有模块文件Modify.Bas,按照题意修改该模块中的函数或过程。为检测所作修改是否正确,可以在新建工程中添加一些控件或编制事件过程,用以调用模块中函数或过程的语句。
其中的程序填空题,要求考生删除已有源代码中标记“ (x) ”的部分,根据题意填入适当的代码,其它部分不得改动;
其中的程序改错题:要求考生找出注释语句“'**** 错误 x ****”后的一个语句中的错误,并用正确的语句替换之,不允许改动其他的语句(也不得加行或减行)。
修改结束后,要保存工程,文件名一般按缺省,模块文件名不得改变。
⒉程序设计题
要求考生打开已有工程文件Design.vbp,按题意要求在对象窗口修改控件属性、删除代码窗口中中标记“ (x) ”的部分,根据题意填入适当的代码。
程序修改题操作指导
程序填空题:
在考生目录中,已有模块文件Modify.Bas,模块中的total过程是计算s=7+77+777+…(和式中最后一项有n个7),但不完整,请在横线上填入必要的内容,使其完整。
Modify.Bas模块中的number函数是求出n个7组成的数。请建立工程将Modify.Bas模块加入工程中进行调试。
操作:
⑴新建工程,在“工程”菜单中选择“添加模块”子菜单,在所选择的如下所示的“现存”对话框中,打开考生目录中的文件“modify.bas”。
⑵模块modify.bas中的代码显示如下,考生应根据题意,对程序做修改。
Option Explicit '禁止使用缺省的数据类型(变体),即任何变量都要说明类型。
Public Sub total()
Const n = 20
Dim s As Single, i As Integer
For i = 1 To n
s = s + ⑴编者:需将“⑴”删除后填入“number(i)”
Next I
Form1.Print "s="; s
End Sub
Function number( ⑵ ) As Single 编者:需将“⑵”删除后填入“n as Integer” Dim i As Integer
number = 0
For i = 1 To n
⑶编者:需将“⑶”删除后填入“number=number*10+7”
Next i
End Function
⑶运行调试
在本题中,为运行调试,可以在Form1的代码窗口内写入下列事件过程:
Private Sub Form_Click()
Call p()
End Sub
在Modify.Bas模块的程序代码中,考生只能在加下划线处修改,不得加行或减行。而为运行调试所编制的代码,可以由考生决定。如:可以在窗体上添加命令按钮“Command1”、而将语句“Call p()”写在事件过程Command1_Click中,等等。
⑷存盘退出
程序改错题:
在考生目录中,已有模块文件Modify.Bas,其中的Calculate过程是产生100个[0,99]范围内的随机整数,统计并显示个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。
请建立工程将Modify.Bas模块加入工程中进行调试,请改正其中的错误。
注意:只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。
操作(建立工程、添加模块的方法与程序填空题的操作相类似):
⑴新建工程,在“工程”菜单中选择“添加模块”子菜单,在“现存”对话框中,打开考生目录中的文件“modify.bas”。
⑵模块modify.bas中的代码显示如下,考生应根据题意,对程序做修改。
Public Sub Calculate()
Dim a(1 To 100) As Integer, a(1 To 10)As Integer, i As Integer, p As Integer ' 产生100个[0,99]范围内的随机整数,每行10个显示出来。
For i = 1 To 100
****** 错误1 ********
a(i) = Rnd * 100 需改此句为“a(i) = Int(Rnd * 100)”
If a(i) < 10 Then
Form1.Print Space(2); a(i);
Else
Form1.Print Space(1); a(i);
End If
If i Mod 10 = 0 Then Form1.Print
Next i
' 统计个位上的数字分别为1、2、3、4、5、6、7、8、9、0的数的个数
' 并将统计结果保存在数组元素x(1),x(2),…,x(10)中,将统计结果显示出来
For i = 1 To 100
'****** 错误2 ******
p = Int(a(i) / 10) 需改此句为“p = a(i) Mod 10”
If p = 0 Then p = 10
'****** 错误3 ******
x(p) = x(p) - 1 需改此句为“x(p) = x(p) + 1”
Next i
Form1.Print "统计结果"
For i = 1 To 10
p = i
If i = 10 Then p = 0
'***** 错误4 ******
Form1.Print "个位数为" & p & "共" & x(p) & "个"
Next i
End Sub
倒数第三行需改为“Print "个位数为" & p & "共" & x(i) & "个"”
⑶运行调试
⑷存盘退出
程序设计题操作指导
题目:完成一个画板程序的设计,可以根据选择的线型的粗细、颜色,用鼠标的左键模拟笔在绘图区随意绘图。
提示:考生可以双击运行考生目录下的Design.vbp工程,打开该工程后,对象窗口如下图。完成以下具体要求:
1. 将窗体的标题文字改为“面板”
2. 将图片框picturel设置为固定边框,白色背景。
3. 添加一个通用对话框控件用于显示颜色对话框,名称为cdcolor。
4. 将代码窗口中的“…n…”(n为1,2,3,4)部分删除后改为合适的内容。
注意:代码窗口中其余代码不要做修改。
操作:
⑴打开考生目录下的工程文件Design.vbp
⑵按照题意要求,在对象窗口添加对象、修改对象的属性
⑶在代码窗口中,将所显示的“(x)”删除、用合适的代码填充
Option Explicit
Private Sub Command1_Click()
⑴编者:需将“⑴“删除后填入“Cdlcolor.ShowColor”
⑵编者:需将“⑵”删除后填入“Picture1.ForeColor = CdColor.Color” End Sub
Private Sub Command2_Click()
⑶编者:需将“⑶”删除后填入“Picture1.Cls”
End Sub
Private Sub Picture1_MouseMove(Button As Integer,Shift AS _
Integer, X As Single, Y As Single)
' 在鼠标移动事件过程中,按下鼠标左键时 Button值为1,按下鼠标右键时 Button ' 值为2,否则为0。
If Option1.Value = True Then Picture1.DrawWidth = 1
If Option2.Value = True Then Picture1.DrawWidth = 5
If Button = 1 Then
⑷编者:需将“⑷”删除后填入“Picture1.Pset(x,y)”
End If
End Sub
⑷存盘退出
VB上机考试部分模拟试题
【程序填空题1】在考生目录中,已有模块文件Modify.Bas,其中的Summary过程用于计算并显示S=1+2+22+23+……直至S超过1016为止。请在程序处划线处填入必要的内容,使其完整。
请建立工程,将Modify.Bas模块加入工程中进行调试。
Option Explicit
Public Sub summary()
Dim s As Single, i As Integer
⑴需在此填入“s = 1”
i = 1
⑵需在此填入“Do While s <= 1e16”
s = s + 2^i
⑶需在此填入“i = i +1”
Loop
Form1.Print "s="; s
End Sub
【程序设计题1】完成一个正弦曲线程序的设计,在图片框中画出[-π,π]区间的正弦波形。要求将图片框的坐标系重新定义为左上角坐标(-π,1),右下角坐标为(π,-1),并在图片框中画出坐标的X轴和Y轴。
提示:考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考生目录中,已经有一个未完成的Design.vbp工程,打开该工程后的对象窗口如下图所示。完成以下具体要求:
1. 将窗体的标题文字改为“正弦曲线”。
2. 将图片框Picture1设置为固定边框,白色背景。
注意:代码窗口中其余代码不要做修改。
Option Explicit
Private Sub Command1_Click()
Const PI = 3.1415926
Dim i As Single
⑴ '定义图片框的坐标系需在此填入“Picture1.Scale(-PI,1)-(PI,-1)”
⑵ '画出X轴直线需在此填入“Picture1.Line(-PI,0)-(PI,0)”
⑶ '画出Y轴直线需在此填入“Picture1.Line(0,-1)-(0,1)”
' 以下语句对坐标轴进行曲标注
Picture1.CurrentX = -pi : Picture1.CurrentY = -0.1
Picture1.Print "–π" : Picture1.CurrentX = pi - 0.3
Picture1.Print "π" : Picture1.CurrentX = 0.2
Picture1.CurrentY = -0.1 : Picture1.Print "0"
Picture1.CurrentX = 0.2 : Picture1.CurrentY = 1 - 0.1
Picture1.Print "1" : Picture1.CurrentX = 0.2
Picture1.CurrentY = -1 + 0.1 : Picture1.Print "-1"
' 以下语句画出[-π,π]区间的正弦波形
For i = -PI To PI Step 0.0001
⑷需在此填入“Picture1.Pset(i,sin(i))”
Next i
End Sub
【程序填空题2】在考生目录中,已有模块文件Modify.Bas,请完成下列题目要求。
Modify.Bas模块中的Transpose过程用于产生一个转置矩阵(所谓转置是指将二维数组中所有行和对应列的元素进行交换),但不完整,请在横线上填入必要的内容,使其完整。Modify.Bas 模块中的Swap过程用于交换两个变量的值。
请建立工程将Modify.Bas模块加入工程中进行调试。
注意:只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。
Public Sub Transpose()
'产生一个6×6的转置矩阵,将二维数组中所有行和对应列的元素进行交换
Dim a(1 To 6,1 To 6) As Integer, i As Integer, j As Integer
Form1.Print "原始数据"
For i = 1 To 6
For j = 1 To 6
a(i,j) = Int(Rnd * 10)
Form1.Print a(i,j);
Next j
Form1.Print
Next i
For i = 2 To 6
For j = 1 To ⑴需在此填入“i - 1”
⑵需在此填入“Call Swap(a(i,j),a(j,i))”
Next j
Next i
Form1.Print "转置后数据"
For i = 1 To 6
For j =1 To 6
⑶需在此填入“Print a(i,j);”
Next j
Form1.Print
Next i
End Sub
Public Sub Swap(a AS Integer,b As Integer)
Dim temp As Integer
Temp = a
a = b
b = temp
End Sub
【程序设计题2】完成一个文本编辑器程序的(部分)设计,要求设计一个带有垂直滚动条的文本框,可以对文本框中选中的文本进行查找和替换操作。
第一次单击“查找”按钮后,出现输入框用于输入查找内容,并开始在文本框中查找第一个匹配的字符串并选中,再单击“查找”按钮则继续定位下一个匹配的字符串,直到没有匹配的字符串为止,这时可以开始其他内容的查找。
“替换为”按钮用于将文本框中选中的内容替换成指定的字符串,未选中内容则不做替换。
提示:考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考生目录中,已经有一个未完成的Design.vbp工程,打开该工程后,对象窗口如下图。完成以下具体要求:
1. 将窗体设置为固定大小,没有最大化和最小化按钮。
2. 对文本框Text1进行合理的设置,使其带有垂直滚动条。
编者:将Form1.MaxButton、MinButton属性设置为False,Form1.BorderStyle属性设置为1-fixed Single,Text1.ScrollBars设置为 2-Vertical。
Option Explicit
Dim find1 As Integer, i As Integer
Dim Len1 As Integer, Len2 As Integer, findstr As String
Private Sub Command1_Click()
Static times As Integer
If times = 0 Then
findstr = InputBox(“查找?","查找")
Len1 = Len(findstr) : Len2 = Len(Text1.Text)
End If
⑴需在此填入“times = times + 1”
For i = find1 + 1 To Len2
If ⑵ Then 需在此填入“findstr = Mid(Text1.Text,i,Len1)” find1 = i
Text1.SetFocus
Text1.SelStart = i - 1
⑶需在此填入“Text1.SelLength = Len1”
Exit Sub
End If
Next i
If ⑷ Then 需在此填入“i >= Len2”
MsgBox "完成全部搜索!"
times = 0
End If
End Sub
Private Sub Command2_Click() '选中一段文本后,单击该按钮、执行替换操作。
Dim repstr As String
repstr = InputBox("替换为","替换")
If Text1.SelLength <> 0 Then
⑸需在此填入“Text1.SelText = repstr”
Else
MsgBox "没有被替换的对象"
End If
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
find1 = 0
End Sub
【程序填空题3】在考生目录中,已有模块文件Modify.Bas,模块中的PrintArray过程是输出一个右上三角元素(含对角线)为1,其余元素为0的5×5矩阵。请填入必要的内容,使其完整。请建立工程将Modify.Bas模块加入工程中进行调试。
注意:只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。
Public Sub PrintArray()
Dim a(1 To 5,1 To 5) As Integer, i As Integer, j As Integer
For i = 1 To 5
For j = 1 To 5
If ⑴ Then 需在此填入“i <= j”
⑵需在此填入“a(i,j) = 1”
End If
Next j
Next i
For i = 1 To 5
For j = 1 To 5
Form1.Print " "; a(i,j)
Next j
⑶需在此填入“Print”
Next i
End Sub
【程序设计题3】完成一个计时器程序的设计,要求单击“开始计时”按钮后,程序根据选择的时间倒计时,并将剩余的时间显示在标签中,直到0分0秒为止。
提示:考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考生目录中,有一个未完成的Design.Vbp工程,打开该工程后的对象窗口如下图所示,完成以下具体要求:
1. 将标签设置为固定边框,字体颜色设为红色,字号为16。
2. 将定时器的间隔设置为1秒。
3. 对单选钮控件数组进行合适的设置,使时间选择默认为5分钟。
编者:将 Label1..BorderStyle属性设置为1-fixed Single,Timer1.Interval属性设置为1000,Option1(1).TabIndex设置为0。
Option Explicit
Dim pretime As Integer, mm As Integer, ss As Integer
Private Sub Command1_Click()
Command1.Enabled = False
Frame1.Enabled = False
Timer1.Enabled = True
End Sub
Private Sub Form_Load()
Timer1.Enabled = False : Pretime = 300
End Sub
Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
Pretime = 60
Case 1
Pretime = 300
Case 2
Pretime = 600
End Select
End Sub
Private Sub Timer1_Timer()
mm = ⑴需在此填入“Pretime \ 60”
ss = ⑵需在此填入“Pretime Mod 60”
Label1.Caption = str(mm) & "分" & Str(ss) & "秒"
If ⑶ Then 需在此填入“mm = 0 And ss = 0”
Timer1.Enabled = False
Command1.Enabled = True
Frame1.Enabled = True
End If
⑷需在此填入“pretime = pretime - 1”
End Sub
【程序设计题4】完成一个家电提货单管理程序的设计,根据选项中选择的家电及数量,单击“确定”后,将选择的清单及总价在列表框中列出,“清除”按钮用于清空列表框中的项目。
要求在操作过程中,每选择一种家电,光标自动定位在相应的文本框中,取消选择时,相应的文本框自动清空,所有文本框只接受数字。
提示:考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考目录中,已有一个未完成的Design.Vbp工程,打开该工程后的对象窗口如下图所示,完成以下具体要求:
1. 将窗体设置为固定大小、没有最大化和最小化按钮。
2. 对文本框Text1控件数组进行合理的设置,使所有文本框的对齐方式为右对齐。
编者:将Form1.MaxButton、MinButton属性设置为False,Form1.BorderStyle属性设置为1-fixed Single,Text1(0)~Text1(4)的Alignment属性均设置为1-Right Justify。
Option Explicit
Private Sub Check1_Click(Index As Integer)
⑴需在此填入“Text1(Index).Text = ""”
If Check1(Index).Value = 1 Then Text1(Index).SetFocus
End Sub
Private Sub Command1_Click()
Dim i As Integer, sum As Long, title As String, price As Integer
sum = 0
For i = 0 To 4
Select Case i
Case 0
title = "电视机" : price = 2580
Case 1
title = "微波炉" : price = 760
Case 2
title = "电冰箱" : price = 1750
Case 3
title = "DVD"
price = 3080
Case 4
title = "分体空调"
price = 6500
End Select
If Check1(i).Value = 1 And Text1(i).Text <> "" Then
List1.AddItem title & Text(i).Text & "台"
⑵需在此填入“sum = sum + price * val(Text1(I).Text)”
End If
Next i
If sum ◇ 0 Then ⑶需在此填入“List1.AddItem Str(sum)”
End Sub
Private Sub Command2_Click()
⑷需在此填入“List1.Clear”
End Sub
Private Sub Text1_Keypress(Index As Integer,KeyAscii As Integer)
If Chr(KeyAscii) > "9" Or Chr(keyAscii) < "0" Then
⑸需在此填入“KeyAscii = 0”
End if
End Sub
【程序填空题4】在考生目录中,已有模块文件Modify.Bas,模块中的Uppersen过程是将一个英文句子的每个单词的首字母变成大写。
例如:输入“i am a good student.”,输出为“I Am A Good Student.”。请在横线上填入必要的内容,使其完整。请建立工程将Modify.Bas模块加入工程中进行调试。
注意:只需将横线位置的内容删除后填入合适的内容即可,其余代码不要改动。
Option Explicit
Public Sub Uppersen()
' 从键盘上任意输入一条英文句子,将句子中的每个单词的首字母都变成大写
Dim oldsen As String, newsen As String, char As String
Dim lastchar As String, L As Integer, i As Integer
Oldsen = InputBox("请输入英文句子:")
L = ⑴需在此填入“Len(oldsen)”
' 以空格作为单词的界定符,空格后的字母转换为大写字母。
lastchar = ⑵需在此填入“""”
For i = 1 To L
char = ⑶需在此填入“Mid(oldsen,i,1)”
If lastchar = " " Then char = ⑷需在此填入“ Ucase(char)”
newsen = newsen & char
lastchar = char
Next i
Print "input:"; oldsen
Print "output:"; newsen
End Sub
【程序设计题5】完成一个密码检验程序的设计,要求当在文本框中输入密码“1234567”并按回车后,显示(标签Label2)“欢迎光临!”;如果输入的密码与“1234567”不吻合,显示“密码不符,请再输入一遍!”,同时清空文本框的内容,允许再输入一遍;如果输入的密码仍然与“1234567”不吻合,显示“非法用户,请退出程序!”、文本框不能使用。
提示:考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考生目录中,已有一个未完成的Design.Vbp工程,打开该工程后的对象窗口如下图所示,完成以下具体要求;
1. 对文本框控件Text1进行设置,使得在文本框控件中输入的字符显示为*,并且最多可以接受8个字符,请对文本框控件Text1的相应属性进行设置。
2. 将标签控件Label2的对齐方式设置为居中对齐,大小随字体自动调整,不可见。
编者:将Text1.PasswordChar设置为"*"、Maxlength属性设置为8,Label2.Alignment 属性设置为2-Center、AutoSize属性设置为True、Visible属性设置为False。
Private Sub Command1_Click()
End
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Static times As Integer ' 统计第几次输入密码
' 按回车键后进行密码检验
If ⑴ Then 需在此填入“KeyAscii = 13”
If ⑵ Then 需在此填入“Text1.Text = "1234567"”
Label2.Caption = "欢迎光临!"
⑶需在此填入“Label2.Visible = True”
Else
If ⑷ Then 需在此填入“times = 0”
Label2.Caption = "密码不符,请再输入一遍!"
Label2.Visible = True
Text1.Text = ""
Else
Label2.Caption = "非法用户,请退出程序!"
Text1.Text = ""
⑸需在此填入“Text1.Enabled = False”
End If
End If
times = times + 1
End If
End Sub
【程序设计题6】完成一个文本编辑器程序的(部分)设计,要求设计一个带有垂直滚动条的文本框,可以对文本框中选中的文本进行剪切、复制、粘贴和删除的操作。
提示:考生可以双击运行考生目录下的Design.exe文件查看程序的最终效果。
在考生目录中,已经有一个未完成的Design.Vbp工程,打开该工程后的对象窗口如下图所示。完成以下具体要求;
1. 将窗体设置为固定大小,没有最大化和最小化按钮。
2. 将文本框Text1进行合理的设置,使其带有垂直滚动条。
Private Sub Command1_Click() ' 剪切
⑴需在此填入“Clipboard.SetText(Text1.SelText)”
⑵需在此填入“Text1.SelText = ""”
End Sub
Private Sub Command2_Click() ' 复制
⑶需在此填入“Clipboard.SetText(Text1.SelText)”
End Sub
Private Sub Command3_Click() ' 粘贴
⑷需在此填入“Text1.SelText = Clipboard.GetText”
End Sub
Private Sub Command4_Click() ' 删除
⑸需在此填入“Text1.SelText = ""”
End Sub
Private Sub Command5_Click()
End
End Sub
【程序填空题5】在考生目录中,已有模块文件Modify.Bas。模块中even过程是找出一个大于4的偶数的所有不重复的素数分解式,模块中的Isprime函数过程是判断一个数是否素数。请在横线上填入必要的内容,使其完整。请建立工程将Modify.Bas模块加入工程中进行调试。 Option Explicit
Public Sub even()
'从键盘输入一个必须大于4的偶数,将它所有的不重复的分解式求出
Dim x As Integer, i As Integer
⑴需在此填入“Do Until x>4 and x Mod 2 = 0”
x = Val(InputBox("x="))
Loop
For i = 3 To x / 2 Step 2
⑵需在此填入“If Isprime(x) Then”
Print x; "="; i; "+"; x - i
End If
Next i
End Sub
Public Function Isprime(x As Integer) As Boolean
Dim i As Integer
⑶需在此填入“Isprime = True”
For i = 2 To x - 1
⑷需在此填入“If x Mod i = 0 Then”
Isprime = False
Exit For
End If
Next i
End Function
【程序填空题6】在考生目录中,已有模块文件Modify.Bas,模块中的Fabonia过程是对以下数列进行运算:该数列的前三个数是0、1、2,从第四个数起,每个数都是它前面的两个数之和。求该数列的第17项,并求出从第几项起每项都超过108。请在横线上填入必要的内容,使其完整。请建立工程将Modify.Bas模块加入工程中进行调试。
Option Explicit
Public Sub Fabonia()
Dim last_one As Long, last_two As Long
Dim this_one As Long, i As Integer
last_one = 1
last_two = 2
i = 4 '从数列的第四个数求起
Do
this_one = last_one + last_two
⑴需在此填入“last_one = last_two”
⑵需在此填入“last_two = this_one”
If i = 17 Then Print "No:17="; this_one
⑶需在此填入“i = i + 1”
Loop While this_one <= 100000000#
Print "No"; ⑷ ; "is>1E8" 需在此填入“i”
End Sub
【程序设计题7】完成一个改变图形形状大小的程序的设计,要求可以用滚动条改变圆的大小,同时把圆的直径在标签Label2上显示出来。
考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。在考生目录中,已有一个未完成的Design.Vbp工程,打开该工程后的对象窗口如下图所示。完成以下具体要求:
1. 将形状控件Shape1设置为圆形,并且显示出填充色为红色。
2. 将标签控件Label2的对齐属性设置为居中对齐。
编者:将Shape1.shape设置为3-Circle、FillColor属性设置为红色、FillStyle属性设置为0-Solid。
Private Sub Form_Load()
Hscroll1.Max = 3400
Hscroll1.Min = 10
https://www.wendangku.net/doc/7a12098915.html,rgeChange = 100
Hscroll1.SmallChange = 10
Hscroll1.Value = 3400
End Sub
Private Sub Hscroll1_Change()
Shape1.Width = ⑴需在此填入“Hscroll1.Value”
Shape1.Height = ⑵需在此填入“Hscroll1.Value”
Shape1.Left = 2400 - Hscro111.Value / 2
Shape1.Top = 1800 - Hscro111.Value / 2
⑶需在此填入“Label2.Caption = Hscroll1.Value”
End Sub
Private Sub Hscro111_Scro11()
⑷需在此填入“Hscroll1_Change”
End Sub
【程序设计题8】完成一个字体修饰程序的设计,要求程序启动后单击相应的复选框或单选钮,均在标签文字“Visual Basic程序设计”上体现出来。
提示:考生可以双击运行考生目录下的Design1.Exe文件查看程序的最终效果。
在考生目录中,已有一个未完成的Design.Vbp工程,打开该工程后的对象窗口如下图所示。完成以下具体要求:
1. 将窗体的标题改为“字体修饰”,窗体设置为固定大小,没有最大化和最小化按钮。
2. 在框架控件Frame2中引入单选钮控件数组Option1,Option1(0)标题为“宋体”,Value 属性为True,Option1(1)标题为“楷体”。
Private Sub Check1_Click(Index As Integer)
' 设置粗体
If ⑴ Then 需在此填入“Check1(0).Value = 1”
Label1.FontBold = True
Else
Label1.FontBold = False
End If
' 设置斜体
If ⑵ Then 需在此填入“Check1(1).Value = 1”
Label1.FontItalic = True
Else
Label1.FontItalic = False
End If
End Sub
Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0 ' 设置宋体
⑶需在此填入“Label1.FontName = "宋体"”
Case 1 ' 设置楷体
⑷需在此填入“Label1.FontName = "楷体_GB2312"” End Select
End Sub
【程序填空题7】在考生目录中已有模块文件Modify.Bas,其中Sum过程是用于计算并显示f=1-1/(2*3)+1/(3*4)-1/(4*5)+......+1/(19*20),请在横线上填入必要的内容,使其完整。
请建立工程将Modify.Bas模块加入工程中进行调试。
Option Explicit
Public Sub Sum()
' 计算 f=1-1/(2*3)+1/(3*4)-1/(4*5)+……+1/(19*20)
Dim f As Single, i As Integer, sign As Integer
⑴需在此填入“sign = -1”
f = 1
⑵需在此填入“For i = 2 To 19”
f = f + sign / (i * (i + 1))
⑶需在此填入“sign = -sign”
Next i
Print "f="; f
End Sub
【程序填空题8】在考生目录中,已有模块文件Modify.Bas,模块中的SortData过程是生成10个在[30,50]区间的随机整数、并按照从小到大的顺序显示,请在横线上填入必要的内容,使其完整(Modify.Bas模块中的Swap过程用于交换两个变量的值)。
请建立工程将Modify.Bas模块加入工程中进行调试。
Public Sub SortData()
Dim a(10) As Integer, i As Integer, j As Integer
For i = 1 To 10
a(i) = ⑴需在此填入“Rnd * 20 + 30”
Next i
For i = 1 To 9
⑵需在此填入“For j = i + 1 To 10”
If a(i) > a(j) Then ⑶需在此填入“ Call Swap(a(i),a(j))”
Next j
Print a(i)
Next i
Print ⑷需在此填入“a(i)”或“a(10)”
End Sub
Public Sub Swap(a As Integer, b As Integer)
Dim x As Integer
x = a : a = b : b = x
End Sub
【程序设计题9】完成“蝴蝶飞舞”的程序设计,要求程序启动后窗体最大化,蝴蝶从左下角沿Y=X/2+300直线方程轨迹飞向右上角,飞出窗体外后,重新沿原轨迹飞行。
提示:考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考生目录中,已有一个未完成的Design.Vbp工程,工程的窗体中有两个影像框控件Image1、Image2和一个定时器控件Timer1,其中Image1和Image2的Picture属性已经设置了图片,要求再引入一个影像框控件,使其在定时器的控制下交替显示Image1和Image2中的图片并沿Y=X/2+300直线方程轨迹循环移动。
打开该工程后的对象窗口如下图所示。完成以下具体要求:
1. 将窗体的背景色改为白色。
2. 将定时器的间隔设置为0.1秒。
3. 引入一个影像框控件Imgfly,将其Strecth属性设为True,宽度和高度均为1335twips。 Option Explicit
Dim starttop As Integer
Private Sub Form_Load()
Form1.Left = 0 : Form1.Top = 0
Form1.Width = ⑴需在此填入“Screen.Width”
Form1.Height = ⑵需在此填入“Screen.Height”
End Sub
Private Sub Timer1_Timer()
Static flag
Dim x As Single, y As Single
x = Imgfly.Left
y = x / 2 + 300
If flag = 0 Then
⑶需在此填入“Imgfly.Picture = Image1.Picture”
flag = 1
Else
⑷需在此填入“Imgfly.Picture = Image2.Picture”
flag = 0
End if
Imgfly.Move Imgfly.left + 100, ⑸需在此填入“Imgfly.Top - 50”
If Imgfly.Top <= 0 Or Imgfly.Left >= Me.ScaleWidth Then
Imgfly.Top = Form1.ScaleHeight - Imgfly.Height
Imgfly.Left = 0
End If
End Sub
【程序改错题1】在考生目录中,已有模块文件Modify.Bas,其中的JiSuan过程是用于计算1- 1/2 + 1/3 - … + 1/99 - 1/100 的值并显示。请建立工程将Modify.Bas模块加入工程中进行调试,请改正其中的错误。
注意:只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。
Public Sub JiSuan()
Dim i As Integer
***** 错误1 ****
Dim k As Integer 需改此句为“Dim k As Single”
Dim s As Single
s = 0
***** 错误2 *****
For i = 1 To 100 需改此句为“For i = 1 To 100 Step 2”
k = 1 / i
s = s + k
***** 错误3 *****
k = 1 / i + 1 需改此句为“k = -1/(i + 1)”
s = s + k
Next i
Print "s="; s
End Sub
【程序设计题10】完成一个文本编辑器程序(部分)的设计,要求设计一个带有垂直滚动条的文本框,文件菜单下的“打开”、“保存”菜单项分别用于打开指定的文本文件和保存文本框中的内容到指定文本文件,窗体上已有一个通用对话框控件cdfile,用于显示“打开”和“保存”对话框。考生可以双击运行考生目录下的Design1.exe文件查看程序的最终效果。
在考生目录中,已经有一个未完成的Design.Vbp工程,打开该工程后的窗体如下图左所示、已完成的菜单设计如下图右所示。完成以下具体要求:
1. 将窗体设置为固定大小,没有最大化和最小化按钮。
2. 对文本框Text1进行合理的设置,使其带有垂直滚动条。
3. 在“打开”和“退出”菜单项之间添加一个“保存”菜单项,名称为mnusave。
Option Explicit
Private Sub Mnuexit_Click()
End
End Sub
Private Sub mnuopen_Click()
Dim filename As String, LL As String
On Error GoTo errfile
Text1.Text = ""
⑴需在此填入“cdfile.Action = 1”
filename = cdfile.Filename
Open filename For Input As #1
Do While ⑵需在此填入“Not Eof(1)”
Line Input #1, LL
⑶需在此填入“Text1.Text = Text1.Text + LL + Chr(13) + Chr(10)” Loop
Close #1
Exit Sub
Errfile:
Cdfile.Filename = ""
End Sub
Private Sub mnusave_Click()
Dim filename As String, LL As String
On Error GoTo Errfile
⑷需在此填入“cdfile.Action = 2”
filename = cdfile.Filename
If filename = "" Then Exit Sub
Open filename For Output As #1
⑸需在此填入“Write #1,Text1.Text”
Close #1
Errfile:
Cdfile.Filename = ""
End Sub
【程序改错题2】在考生目录中,已有模块文件Modify.Bas,其中过程ComDiv是求任意两个正整数的最大公约数。请建立工程将Modify.Bas模块加入工程中进行调试、改正其中的错误。
注意:只要修改标出出错位置的下面那一条语句即可,其余代码不要改动。
Option Explicit
Public Sub ComDiv()
Dim m As Integer, n As Integer, i As Integer, div As Integer
' 输入两个正整数,要求m与n都必须大于零
Do
二、选择题 1、菜单控件只包括一个事件,即 C ,当用鼠标单击或键盘选中后按“回车”键时触发该事件,除分隔条以外的所有菜单控件都能识别该事件。 A、GotFocus B、Load C、Click D、KeyDown 2、滚动条控件(如图所示)的Max属性所设置的是 A 。 A、滚动框处于最右位置时,一个滚动条位置的Value属性最大设置值 B、单击滚动条和滚动箭头之间的区域时,滚动条中滚动块的最大移动量 C、单击滚动条的箭头区域时,滚动条中滚动块的最大移动量 D、滚动条控件无该属性 3、SQL 语句 Select * Form student 中的 *表示 B 。 A、所有记录 B、所有字段 C、所有表 D、都不对 4、以下选项中,不属于标签的属性是 C 。 A、Enabled B、Caption C、Default D、Font 5、要求改命令按钮显示的文本,应当在属性窗口中改变的属性是 A 。 A、Caption B、Name C、Text D、Label 6、设置一个单选按钮(OptionButton)所代表选项的选中状态,应当在属性窗口中改变的属性是 D 。 A、Caption B、Name C、Text D、Value
7、允许在菜单项的左边设置打勾标记,下面哪种论述是正确的 D 。 A、在标题项中输入&,然后打勾 B、在索引项中打勾 C、在有效项中打勾 D、在复选项中打勾 8、当执行以下过程时,在窗体上将显示 A 。 Private Sub Command1_Click( ) Print "VB"; Print "Hello! "; Print "VB" End Sub A、 VBHello!VB B、 VB Hello!VB C、 VB D、 VB Hello! VB Hello! VB 9、语句Print "The answer is:";20/4-2的结果为 B 。 A、The answer is 20/4-2 B、The answer is 3 C、The answer is "20/4-2" D、非法语句 10、下列哪个控件是容器控件 B 。 A、Image B、Picture C、ComboBox D、FileListBox 11、若要将窗体从内存中卸载出去,其实现的方法是 D 。 12、以下选项中,不是 Visual Basic控件的是 A 。 A.窗体 B.定时器 C.单选框 D.命令按钮 13、双击窗体中的对象后,Visual Basic将显示的窗口是 A 。 A.代码窗口 B.工具箱 C.项目(工程)窗口 D.属性窗口 14、可决定窗体的左上角是否有控制菜单的属性是 A 。 15、设有如下语句: Strl=InputBox("输人","","练习") 从键盘上输人字符“示例”后,Strl的值是 D 。 A.“输入” B.“” C.“练习” D.“示例” 16、窗体Form1的Name属性是Frm1,它的单击事件过程名是 C 。 A. Form1_Click C. Frm1_Click D. Me_Click 17、窗体的hide属性的含义是 A 。 A.隐藏 B.展现 C.装入 D.卸载 18、若要设置定时器控件的定时时间,需设置的属性是 C 。 A.Enabled B.Value C.Interval D.Text 19、能够改变复选框中背景颜色的属性是 C 。
一、概念填空题 1.在Visaul Basic中,属性窗口分为四个部分,这四个部分分别是( 1 )属性显示方式、属性列表和对当前属性的简单解释。 2.组合框有三种不同的风格,它们分别是:( 2 )、( 3 )和( 4 )。3.VB中,当KeyPress事件发生时会返回一个按键的( 5 )值。 4. 时钟控件是有规律地以一定的( 6 )激发计时器事件,而执行相应的代码程序。 5.A = 8,B = 3,C = 5,则表达式A MOD 3 + B^3 / C \ 5的值为( 7 )。6.声明一个双精度变量Num5,的声明语句是 ( 8 ) 。 7.有一文本框Text1,为了使该文本框在运行时获取焦点,应执行的语句是( 9 )。8.在使用动态数组时,如要改变数组的大小而又不丢失数组中的数据,应使用( 10 )关键字。 9.Visual Basic逻辑数据类型只有 True 与 False 两个值。当逻辑数据转换成整型数据时,True 转换为( 11 ),False转换为( 12 )。 10.在Visaul Basic 中依据变量的作用范围将VB变量的作用范围分为三类,它们是:( 13 )变量、( 14 )变量和( 15 )变量。 11.在Visual Basic工程中,拥有多个窗体的程序可用( 16 )语句将窗体装入内存,用( 17 )语句将指定窗体从内存中删除。 12.在Visual Basic中,当坐标系确定后,如果坐标值前加上关键字Step,则坐标值(X,Y)是( 18 )坐标。 13.字符串常量是由任何ASCII字符组成,在程序代码中,它必须由( 19 )括起来。 14.如果有三个单选按钮直接画在窗体上,另有四个单选按钮画在框架中,则运行时,可以同时选中( 20 )个单选按钮。 二、概念选择题 1.不能触发滚动条Change事件的操作是()。 A) 拖动滚动条的滑块 B) 单击两端箭头 C) 单击滚动条的滑块 D) 单击滚动条的空白处 2.已知变量x 、y为整数型,且x=4 , y=12 ,s为字符型,且s=“a”,Leble1为标签控件,Leble1的Caption属性值为Label1,下列合法的赋值语句是()。 A) X= Leble1.Caption B) Leble1.Caption=Str(X) C) X*3=Y D) Y=X*S 3.下列可以将变量A、B的值互换的语句是( )。 A) A=B : B=A B) C=B : B=A :A=C C) A=C : C=B : B=A D) A=(A+B)/2 :B=(A-B)/2 4.下列叙述中错误的是()。 A)VB是采用了事件驱动编程机制。
大学VB考试题库 一、单项选择题 1、与传统的程序设计语言相比,Visual Basic最突出的特点是()。 A、结构化程序设计 B、程序开发环境 C、事件驱动编程机制 D、程序调试技术 2、赋值语句:a=123& MID("123456",3,2)执行后,a变量中的值是()。 A、"12334" B、123 C、12334 D、157 3、保存一个工程至少应保存两个文件,这两个文件分别是(B)。 A、文本文件和工程文件 B、窗体文件和工程文件 C、窗体文件和标准模块文件 D、类模块文件和工程文件 4、以下能在窗体Form1的标题栏中显示"VisualBasic窗体"的语句是(C)。 A、https://www.wendangku.net/doc/7a12098915.html,="VisualBasic窗体" B、Form1.Title="VisualBasic窗体" C、Form1.Caption="VisualBasic窗体" D、Form1.Text="VisualBasic窗体" 5、为了装入一个VisualBasic应用程序,应当(D) A、只装入窗体文件(.frm) B、只装入工程文件(.vbp) C、分别装入工程文件和标准模块文件(.bas) D、分别装入工程文件、窗体文件和标准模块文件 6、赋给一个数组的数据类型一定要(A)。 A、相同 B、不相同 C、两可 D、都不对 7、下面正确的赋值语句是(C)。 A、x+y=30 B、y=π*r*r C、y=x+30 D、3y=x 8、VisualBasic 6.0集成环境的主窗口中不包括(C)。
A、标题栏 B、菜单栏 C、状态栏 D、工具栏 9、以下叙述中错误的是(C)。 A、Visual Basic 是事件驱动型可视化编程工具 B、Visual Basic应用程序不具有明显的开始和结束语句 C、Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性(计时器) D、Visual Basic中控件的某些属性只能在运行时设置 10、要使Print方法在Form_Load事件中起作用,要对窗体的(C)属性进行设置。 A、Backcolor B、ForeColor C、AutoRedraw D、BackStyle 11、若要使命令按钮不可操作,要对(A)属性进行设制。 A、Enabled B、Visible C、BackColor D、Caption 12、以下叙述中错误的是(B)。 A、一个工程中可以包含多个窗体文件 B、在一个窗体文件中用Private定义的通用过程能被其他窗体调用 C、在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件。 D、一个工程默认的启动对象是Form1 13、Cls方法可以清除窗体或图片框中的(C)内容。 A、在设计阶段使用Picture设置的背景位图 B、在设计阶段放置的控件 C、在运行阶段产生的图形和文字 D、以上均可 14、设x=3,y=5,则以下表达式值为真的是 (C) A、(-3+5>x) And (y>0) B、(x<0) Eqv (y>0) C、(x>y) Or (y>0) D、x>=y And y>10 15、为了防止用户随意将光标置于控件之上,应将进行(D)设置。 A、将控件的TabIndex属性设置为0
VB上机综合测试题(一) 一、如下所示,在窗体上,放置一个文本框text1(文本框中的文字为“改变字形”,居中显示)。三个复选框check1,check2和check3,如图设置属性。要求:当用户单击“加粗”、“斜体”、“下划线”这三个复选框时(即当复选框被选中时)能将文本框的字形变为“粗体、斜体、加下划线”(25分) 二、在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作:①随机产生20个0到1000的整数,将其放入一个一维数组中②求出所有元素的平均值,并显示在窗体上(如下图所示)(35分) 三、请设计如下图所示窗体界面。运行程序时,先向左侧文本框中输入一个不超过10的正整数,然后选择"N的阶乘"或"(N+2)的阶乘"单选钮,即可进行计算,计算结果在右侧文本框中显示。请编写程序完成上述功能。(40分)
答案: 一、 界面设计------10分 Private Sub Check1_Click() = ------5分 End Sub Private Sub Check2_Click() = 分 End Sub Private Sub Check3_Click() = ------5分 End Sub 二、 界面设计------10分 Private Sub Cmd1_Click()------2分Dim a%(19), i%, sum!, aver! ------4分Randomize ------3分 For i = 0 To 19------3分 a(i) = Int(Rnd * 1001) ------3分 sum = sum + a(i) ------3分 Next i ------2分 aver = sum / 20 ------3分 Print aver ------2分 End Sub 三、 界面设计------10分 Dim? n%------2分 Private Sub Form_Load() End Sub
一、单选题(本大题共25题,每题2分,共50分) 1、不属于VB三种工作模式的是()。 A.设计模式 B.运行模式 C.调试模式 D.中断模式 2、窗体的前景颜色由()属性设置。 A.BorderStyle B.BackColor C.ForeColor D.FillStyle 3、当窗体被启动时,()事件将会发生。 A.Load B.Unload C.QueryUnoad D.CLs 4、每个窗体对应一个窗体文件,窗体文件的扩展名是()。 A..bas B.cls C.frm D.vbp 5、可用来清除窗体内容的方法是()。 A.Print B.InputBox C.Cls D.Clear 6、下列语句有语法错误的是()。 A.a=5 B.b=a C.b=“a” D.5=a 7、表达式1+((2+3)*2)*2的值是()。 A.26 B.22 C.21 D.24 8、产生大于等于10且小于20的随机整数的表达式为()。 A.Int(Rnd(10)+10) B.Int(Rnd*10+10) C.Int(Rnd*10+11) D.Int(Rnd*20-10) 9、求字符串长度的函数是()。 A.Len B.long C.Length D.Val 10、若要使定时器暂停,应将其()属性设置值设为False。 A.Interval B.Value C.Text D.Enabled 11、下列可作为Visual Basic的变量名的是()。 A.Abt B.TA C.IF D.A[B]T 12、VB中可用()语句产生一消息框。 A. InputBox B.Shift C. Both D.MsgBox 13、以下程序段的输出结果是() Print Format(12345.6,"0.00E+00") A.1.23E+04 B.1.23E+4 C.1.23456E+04 D.1.23456E+4 14、执行下面的语句后,所产生的信息框的标题是()。 a = MsgBox("AAAA", "BBBB", "", 5) A.BBBB B.空 C.AAAA D.出错,不能产生信息框 15、以下程序段的输出结果是()。 Print 1;2; Print 3 A.1 2 3 B.1 23 C.123 D.12 3 16、下列关于Do While …Loop和Do…Loop Until循环执行循环次数的描述正确的是()。 A.Do While …Loop循环和Do…Loop Until循环至少都执行一次 B.Do While …Loop循环和Do…Loop Until循环可能都不执行 C.Do While …Loop循环至少执行一次和Do…Loop Until循环可能不执行循环 D.Do While …Loop循环可能不执行和Do…Loop Until循环至少执行一次 17、默认条件下,语句Dim a(3,4,5)定义的数组中所包含的数组元素的个数是()。 A. 12 B.60 C.120 D.345 18、数学关系3≤x<10对应的Visual Basic表达式是()。
第一套试题 一、选择题(每题2分,共30分) 1.在VB环境中,工程文件的扩展名是( C ) (A).frm (B).bas (C).vbp (D).frx 2.下面4项中不属于面向对象系统三要素的是( A ) (A)变量(B)事件(C)属性(D)方法 3. \、/、Mod、*这4个算述运算符中,优先级别最低的是( C ) (A)\ (B)/ (C)Mod (D)* 4.要使Print方法在Form_Load事件中起作用,要对窗体的( C )属性进行设置(A)BackColor (B)ForeColor (C)AutoRedraw (D)Caption 5.不论何控件,共同具有的属性是( B ) (A)Text (B)Name (C)ForeColor (D)Caption 6.要使Form1窗体的标题栏显示“欢迎使用VB”,以下语句正确的是( D ) (A)Form1.Caption=“欢迎使用VB”(B)Form1.Caption=ˊ欢迎使用VBˊ(C)Form1.Caption=欢迎使用VB (D)Form1.Caption=〞欢迎使用VB〞 7.VB提供了结构化程序设计的3种基本结构,这3种基本结构是( D ) (A)递归结构,选择结构,循环结构(B)选择结构,过程结构,顺序结构 (C)过程结构,输入、输出结构,转向结构(D)选择结构,循环结构,顺序结构 8.给变量赋值a=123+MID(“123456”,3,2),a变量中的值是( D ) (A)“12334”(B)123 (C)12334 (D)157 9.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是( D ) (A)If sex=“男”And age<40 And InStr(duty,“教授”)>0 Then n=n+1 (B)If sex=“男”And age<40 And (duty=“教授”Or duty=“副教授”) Then n=n+1 (C)If sex=“男”And age<40 And Right(duty,2)= “教授” Then n=n+1 (D)If sex=“男”And age<40 And duty=“教授”And duty=“副教授” Then n=n+1 10.若要清除列表框的所有内容,可用来实现的方法是( C )
计算机二级VB考试题及答案 为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是搜索的计算机二级VB考试题及答案,供参考练习,预祝考生们考出自己理想的成绩! 1.在窗体上画一个名称为Text1的文本框,一个名称为Command1的命令按钮,然后编写如下事件过程和通用过程: Private Sub Command1_Click( ) n = Val(Text1.Text) If n2 = n/2 Then f = f1(n) Else f = f2(n) End If
Print f; n End Sub Public Function f1(ByRef x) x=x*x f1=x+x End Function Public Function f2(ByVal x) x=x*x f2=x+x+x End Function 程序运行后,在文本框中输入3,然后单击命令按钮,窗体上显示的是(D)(单)
A.72 36 B.108 36 C.72 6 D.27 3 2.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click( ) c = "1234" For i = 1 To 4 c1 = Trim(Str( )) Print c1
Next i End Sub 程序运行后,单击命令按钮,要求在窗体上显示如下内容 12 123 1234 则在下划线处应填入的内容为(B)(单) A.Right(c1,i) B.Left(c1,i) C.Mid(c1,i,1) D.Mid(c1,i,i)
第二部分VB上机考试模拟试题 一、程序调试题(改错或填空) (二)程序调试题 [题1] Modify.bas模块中的getanswer过程是用于计算一元二次方程的根,并将结果输出来。 Option Explicit Public Sub getanswer() '该过程是用于计算一元二次方程的根,并将结果输出来。 Dim dalt!, a#, b#, c# a = InputBox("输入系数a") b = InputBox("输入系数b") c = InputBox("输入系数c") dalt = b * b - 4 * a * c If ----1---- dalt >0 then dalt = Sqr(dalt) MsgBox Format((-b + dalt) / 2 / a), "0.00" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") Elseif ---2---- dalt =0 then MsgBox Format(-b / 2 / a, "0.00") + Chr(13) + Chr(10) + Format(-b / 2 / a, "0.00") Else dalt= ---3---- Sqr(-dalt) MsgBox Format((-b + dalt) / 2 / a, "0.00") + "+i" + Chr(13) + Chr(10) + Format((-b - dalt) / 2 / a, "0.00") + "-i" End If End Sub [题2] 打印输出一菱形图案。 Public Sub prt() '打印由#组成的菱形图案 ' # ' ### ' ##### ' ####### ' ######### ' ####### ' ##### ' ### Dim start As String '每行起始空格数 Dim count As Integer '每行#个数 For i = 1 To 9 If i <= 5 Then '------1------ start=space(21-i) count = 2 * i - 1 Else start = Space(11 + i) '-------2------ count=19-2*i End If '------3------ form1.print start; For j = 1 To count Form1.Print "#"; Next j '------4------ form1.print Next i [题3] 过程pyramid用以打印一个数字金字塔,请在横线上填入必要的内容(将横线删除掉后填入正确的内容),使其完整。 Option Explicit Public Sub pyramid() '打印数字金字塔 ' 1 ' 222 ' 33333 ' 4444444 ' 555555555 ' 6666666 ' 77777 ' 888 ' 9 Dim i As Integer Dim j As Integer Dim start As String '每行起始空格数 Dim num As Integer '每行数字个数 For i = 1 To 9 If i <= 5 Then start = Space(20 - i) num = 2 * i - 1 Else start= '------1------ Space(10 + i) num= '------2------ 2 * (10-i) - 1 End If Form1.Print start; For j = 1 To num '------3------ form1.print trim(str(i)); Next j '------4------ form1.print Next i End Sub [题4] 改错。 Option Explicit Public Sub prt() '打印由数字组成的如下所示金字塔图案 ' 9 ' 888 ' 77777 ' 6666666 ' 555555555 ' 44444444444 ' 3333333333333 ' 222222222222222 ' 11111111111111111 Dim i As Integer, j As Integer '****** 错误1 ****** For i = 9 To 1 step -1 Form1.Print Space(i); '****** 错误2 ****** For j = 1 To 2 *(10- i) - 1 '****** 错误3 ****** Form1.Print trim(str(i)); Next j
要向C盘根目录下的名为my.txt的顺序文件中读出数据,应先使用_________语句打开文件。 复选框对象如果被选中,它的Value值为____________ 。 下列可作为Visual Basic 变量名的是____________。 以下能判断是否到达文件尾的函数是__________ 如果在实验课上进行程序调试,运行时遇到意外出错,最有效的做法是:看清系统错误原因提示信息,____________,以确定错误原因。 要想从子过程调用后返回两个结果,下面子过程语句说明合法的是 ____________ 。 在用通用对话框控件建立打开文件对话框时,在文件列表框中只允许显示txt和rtf类型的文件,则Filter属性的正确设置是_________。 在程序运行期间可以用____________函数把图形装入窗体、图片框或图像框。列表框List1中已有10个列表项,要显示列表框List1最后一项,有两种表示法, __________是正确的。 在默认情况下定义了10个元素的数组a,用变量n表示它的上界,有两种赋值语句,______________是正确的。 为了使控件对象不响应用户的事件,需要____________。 假定焦点已经位于文本框Text1中,则能够触发 KeyPress 事件的操作是 ____________。 设变量x = 1,y = -1,a = 5,b = -5,则以下表达式的值为“真”的是____________。单击滚动条控件的箭头按钮,滑块的移动幅度与_______________属性设置有关。在自定义函数中,可以通过____________返回值。 程序填空 单击窗体执行将所输入的整数插入排序后的原数组元素适当位置。 Function Insert(s(), ByVal key As Integer) As Integer Dim k%, i%, j% k = ___(1)_____ For i = 0 To UBound(s)
VB程序设计期末考试题 一、选择题 1 下列常量中,是Integer类型常量的是( C )。 A、123& B、-38844 C、123% D、32768 2 下面选项中()是字符连接运算符. A A、& B、And C、% D、Mod 3 下面关于VB的集成开发环境(IDE)的叙述中,不正确的是( B )。 A、IDE是设计、调试、运行VB程序的工具。 B、用户不能随意关闭IDE中的窗口。 C、"窗体设计" 窗口是用来设计应用程序界面(窗体)的。 D、打开 / 关闭各窗口的命令主要在IDE的"视图"菜单中。 4 len(“vb程序设计”)=( C ) 。 A、 5 B、2 C、 6 D、10 5 表达式 15 Mod 4 + 13 \ 5 * 2 的值是 D A、7 B、0 C、2 D、4 6 赋值语句A=123 + Mid$( “123456”,3,2) 执行后,A=(A)。 A、157 B、12334 C、123 D、"12334" 7 在一个语句内写多条语句时,用来分隔每条语句的符号是(C). A、, B、; C、: D、、 8 将逻辑型数据转换成整型数据时,转换规则是( D )。 A、将True转换为 1 ,将False转换为 0 B、将True转换为 1 ,将False转换为 -1 C、将True转换为 0 ,将False转换为 -1 D、将True转换为 -1 ,将False转换为 0 9 表达式2+3*4^5-SIN(X+1)/2中最先进行的运算是(D).
A、SIN B、4^5 C、3*4 D、x+1 10 如果x=2,则表达式x+1>2 Or sin(x)>0.9 And 3>x+3的值( B )。 A、不能计算 B、 True C、5 D、False 11 随机产生[10,50] 之间整数的正确表达式是( D )。 A、Round( Rnd*50) B、 Int(Rnd*40+10) C、Round( Rnd*51) D、 10+Int(Rnd*41) 12 每建立一个窗体,工程管理器窗口中就会增加一个(C). A、类模块文件 B、工程文件 C、窗体文件 D、程序模块文件 13 INT(100*RND(1))产生的随机整数的闭区间是(B). A、[1,100] B、[0,99] C、[0,100] D、[1,99] 14 下列数据类型中,占用内存最小的是(D). A、Integer B、Single C、Boolean D、Byte 15 VisualBasic是一种()程序设计语言.B A、过程式 B、非过程式 C、机器 D、低级 16 函数Int(10*Rnd)是在(A)范围内的整数. A、[0,9] B、[0,1] C、[1,9] D、[1,10] 17 以下合法的一组Visual Basic用户标识符是 C A、Sum 和 8abc B、a#x 和 Pi C、ForLoop 和 Total D、Const 和 DoWhile
V B考试题库,二级习题 (含答案) https://www.wendangku.net/doc/7a12098915.html,work Information Technology Company.2020YEAR
VB考试一 1、能够获得一个文本框中被选取文本的内容的属性是______。 A:SelStart B:SelLength C:SelText D:Text 参考答案:C 2、在窗体上画一个文本框,其名称为Text1,为了在程序运行后隐藏该文本框,应当使用的语句为:______。 A:Text1.Enabled = False B:Text1.Hide C:Text1.Clear D:Text1.Visible = False 参考答案:D 3、对于语句 If x=1 Then y=1, 下列说法正确的是____。 A: x=1和y=1 均为赋值语句 B: x=1和y=1 均为关系表达式 C: x=1为赋值语句,y=1为关系表达式 D: x=1为关系表达式,y=1 为赋值语句 参考答案:D 4、以下变量名中,______是不符合Visual Basic的命名规范的。 A:_mnu_Open_234 B:Abc901 C:price_ D:K 参考答案:A 5、MsgBox 函数返回值的类型是__________。 A:数值或字符串 B:字符串 C:变体 D:整型数值 参考答案:D 6、VB一共有设计、运行和中断三种模式,要使用调试工具应该______。 A:进入中断模式 B:进入运行模式 C:进入设计模式 D:不用进入任何模式 参考答案:A 7、设a=6,则执行 x=IIF(a>5,-1,0) 后,x的值为______。 A:-1 B:6 C:0 D:5 参考答案:A 8、可以同时删除字符前导和尾部空白的函数是______。 A:Mid B:Rtrim C:Trim D:Ltrim 参考答案:C 9、以下语句的输出结果是______。 Print Format$("32548.5","000,000.00")
第一部分 1 在窗体上添加一个命令按钮(名称为Cmd1,标题为"输出平均值")。程序运行后,单击命令按钮完成以下工作: ①随机产生20个0到1000的整数,将其放入一个一维数组中 ②求出所有元素的平均值,并显示在窗体上(如下图所示) Private Sub Cmd1_Click() Dim a%(19), i%, sum!, aver! Randomize For i = 0 To 19 a(i) = Int(Rnd * 1001) sum = sum + a(i) Next i aver = sum / 20 Print aver End Sub 2 请在名称为Form1的窗体上添加一个名称为Text1的文本框和一个名称为C1、标题为"转换"的命令按钮,如下图所示。在程序运行时,单击"转换"按钮,可以把Text1中的小写字母转换为大写,把大写字母转换为小写,其他字符不变。 Private Sub C1_Click() Dim ch As String, ch1 As String, i% ch = Text1 For i = 1 To Len(ch) If Asc(Mid(ch, i, 1)) >= 65 And Asc(Mid(ch, i, 1)) <= 90 Then ch1 = ch1 + LCase(Mid(ch, i, 1)) Else
ch1 = ch1 + UCase(Mid(ch, i, 1)) End If Next i Text1 = Text1 + vbCrLf Text1 = Text1 + ch1 End Sub 3 在窗体上添加一个命令按钮(名称为MyCmd1,标题为"输出最大值")。程序运行后,单击命令按钮完成以下工作: ①随机产生30个0~1000的整数,将其放入一个一维数组中 ②求出其中的最大值,并显示在窗体上。 Private Sub MyCmd1_Click() Dim a%(29), i%, max% Randomize For i = 0 To 29 a(i) = Int(Rnd * 1001) Next i max = a(0) For i = 1 To 29 If a(i) > max Then max = a(i) Next i Print max End Sub 4 请设计如下图所示窗体界面。程序运行时,在选中一个或两个复选框和一个单选按钮时,单击命令按钮,则对文本框中的文本内容做相应的设置。请编写适当的事件过程,完成上述功能。
VB模拟试题 一、选择题(15分,每题1分) 1、VB集成开发环境共有三种模式,以下 __________ 三种模式是正确? (A) 设计、运行、退出 (B)运行、中断、退出 (C) 设计、运行、中断 (D)运行、中断、结束 2、以下叙述中错误的是__________ (A) 事件过程是响应特定事件的一段程序 (B) 不同的对象可以具有相同名称的方法 (C) 对象的方法是执行指定操作的过程 (D) 对象事件的名称可以由编程者指定 3、如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是 __________ (A) 如果工程中含有Sub Main过程,则程序一定首先执行该过程 (B) 不能把含有Sub Main过程的标准模块设置为启动模块 (C) 用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体 (D) 任何时刻最多只有一个窗体是活动窗体 4、下列说法哪种正确?每次调用过程时,__________ (A) Dim声明的变量可保持原值;Static声明的变量会重新初始化。 (B) Static声明的变量可保持原值;Dim声明的变量会重新初始化。 (C) Dim、Static声明的变量都可以保持原来的值。 (D) Dim、Static声明的变量都会重新初始化。 5、表达式 5 Mod 3+3\5*2的值是__________ (A) 0 (B) 2 (C) 4 (D) 6 6、从字符串N的第5个字符开始,获取4个字符,应使用 _________。 (A) Len(N,5,4) (B) Mid(N,5,4) (C) Right(N,5,4) (D) Rtrim(N,5,4) 7、InputBox函数返回值的类型为 _________。 (A) 数值 (B) 字符串 (C) 变体 (D) 数值或字符串(视输入的数据而定) 8、语句Dim A(3, -2 to 2, 5)声明的数组A包含_________个数组元素。 (A) 120 (B) 75 (C) 60 (D) 13
1.下列不是VB常量的是 B 。 A)3.14 B)′Name ′ C)#10/18/2007# D)True 2.确定控件在窗体上位置的属性是 C 。 A)Width 和Height B)Width 和Top C)Top 和Left D)Top 和Height 3.数学表达式1≤X<10表示成正确的VB表达式为 B 。 A)1≤X<10 B)X>=1 And X<10 C) X>=1 Or x<10 D) X>=1 And <10 4. 下面的__ B ___语句可以实现:先在窗体上输出大写字母A,然后在同一行的第10列输出小写字母b。 A)Print "A";Tab(9);"b" B)Print "A";Spc(8);"b" C)Print "A";Space(10);"b" D)Print "A";Tab(8);"b" 5. 下列控件中,不能改变大小的控件是 D 。 A)TextBox B)Label C)Frame D)Timer 6.Visual Basic过程的编写是在 D 中进行的。 A)窗体窗口B)工程资源管理器窗口C)属性窗口D)代码编辑窗口 7. 在Visual Basic中,声明全局变量应该用 D 关键字。 A)Dim B)Private C)Static D)Public 8. 在Visual Basic表达式中,运算符的运算顺序为 A 。 A)算术运算符—>字符串运算符—>关系运算符—>逻辑运算符 B)逻辑运算符—>关系运算符—>字符串运算符—>算术运算符 C)字符串运算符—>算术运算符—>关系运算符—>逻辑运算符 D)关系运算符—>逻辑运算符—>算术运算符—>字符串运算符 9. 下列属于非法调用的函数是 A 。 A)sqr(-5) B)Sgn(-5) C)Exp(-5) D)Int(-5) 10. 下列能够正确输出”a=8”形式的语句是 B 。 A)print a=3+5 B)pirnt “a=”;3+5 C)print “a=3+5”D)print a=;3+5 11. 下列符号中,可以用作VB变量名的是 C 。 A)x.y.z B)3xyz C)x_yz D)Integer 12. 可以删除字符串两端空格的函数是 A 。 A)Trim B)Rtrim C)Ltrim D)Mid 13. 函数Int(Rnd*80)+1是在 D 范围内产生随机整数。 A)[0,80] B)[0,79] C)[1,79] D)[1,80]
一、单选题(30分,每小题1分) 1、(C )字节称为一个MB。 (A)1024 (B)1000K (C)1024*1024 (D)10000K 2、计算机硬件系统的五大部件是(A )。 (A)CPU、内存储器、输入设备、输出设备、外存储器 (B)运算器、控制器、存储器、输出设备、输入设备 (C)CPU、总线、存储器、外设、主板 (D)主机箱、显示器、音箱、鼠标、键盘 3、常用的输入设备有(A )。 (A)键盘、鼠标、扫描仪(B)显示器、键盘、鼠标 (C)打印机、扫描仪、键盘(D)触摸屏、打印机、鼠标 4、计算机网络的主要作用是( D )。 (A) 数据处理(B) 信息传输与数据处理 (C) 文献查询(D) 资源共享与信息传输 5、二进制数1010等于十六进制数( C )。 (A) 10 (B) 11 (C) A (D) B 6、在VB中要强制显式声明变量,可在窗体模块或标准模块的声明段中加入语句( B )。 (A) Option Base 0 (B) Option Explicit (C) Option Base 1 (D) Option Compare 7、下列程序段的执行结果为( D )。 J1 = 10 J2 = 30 If J1 < J2 Then Print J2; Print J1 (A)10 (B)30 (C)10 30 (D)30 10 8、假设变量x1是一个布尔型(逻辑型)的变量,则下面正确的赋值语句是(C ) (A) x1="False" (B) x1='False' (C) x1=False (D) x1=#False# 9、在运行阶段,要在文本框Text1获得焦点时选中文本框中所有内容,对应的事件过程是(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_SetFocus() Text1.SelStart=0 Text1.SelLength=Len(Text1.Text) End Sub (D) Private Sub Text1_Change() Text1.SelStart=0 Text1.SelLength=Len(Text1.Text) End Sub
| 最新VB题库及答案 一、选择题 第1部分 1、在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是 A、Private Sub Text1_Change() = "计算机等级考试" End Sub ] B、Private Sub Command1_Click() Caption = "计算机等级考试" End Sub C、Private Sub Form_Click() = "计算机等级考试" End Sub D、Private Sub Command1_Click() = "计算机等级考试" { End Sub 2、在一行内写多条语句时,每个语句之间用()符号分隔。 A、 , B、: C、. D、; 3、下面()是合法的变量名。 A、X_YZ B、123ABC C、INTEGER D、X-Y ] 4、下面()是合法的字符常量。 A、 ABC$ B、“ABC” C、‘ABC’ D、 ABC 5、表达式16/4 - 2^5*8 MOD 5\2的值为()。 A、14 B、 4 C、20 D、2 6、设a=”MicrosoftVisualBasic”,则以下使变量的b值为”VisualBasic”的语句是 A、b=Left(a,10) B、b=Mid(a,10) — C、b=Right(a,10) D、b=Mid(a,11,10) 7、设a="a",b="b",c="c",d="d",执行语句x = IIf((a < b) Or (c > d), "A",
1、在考生文件夹下有工程文件wy7、vbp及窗体文件wy7、frm,该程序就是不完整的,请在有?号的地方填入正确的程序代码,然后删除?及所有注释符号(即 '号),但不能修改其它部分。修改后的程序文件都保存,存盘时不得修改文件夹与文件名。 本题描述如下: 在窗体上有一个名为Text1的文本框,有三个命令按钮,名称分别就是C1、C2与C3,标题分别就是"读入"、"加密"与"存盘"。要求程序运行后,点击"读入"按钮,将文本文件in7、txt(该文件在考生文件夹下)中的文本信息读入文本框Text1中;点击"加密"按钮将Text1中的英文字母加密转换,并将转换后的结果显示到Text1中。转换方式为转换成该字母对应字母表中后两个位置的字母。例如,转换前的字母就是"a",则转换后的就是"c",转换前就是"E",转换后就是"G";点击"存盘"按钮, 则将转换后的文本框中的文本保存到out7、txt 文件中(该文件保存到考生文件夹下)。 Private Sub C1_Click() Dim strinfo As String Open "in7、txt" For Input As 1 Input #1, strinfo Close #1 Text1、Text = strinfo End Sub Private Sub C2_Click() Dim strchange As String Dim i As Integer For i = 1 To Len(Text1、Text) strchange = strchange + Chr(Asc(Mid(Text1、Text, i, 1)) + 2) Next Text1、Text = strchange End Sub Private Sub C3_Click() Open "out7、txt" For Output As 1 Print #1, Text1、Text Close #1 End Sub 2、(1)在考生文件夹下有工程文件wy5、vbp及窗体文件wy5、frm,该程序就是不完整的,请在有?号的地方填入正确内容,然后删除?及所有注释符(即'号),但不能修改其它部分。存盘时不得改变文件名与文件夹。本题描述如下: 在窗口中有一个RichText文本框控件(名称为rtx1)与一个文本框控件(名称为Text1),两个命令按钮,名称 分别为Command1与Command2,标题分别为"加入WY01、TXT"、"统计字符个数"。要求程序运行后,单击command1将考生文件夹下的wy01、txt的内容显示到rtx1中;单击"统计字符个数"按钮统计Text1中有多少个字符,将结果显示在Text1中。