VB笔试(B卷)

2019-04-22 11:25

:名姓 线 : 号 学 订 : 号 班 学 教 装 :业专级年 西华大学课程考试试题卷 ( B 卷)

试卷编号:

课程名称:高级语言程序设计(VB)(2005级) 考试时间: 120 分钟 课程代码: 试卷总分: 100 分

一、 是非判断题(1分/小题,共5分)

(判断下列各小题的叙述正确与否,如正确则在答题纸对应编号上选A,否则选B) 1. 当运行程序结束时,系统将自动执行窗体的UnLoad事件过程。

(1) 2. 无论何控件,都具有一个共同属性,这个属性是Caption。

(2)

3. VB是面向对象的程序设计语言,构成对象的三要素是窗体、控件和过程。 (3) 4. 如果设置控件的Visible属性为False,则运行时控件会隐藏 。 (4) 5. Sub与Function过程最根本的区别是Function过程可以有形参,Sub过程不可以有形参。 (5) 二、 单项选择题(1分/小题,共20分)

1. 表达式8+2*3^2\\9/8-3 mod 2的结果是( 6 )

(A) 25 (B) 24 (C) 7 (D) 7.25

2. 从键盘上输入两个字符串,分别保存的变量str1、str2中,确定第二个字符串在第一个字符串中其始位置的函数是 ( 7 ) (A) LEFT (B) Mid (C) String (D) Instr

3. 若X是一个正实数,能对X的第3位小数进行四舍五入的表达式是 ( 8 ) (A) 0.01*Int(100*(x +0.05) ) (B) 0.01*Int(100*(x +0.005) )

(C) 0.01*Int (x +0.05) (D) 0.01*Int(x +0.005) 4. 下面四个语句中,能打印显示20*30字样的是( 9 )

(A) Print"20*30" (B) Print 20*30

C) Print Chr(20)+ "*"+Chr(30) (D) Print Val("20") *Val("30") 5. 变量在窗体模块中声明为公共的。下列关于变量的陈述哪条是正确的?( 10 ) (A) 可以从项目的任何模块中存取变量

(B) 可以在窗体的任何地方存取变量,而不是在窗体模块外 (C) 只有在同一个项目的其他窗体模块中存取变量 (D) 变量不能在窗体模块中声明为公共的

6. 对一个窗体对象,其最先发生的事件是( 11 )事件。 (A) Click (B) DblClick (C) Load (D) UnLoad 7. 以下能够触发文本框Change事件的操作是( 12 )。 (A) 文本框失去焦点 (B) 文本框获得焦点

(C) 设置文本框的焦点 (D) 改变文本框的内容

8. 若要使标签控件显示时覆盖其背景内容,要设置其BackStyle属性的值为( 13 ) (A) 0 (B) 1 (C) 2 (D) 3

9. 在窗体上有一个称为cmdCommand1的命令按钮。当点击该按钮时。应该显示窗体frmNext。则在

cmdCOmmand1的点击事件程序中应该写入下列哪条语句:( 14 )

(A)Show(frmNext) (B)frmNeXt.Show。

(C)frmNext.show=true (D)frmNext.show=vbVisible

10. 在VB窗体中,如果要求在窗体中的所有变量必须先声名后使用,则应该( 15 )。

第 1 页 共 6 页

(A)在 gernal中使用语句:Option explicit

(B)在 gernal中使用语句: Option base 1

(C)在 Form_Load()中使用语句: option explicit (D)在 Form_Load()中使用语句: Option base 1

11. 在加载窗体时,下面或件中会被激发的事件为( 16 )。 (A)Click (B)DblClick (C)Load (D)KeyPress

12. 在文本框中,当用户键人一个字符时,能同时引发的事件是( 17 )。 (A)KeyPyes和Click (B)KeyPress和LOStFocus。 (C)KeyPress和Change (D)Change和LOStFocus。 13. 下拉式列表框的Clear方法的作用是( 18 )。 (A)清除当前选定项 (B)清除当前文本 (C)清除一个制定项 (D)清除所有项

14. 在过程定义的以下叙述中,不正确的是( 19 )。 (A)如果不指明参数传递方式,则将按引用方式将实参传给形参 (B)如果不指明参数传递方式,则将按传值方式将使参传给形参

