当前位置>>模拟试题>>模拟试题一  

 
模拟试题一
     
  一、选择题  
  1.Line(100,100)-Step(400,400)将在窗体_______画一直线。  
  A. (200,200)到(400,400)  
  B. (100,100)到(300,300)  
  C. (100,100)到(500,500)  
  D. (100,100)到(400,400)  
     
  2.在VB中通过_______属性来设置字体颜色。  
  A. FontColor  
  B. ForeColor  
  C. BackColor  
  D. ShowColor  
     
  3.在文件列表框中设定“文件列表”中显示文件类型应修改该控件的_______属性。  
  A. Pattern  
  B. Path  
  C. Filename  
  D. Name  
     
  4.RGB函数通过红绿蓝三基色混合产生某种颜色,某语法为RGB(红、绿、蓝),括号中红、绿、蓝三基色的成分使用0~255之间的整数。若使用三个滚动条分别输入三种基色,为保证输入数值有效,则应设置_______属性。  
  A.Max和Min  
  B.Smallchange和LargeChange  
  C.Scroll和Change  
  D.Value  
     
  5. 不能通过_______来删除列表框中的选项。  
  A .List属性  
  B. Removeltem方法  
  C. Clear方法  
  D. Test属性  
     
  6. 组合框的三种不同风格:下拉组合框、简单组合框和下拉列表框,由_______属性决定。  
  A. Style  
  B. BoderStyle  
  C. FillStyle  
  D. DrawStyle  
     
  7. 设计动画通常使用时钟控件_______来控制动画速度。
A.Enabled
B.Interval
C.Timer
D.Move
 
     
  8. 用户可以通过设置菜单项的_______属性值为FALSE来使该菜单项不可见。  
  A.Hide  
  B.Checked  
  C.Visible  
  D.Enabled  
     
  9. 通常使用_______方法来卸载当前窗体。  
  A.Load  
  B.Checked  
  C.Unload  
  D.Hide  
     
  10. 在逐行运行程序的语句时,可用调试窗口监视表达式和变量的值,其中_______窗口是用来显示代码中正在调试的语句所产生的信息,或显示直接在该窗口中键入的命令所请求的信息。  
  A. 立即  
  B. 监视  
  C. 本地  
  D. 中断  
     
  11.将CommandDialog1通用对话框以打开对话框打开,可选以下_______方法。  
  A. showopen  
  B. showcolor  
  C. showsave  
  D. showfont  
     
  12. 函数Int(10*Rnd) 是在_______范围内的整数。  
  A. [0,1]  
  B. [1,10]  
  C. [1,9]  
  D. [0,9]  
     
  13. 控件内的对齐方式由_______属性决定。
 
  A. Alignment  
  B. WordWrap  
  C. AutoSize  
  D. Style  
     
  14. _______属性决定了按Tab键时焦点在各个控件之间移动的顺序。  
  A. Index  
  B. TabStop
 
  C. Tablndex  
  D. SetFocus  
     
  15. 改变控件在窗体中的左右位置应修改控件的_______属性。  
  A. Top  
  B. Left  
  C. Width  
  D. Height  
     
  16. VB中的坐标原点位于_______。
 
  A. 容器右上角  
  B. 容器左上角  
  C. 容器正中央  
  D. 容器右下角  
     
  17. 如果从数据文件 INPUT.DAT 中读取数据时,以下打开文件方式中,正确的是_______。  
  A. OPEN INPUT.DAT FOR INPUT AS #1  
  B. OPEN INPUT.DAT FOR OUTPUT AS #1  
  C. OPEN “INPUT.DAT” FOR INPUT AS #1  
  D. OPEN “I”, #1 INPUT.DAT  
     
  18. VB程序设计中的窗体在OOP中称为_______。  
  A. 屏幕  
  B. 事件  
  C. 对象  
  D. 控件  
     
  19. 以下各表达式中, 计算结果为0的是_______。  
  A. INT(12.4)+INT(-12.6)  
  B. CINT(12.4)+CINT(-12.6)  
  C. FIX(13.6)+FIX(-12.6)  
  D. FIX(12.4)+FIX(-12.6)  
     
  20. 要改变控件的宽度,应修改该控件的_______属性。  
  A. Top  
  B. Width  
  C. Left  
  D.Height  
     
  答案:C,B,A,A,D,A,B,C,C,A,A,D,A,C,B,B,C,C,D,B  
     
  二、填空题  
  1. 清除窗体对象内容的语句:________。  
  2. 清除列表框对象内容的语句:________。  
  3. 清除组合框对象内容的语句:________。  
  4. 变量min@表示______类型的变量。  
  5. 如果:I=11:J=3:I=int(-8.6)+I\J+13/3 MOD 5,则I值是________。  
  6. 满足条件0<X<10的VB表达式:__________。  
  7. x为[0-100]之间的数,能被2整除,但不能被3整除_______。  
  8. 循环语句FOR K=1 TO 10 STEP –1控制的循环次数为_______。  
  9. 表达式1 and 0 的值_______。  
  10.随机产生100至200(不包括100和200)之间的整数的表达式为_______。  
  11. 把条件为1<=x<=5写成VB表达式为_______。  
  12. 语句Line(1000,1000)-Step(2000,1500),vbRed,BF的含义是_______。  
  13. 用随机函数产生10个100~500的整数,语句可写为_______。  
  14. 当x=2时,语句if x=2 then Print x=2的结果值是_______。  
 

15 设x的初值为5,则由下列循环语句控制的循环次数是_______。
    Do While x>=5
       x=x-1
    Loop

 
     
  答案:1. Form1.Cls、2. List1.Clear、3. Combol1.Clear、4. 货币数据、5. -2、6. X>0 and X<10、7. x>=0 and x<=100 and x mod 2=0 and x mod 3<>0、8. 0、9. False、10.Int(101*rnd)+99、11. x>=1 and x<=5、 12.在窗体上绘制以角点为(2000,2000)和(4000,3500)的红色实心的矩形、13. For I=1 to10 : a(i)=100+int(400*rnd) : next I、14. True、15.1  
     
  三、是非题  
 

1. Single 和Double型用于保存浮点数,在VB中定义单精度浮点型是8位,双精度浮点型是16位。(           )

 
  2. 用dim语句声明的局部变量能保存上一次过程调用后的值。(           )
 
  3. 利用Private Const 声明的符号常量,在代码中不可以再赋值。(           )
 
  4. 直线控件可以在窗体上拖动,因此它具有MOVE方法。(           )
 
  5. 要使定时器控件起作用,其属性Interval不可以设置为0。(           )
 
  6. 可以利用键盘光标选择菜单项,因此菜单可响应KeyPress事件。(           )
 
  7. 通用对话框只能用Show方法进行调用。(           )
 
  8. 图片框的属性Enabled设置为FALSE,图片框上的控件仍可响应用户操作。(           )
 
  9. Variant是一种数据类型,因此只能存放象其它数据类型一样的值,无特殊值。(           )
 
  10. Visual Basic提供的几种标准坐标系统的原点都是在绘图区域的左上角,如果要把坐标原点放在其它位置,则需使用自定义坐标系统。(           )
 
  11.如果一个列表框一共有5个选项,而当选中第三项时,这时列表框的ListIndex属性为2。(           )  
  12.当窗体的ScaleTop=0,ScaleLeft=0时,这个窗体Top和Left值也是0。(           )  
  13.单击并拖拽工具箱中所需的控件到窗体上即可完成添加控件任务。(           )  
  14.除了标准控件外,还可引入其它控件及第三方厂商研制的控件。(           )  
  15.TextBox与Label有许多共同特点,它们都能显示和输入文本。(           )  
 
 
  答案:1. F、2.F、 3. T、4 . F、5.T、 6. F、7.F、 8.F、 9. T、 10. T、11.T 、12.T、13. F、14 .T 、15.F 
     
  四、程序阅读题  
     
 

1. 阅读下列程序,写出运行结果。程序如下:

  Private Sub Swap1(ByVal x As Integer, ByVal y As Integer)
Dim t As Integer
t = x
x = y
y = t
End Sub
Private Sub Swap2(x As Integer, y As Integer)
Dim t As Integer
t = x
x = y
y = t
End Sub
Private Sub Command2_Click()
Dim a As Integer, b As Integer
a = 10
b = 20
Print "A1="; a, "B1="; b
Swap1 a, b
Print "A1="; a, "B1="; b
a = 10
b = 20
Print "A1="; a, "B1="; b
Swap2 a, b
Print "A2="; a, "B2="; b
End Sub
 

程序运行后,单击Command2,窗体上显示的内容是?

 
     
 

2. 阅读下列程序,写出运行结果。程序如下:

  Private Sub Command6_Click()
For j = 10 To 5 Step -2
k = j + 1
If k < 6 Then Exit For
Next j
Print k, j
End Sub
 

程序运行后,单击命令按钮Command6,窗体上输出结果是?

 
     
 

3. 阅读下列程序,写出运行结果。程序如下:

  Private Sub Command7_Click()
Dim a As Integer
a = 1: I = 0
Select Case a * 2
Case 1
a = a + 1
Case 2
a = a + 2
Case Else
a = a + 3
End Select
Print "a="; a
End Sub
 

程序运行后,单击命令按钮Command7,窗体上输出结果是?

 
     
 

4. 阅读下列程序,写出运行结果。程序如下:

  Private Sub Command8_Click()
Dim a As Integer
Open "c:\abc.txt" For Output As #1
n = 8
For I = 1 To n
Print #1, I + 1
Next I
Close #1
Open "c:\abc.txt" For Input As #1
For I = 1 To n
Input #1, a
If I Mod 5 = 0 Then Print a + 1
Next I
Close #1
End Sub
 

程序运行后,单击命令按钮Command8,窗体上输出结果是?

 
     
  答案:     
  1.
A1= 10 B1= 20
A1= 10 B1= 20
A1= 10 B1= 20
A2= 20 B2= 10
 
  2. 7 4  
  3. a= 3  
  4. 7  
     
  五、程序改错  
     
 

1. 下列Command1的单击事件过程的功能是,从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分,要求输出取法的数量及每一种取法的一分、二分、五分的个数。程序中有4处错误,请改正过来。

  Private Sub Command1_Click()
Dim one As Integer '一分硬币个数
Dim two As Integer '二分硬币个数
Dim five As Integer '五分硬币个数
Const n = 20 '总数20枚
Dim k As Integer '取法数量
k = 0
For one = 1 To n
For two = one + 1 To n '-----错误1
five = n - one - two
If one + two + five = 60 Then '-----错误2
k = k + 1
Print "one="; one; "two="; two; "five="; five
End If
Next one '-----错误3
Next two '-----错误4
Print "k="; k
End Sub
 

 

 
 

2. 下列Command1的单击事件过程用于查找一个5行4列的二维数组中行平均值最大的行,并将该行所有数据调整到第一行的位置。程序中DataProduce 过程用于产生原始数据;Average 过程用于计算各行的平均值;PrintArray过程用于打印二维数组和行平均值。程序中有4处错误,请改正过来。

  Dim a(1 To 5, 1 To 4) As Integer ’在窗体的通用部分定义
Dim ave(1 To 5) As Integer’在窗体的通用部分定义
Private Sub Command1_Click()
Dim i As Integer
Dim j As Integer
Dim temp As Integer
Dim Line_no As Integer '最大平均值的行号
'找出最大平均值所在行
Line_no = 1
DataProduce
Average
For i = 2 To 5
If ave(Line_no) >= ave(i) Then '-----错误1
Line_no = ave(i) '-----错误2
End If
Next i
'交换第一行与最大平均值所在行
For j = 1 To 4
temp = a(1, j)
a(Line_no, j) = a(1, j) '-----错误3
a(Line_no, j) = temp
Next j
'交换对应行的平均值
temp = ave(1)
ave(1) = ave(Line_no)
ave(Line_no) = temp
'打印交换后的数据
Print "交换后的数据和平均值"
PrintArray
End Sub
 
  Public Sub DataProduce()
Dim i As Integer
Dim j As Integer
'产生5*4数组
For i = 1 To 5
For j = 1 To 4
a(i, j) = Int(100 * Rnd)
Next j
Next i
End Sub
 
  Public Sub Average()
Dim i As Integer
Dim j As Integer
Dim sum As Integer
'计算各行平均值
For i = 1 To 5
sum = 0
For j = 1 To 4
sum = a(i, j) '-----错误4
Next j
ave(i) = sum / 4
Next i
'将数组和平均值打印出来
Print "原始数据和平均值"
PrintArray
End Sub
 
  Public Sub PrintArray()
Dim i As Integer
Dim j As Integer
For i = 1 To 5
For j = 1 To 4
Print a(i, j); Spc(3);
Next j
Print "平均值="; ave(i)
Next i
End Sub
 

 

 
  1. 答案:
错误1改正为:For two = 1 To n - one
错误2改正为:If one + two * 2 + five * 5 = 60 Then
错误3改正为:Next two
错误4改正为:Next one
 
  2. 答案:
错误1改正为:If ave(Line_no) < ave(i) Then
错误2改正为:Line_no = i
错误3改正为:a(1, j) = a(Line_no, j)
错误4改正为:sum = sum + a(i, j)
 
     
  六、综合编程  
 

1. 编一帐号和密码输入的检验程序。对输入的帐号和密码规定如下:
(1)帐号为不超过6位数字,密码为6位字符,在本题中,密码假定为“123456”。
(2)密码输入时在屏幕上不显示输入的字符,而以“*”代替。
(3)当输入不正确,如帐号为非数字字符或密码不正确时,显示有关信息。
(4)当输入正确时,关闭密码窗口,显示Windows操作系统的记事本窗口。
按要求完成有关控件的属性的设置,编写确定按钮的单击事件过程。相关界面如下列各图所示。

                                          

 
     
  2. 将C盘根目录下的一个文本文件old.dat复制到新文件new.dat中,并利用文件操作语句将old.dat文件从磁盘上删除。  
     
  答案:  
  1.  
 

Private Sub Form_Load()
Text1.MaxLength = 6
Text2.PasswordChar = "*"
End Sub
Private Sub Text1_LostFocus()
Dim i As Integer, s As String * 1
If Not IsNumeric(Text1.Text) Then
MsgBox "账号有非数字符号!", vbExclamation + vbRetryCancel, "输入账号"
Text1.Text = ""
Text1.SetFocus
Exit Sub
End If
If Len(Text1.Text) > 6 Then
MsgBox "账号不能多于6位!", vbExclamation + vbRetryCancel, "输入账号"
Text1.Text = ""
Text1.SetFocus
End If
End Sub
Private Sub Command1_Click()
If Text2.Text = "123456" Then
Me.Hide
Shell "c:\winnt\notepad.exe", vbMaximizedFocus
Else
MsgBox "密码错误", vbCritical + vbRetryCancel, "输入密码"
Text2.Text = ""
Text2.SetFocus
End If
End Sub
Private Sub Command2_Click()
End
End Sub

 
     
  2.  
  Private Sub Command1_Click()
Dim strl As String
Open "c:\old.dat" For Input As #1
Open "c:\new.dat" For Output As #2
Do While Not EOF(1)
Input #1, strl
Print #2, strl
Loop
Close #2, #1
Kill "C:\old.dat"
End Sub