第三部分测试题 模拟测试题一 一、 单选题(每题2分,共60分) 1. 在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下事件过程: Private Sub Command1_Click() Counter=0 For i=1 To 4 For j=6 To 1 Step -2 Counter=Counter+1 Next j Next i Label1.Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是。 A. 16B. 20C. 12D. 11 2. 有如下程序: Option Base 1 Private Sub Form_Click() Dim arr, Sum Sum = 0 arr = Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19) For i = 1 To 10 If arr(i) / 3 = arr(i) \ 3 Then Sum = Sum + arr(i) End If Next i Print Sum End Sub 程序运行后,单击窗体,输出结果为。 A. 28B. 25C. 26D. 27 3. 设在窗体上有一个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是。 A. Combo1.RemoveItem 4 B. Combo1.RemoveItem Combo1.Text C. Combo1.RemoveItem Combo1.ListCount D. Combo1.RemoveItem 5 4. 符号%是声明类型变量的类型定义符。 A. VariantB. IntegerC. SingleD. String 5. 图像框有一个属性,可以自动调整图像框的大小,以适应图像的尺寸,这个属性是。 A. StretchB. AutoSizeC. AutoRedrawD. Appearance 6. 以下叙述中错误的是。 A. 全局变量一般在标准模块中定义 B. 在一个窗体文件中,用Private定义的通用过程能被其他窗体调用 C. 在设计VB程序时,窗体、标准模块、类模块等需要分别保存为不同类型的磁盘文件 D. 一个工程中可以包含多个窗体文件 7. 在窗体上画一个命令按钮,然后编写如下程序: Sub S1(ByVal x As Integer, ByVal y As Integer) Dim t As Integer t = x x = y y = t End Sub Private Sub Command1_Click() Dim a As Integer, b As Integer a = 10 b = 30 S1 a, b Print "a="; a; "b="; b End Sub 程序运行后,单击命令按钮,输出结果是。 A. a= 10 b= 10B. a= 30 b= 30 C. a= 10 b= 30D. a= 30 b= 10 8. 设x=4,y=6,则以下不能在窗体上显示出A=10的语句是。 A. Print A=x+yB. Print "A=";x+y C. Print "A="&x+yD. Print "A="+str(x+y) 9. 下列语句都是在Form中定义的,是错的。 A. Private a4 As IntegerB. Public Const A1 = 2u C. Private Const A2 = 8D. Public a3 As Integer 10. 设有如图1所示的窗体和以下程序: 图1窗体 Private Sub Command1_Click() Text1.Text="Visual Basic" End Sub Private Sub Text1_LostFocus() If Text1.text<>"BASIC" Then Text1.Text="" Text1.SetFocus End If End Sub 程序运行时,在Text1文本框中输入Basic(如图所示),然后单击Command1按钮,则产生的结果是。 A. 文本框中为Basic,焦点在按钮上 B. 文本框中为Basic,焦点在文本框中 C. 文本框中无内容,焦点在文本框中 D. 文本框中为Visual Basic,焦点在按钮上 11. 以下关于菜单的叙述中,错误的是。 A. 弹出式菜单在菜单编辑器中设计 B. 在程序运行过程中可以增加或减少菜单项 C. 利用控件数组可以实现菜单项的增加或减少 D. 如果把一个菜单的Enabled属性设置为False,则可删除该菜单项 12. 假定有以下循环结构: Do Until 条件表达式 循环体 Loop 则以下正确的描述是。 A. 如果“条件表达式”的值恒为0,则无限次执行循环体 B. 如果“条件表达式”的值不为0,则至少执行一次循环 C. 不论“条件表达式”的值是否为“真”,至少要执行一次循环 D. 如果“条件表达式”的值是0,则一次循环体也不执行 13. 若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的属性。 A. BackStyleB. BorderStyleC. ForeColorD. BackColor 14. 为了清除列表框中的所有内容,应使用的方法是。 A. RemoveItemB. ClearC. RemoveD. Cls 15. 以下叙述中正确的是。 A. 可以在运行期间改变窗体的Name属性的值 B. 窗体的Name属性值是显示在窗体标题栏中的文本 C. 窗体的Name属性指定窗体的名称,用来标识一个窗体 D. 窗体的Name属性值可以为空 16. 目录列表框的Path属性的作用是。 A. 显示根目录下的文件名 B. 显示当前驱动器或指定驱动器上的目录结构 C. 显示该路径下的文件 D. 显示当前驱动器或指定驱动器上的某目录下的文件名 17. 在窗体上画一个命令按钮和一个文本框,并把窗体的KeyPreview属性设置为False,然后编写如下代码: Dim SaveAll As String Private Sub Command1_Click() Text1.Text = UCase(SaveAll) End Sub Private Sub Form_KeyPress(KeyAscii As Integer) SaveAll = SaveAll + Chr(KeyAscii) End Sub 程序运行后,在键盘上输入abcdefg,单击命令按钮,则文本框中显示的内容为。 A. 不显示任何信息B. abcdefgC. ABCDEFGD. 出错 18. 窗体上有一个名称为Text1的文本框和一个名称为Command1的命令按钮。要求程序运行时,单击命令按钮,就可把文本框中的内容写到文件out.txt中,每次写入的内容附加到文件原有内容之后。下面能够正确实现上述功能的程序是。 A. Private Sub Command1_Click() Open "out.txt" For Random As #1 Print #1,Text1.Text Close #1 End Sub B. Private Sub Command1_Click() Open "out.txt" For Output As #1 Print #1,Text1.Text Close #1 End Sub C. Private Sub Command1_Click() Open "out.txt" For Append As #1 Print #1,Text1.Text Close #1 End Sub D. Private Sub Command1_Click() Open "out.txt" For Input As #1 Print #1,Text1.Text Close #1 End Sub 19. 以下数组定义语句中,错误的是。 A. Static a(10) As IntegerB. Dim b(0 To 5,1 To 3) As Integer C. Dim d(-10)D. Dim c(3,1 To 4) 20. 有一个名称为Form1的窗体,上面没有控件,设有以下程序(其中方法PSet(X,Y)的功能是在坐标X、Y处画一个点): Dim cmdmave As Boolean Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) cmdmave=True End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If cmdmave Then Form1.PSet(X,Y) End If End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) cmdmave=False End Sub 此程序的功能是。 A. 每按下鼠标键一次,在鼠标所指位置画一个点 B. 按下鼠标键,则在鼠标所指位置画一个点; 放开鼠标键,则此点消失 C. 按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线 D. 不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线 21. 在窗体上画两个名称分别为Text1、Text2的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim x As Integer, n As Integer x = 1 n = 0 Do While x < 20 x = x * 3 n = n + 1 Loop Text1.Text = Str(x) Text2.Text = Str(n) End Sub 程序运行后,单击命令按钮,在两个文本框中显示的值分别是。 A. 600和4B. 27和3C. 195和3D. 15和1 22. 决定一个窗体有无控制菜单的属性是。 A. MaxButtonB. CaptionC. MinButtomD. ControlBox 23. 下列程序段的执行结果为。 N = 10 For K = N To 1 Step -1 X = Sqr(K) X = X - 2 Next K Print X - 2 A. 1.16227765B. -1C. 1D. -3 24. 在窗体上画一个名称为Command1的命令按钮和两个名称分别为Text1、Text2的文本框,然后编写如下事件过程: Private Sub Command1_Click() n=Text1.Text Select Case n Case 1 To 20 x= 10 Case 2,4,6 x=20 Case Is<10 x=30 Case 10 x=40 End Select Text2.Text=x End Sub 程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是。 A. 40B. 20C. 30D. 10 25. 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim array1(10, 10) As Integer Dim i, j As Integer For i = 1 To 3 For j = 2 To 4 array1(i, j) = i + j Next j Next i Text1.Text = array1(2, 3) + array1(3, 4) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是。 A. 15B. 13C. 14D. 12 26. 要使一个命令按钮成为图形命令按钮,则应设置其属性值。 A. DownPictureB. Style C. PictureD. DisabledPicture 27. 下列表达式中不能判断x是否为偶数的是。 A. x Mod 2=0B. x/2=Int(x/2) C. Fix(x/2)=x/2D. x\2=0 28. 在窗体上有一个文本框控件,名称为TxtTime; 一个计时器控件,名称为Timer1,要求每一秒在文本框中显示一次当前的时间。程序为: Private Sub Timer1() TxtTime.text=Time End Sub 在下画线处应填入的内容是。 A. IntervalB. VisibleC. EnabledD. Timer 29. 以下关于过程及过程参数的描述中,错误的是。 A. 过程的参数可以是控件名称 B. 窗体可以作为过程的参数 C. 只有函数过程能够将过程中处理的信息传回到调用的程序中 D. 用数组作为过程的参数时,使用的是“传地址”方式 30. 以下合法的Visual Basic标识符是。 A. 9abcB. ConstC. ForLoopD. a#x 二、 填空题(每题4分,共20分) 1. 执行下面的程序段后,变量S的值。 S=5 For i=2.6 To 4.9 Step 0.6 S=S+1 Next i 2. 下列表达式有错误,正确的写法应该是。 (a+b+c)/80-5÷(d+e) 3. 下列语句的执行结果是。 Print Int(12345.6789*100+0.5)/100 4. 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(1 To 100) As Integer For i = 1 To 100 arr(i) = Int(Rnd * 1000) Next i Max = arr(1) Min = arr(1) For i = 1 To 100 If Then Max = arr(i) End If If Then Min = arr(i) End If Next i Print "Max="; Max, "Min="; Min End Sub 程序运行后,单击命令按钮,将产生100个1000以内的随机整数,加入数组arr中,然后查找并输出这100个数中的最大值Max和最小值Min,请填空。 5. 在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下事件过程: Private Sub Command1_Click() x = 0 Do While x < 50 x = (x + 2) * (x + 3) N = N + 1 Loop Text1.Text = Str(N) Text2.Text = Str(x) End Sub 程序运行后,单击命令按钮,Text1中显示的值是; Text2中显示的值是。 三、 VB(每题10分,共20分) 1. 请根据以下各小题的要求设计Visual Basic应用程序(包括界面和代码)。 (1) 在Form1的窗体上画一个名称为P1的图片框,然后建立一个主菜单,标题为“操作”,名称为Op,该菜单有两个子菜单,其标题分别为“显示”和“清除”,名称分别为Dis和Clea,编写适当的事件过程。程序运行后,如果单击“操作”菜单中的“显示”命令,则在图片框中显示“等级考试”; 如果单击“清除”命令,则清除图片框中的信息。程序的运行情况如图2所示。