(C)如果指明传值方式,则在调用该过程时,不会引起实参值的改变 (D)如果指明引用方式,则在调用该过程时,可能引起实参值的改变 15. 若要使窗体启动时处于最大化状态,可设置( 20 )属性。

(A)StartUpPosition (B)WindowState (C)Caption (D)AutoRedraw 16. 命令按钮标题热字的下划线,可通过( 21 )符号来设置。 (A)\\< (B)\\> (C)_ (D)&

17. 当鼠标在窗体上移动时,会触发哪种鼠标事件( 22 )。

(A)MouseMove (B)MouseUp (C)MouseDown (D)Click 18. 下面关于窗体事件叙述不正确的是( 23 )。 (A)通过代码调整窗体的大小,会触发一个Resize事件 (B)用鼠标单击窗体时会产生一个Click事件

(C)每当一个窗体变成活动窗体时,就会产生一个Load事件

(D)调用Show方法与设置窗体Visible属性为True具有相同的效果 19. 若想存放如下数据,其中,最为恰当的数组定义方式为:( 24 )。

5 6# 7.2e3

11.9 8.1d-1 10000

(A)Dim ArrB(2,3) As Integer (B)Dim ArrB & (2,3)

(C)Dim ArrB!(-4 to -3,2 to 4) (D)Dim ArrB(-5 to -4,-1 to 1) As Double 20. 在VB中,要将一个窗口从内存中释放,应使用的语句是( 25 )。

(A)Show (B)Hide (C)Load (D)Unload 三、 阅读分析程序(每个选择3分,共45分) 1. 设有如下程序:

Function Fun(S As String) As String Dim s1 As String

For i = 1 To Len(S)

s1 = UCase(Mid(S, i, 1)) + s1 Next i Fun = s1

End Function

在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click()

第 2 页 共 6 页

Dim Str1 As String, Str2 As String

Str1 = InputBox(\请输入一个字符串\Str2 = Fun(Str1) Print Str2

End Sub (1) 程序运行后,单击命令按钮,如果在输入对话框中输入字符串\,则单击\确定\按钮后在窗体上的输出结果为( 26 ) (A)abcdefg (B)ABCDEFG (C)gfedcba

(D)GFEDCBA

(2) 程序运行后,单击命令按钮,如果在输入对话框中输入字符串\,则单击\确定\

按钮后在窗体上的输出结果为( 27 ) (A)123456789 (B)987654321 (C)ABCDEFGJH (D)程序运行出错 (3) 在上面程序中,若修改s1 =UCase(Mid(S, i, 1)) + s1为s1 =s1+UCase(Mid(S, i, 1))程

序运行后,单击命令按钮,如果在输入对话框中输入字符串\,则单击\确定\按钮

后在窗体上的输出结果为( 28 ) (A)abcdefg (B)ABCDEFG

2. 设有如下程序:

Private Sub Form_Click() Dim N, A, B(), i, j Do

N = InputBox(\输入数组下标上界值\Loop While N > 4

ReDim B(N, N)

A = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16) For i = 1 To N

For j = 1 To N

B(i, j) = A(i * j - 1)

If (j >= i) Then Print Tab(j * 3); Format(B(i, j), \ Next j

Next i End Sub (1) 程序运行后,在以下哪种情况下会执行上述程序段( 29 )

(A)程序运行后自动被执行 (B)单击窗体(C)单击命令按钮 (D)以上说法都错 (2) 该程序段被执行时,如果在输入对话框中输入3,则单击\确定\按钮后在窗体上的输出结果

为( 30 )

(A) 1 2 3

475869(C)gfedcba (D)GFEDCBA

(B) (D) 1147123(C)

46927486923469(3) 在上面程序中,若修改If (j >= i) Then Print Tab(j * 3); Format(B(i, j), \为If (j <= i) Then

Print Tab(j * 3); Format(B(i, j), \则该程序段被执行时,如果在输入对话框中输入3,则单击\确定\按钮后在窗体上的输出结果为( 31 )

(A) 1 2 (B) (C) (D) 13147123

475869469274869234693. 设有如下程序:

第 3 页 共 6 页

Public Counter

Private Sub Command1_Click() M = Val(Text1.Text) N = Val(Text2.Text)

MN = M * N If MN = 0 Then

MsgBox \两个数都不能为0\ Exit Sub End If If M < N Then T = M M = N N = T End If

Counter = 0 Do While (N <> 0) R = M Mod N M = N N = R

Counter = Counter + 1 Loop

Print Counter Text3.Text = M

Text4.Text = MN / M

End Sub (1) 程序运行后,假设在Text1中输入12,在Text2中输入15,则单击命令按钮该程序段执行后

Counter中的值是( 32 )

(A)0 (B)1

(C)2

(D)4

(2) 程序运行后,假设在Text1中输入15,在Text2中输入12,则单击命令按钮该程序段执行后

text3和text4中的值分别是( 33 )

(A)12,15

(B)15,12

(C)3, 60

(D)3,180

(3) 程序运行后,假设在Text1中输入32,在Text2中输入30,则单击命令按钮该程序段执行后

text3和text4中的值分别是( 34 ) (A)32,30

4. 设有如下程序:

(B)30,960

(C)2, 480

(D)32,960

Public Counter

Private Sub Form_Click() Dim s As Integer, n As Integer n = 5:Counter = 0 Print fun(n)

Print fun(n + 1); n Print Counter End Sub

Private Function fun(n As Integer) Counter = Counter + 1 If n = 1 Then fun = 1

第 4 页 共 6 页

Else

fun = n * fun(n - 1) End If

End Function (1) 程序运行后,单击窗体则第一个Print语句输出结果是( 35 )

(A)5 (B)25 (C)125 (D)120 (2) 程序运行后,单击窗体则第二个Print语句输出结果是( 36 ) (A)120,5 (B)240,5 (C)720, 6 (D)720,5 (3) 程序运行后,单击窗体则第三个Print语句输出结果是( 37 ) (A)5 (B)6 (C)10 (D)11 5. 设有如下程序:

Private Sub Form_Click() Dim b As String

a = InputBox(\请输入数字\n = Val(a) sign = 1

If n < 0 Then sign = -1 n = Abs(n) End If b = \

Do

b = b + LTrim(Str$(n Mod 2)) n = n \\ 2 Loop Until n = 0 If sign = -1 Then

c = \

For i = 1 To 7 - Len(b) c = c + \ Next i c = c + b b = c End If

Print b, Len(b) End Sub (1) 该程序段被执行时,如果在输入对话框中输入127,则单击\确定\按钮后在窗体上的输出结

果为( 38 ) (A)127 3 (B)1111111 7 (C)11011100 8 (D)01111111 8 (2) 该程序段被执行时,如果在输入对话框中输入-10,则单击\确定\按钮后在窗体上的输出结

果为( 39 ) (A)0101 4

(B)1010 4

(C)10000101 8

(D)10001010 8

(3) 在上面程序中,若修改“b = b + LTrim(Str$(n Mod 2))”为“b = LTrim(Str$(n Mod 2))+b”

则该程序段被执行时,如果在输入对话框中输入13,则单击\确定\按钮后在窗体上的输出结果为( 40 )

(A)1011 4 (B)1101 4

四、 程序填空(每空3分,共30分)

第 5 页 共 6 页

(C)13 2 (D)00001011 8

1. 以下程序的功能是:生成20个200到300之间的随机整数,输出其中能被5整除的数并求出它们

的和。

Private Sub Form_Click() For i = 1 To 20

x = Int(Rnd * 101 (1) ) If x (2) 5 = 0 Then Print x

s = (3) + x End If Next i

Print \=\End Sub

2. 以下程序的功能是打印如右下图所示 的“*”行三角形。

Private Sub Form_Click()

n = InputBox(\请输入行数:\

For i = 1 To n

For j = 1 To (4) Print \ Next j

For j = 1 To (5) Print \ Next j

(6) Next i

*************************End Sub

3. 以下程序的功能是,通过调用过程Swap,调换数组中数值的存放位置,即a(1)与a(10)的值互

换,a(2)与a(9)的值互换,……,a(5)与a(6)的值互换 Private Sub Command6_Click() Dim a(1 to 10) As Integer For i = 1 To 10 a(i) = i

Next i

Call Swap( (7) ,10) For i = 1 To 10 Print a(i);

Next i End Sub

Sub Swap(ByRef b() As Integer, n As Integer) For i = 1 To (8) T = b(i)

b(i) = b( (9) ) b( (10) ) = T Next i End Sub

第 6 页 共 6 页


VB笔试(B卷).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:传统文化与现代经营管理 完美答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: