当前位置:文档之家› 2012年5月份11级本科VB期末复复习

2012年5月份11级本科VB期末复复习

2011—2012学年度第二学期VB期末复习

一、单选题

1.用户通过__________模拟屏幕的小图像来布置应用程序。

A)窗体设计器 B)快捷菜单 D)立即窗口 D)窗体布局窗口

2.以下描述中正确的是_______________。

A)标准模块中的任何过程都可以在整个工程范围内被调用

B)在一个窗体模块中可以调用在其它窗体中被定义为Public的通用过程

C)如果工作中包含Sub Main过程,则程序一定首先执行第一个建立的窗体 D)如果工作中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体 3.在设计阶段,双击窗体Form的空白处,打开代码窗口,显示_______事件

过程模板。

A. Form_click

B.Form_load

C.Load

D. Unload

4.以下不属于Visual basic的三种工作模式的是______________。

A)编辑 B)设计 C)运行 D)中断

5.将命令按钮Command1设置为不可见,应修改该命令按钮的( )属性。

A、Visible

B、Value

C、Caption

D、Enabled

2. 指示一个窗体位置的值是窗体的( )。

a) 对象 b) 事件 c) 属性 d) 方法

6. 将文本框的__________属性设置为True时,文本框可以输入或显示多行

文本,且会自动换行。

A.Multiline B.Sccollbars C.Text D.Enabled

7.在标签框上显示的内容由( )属性来实现。

a) Name b) Caption c) Text d) ForeColor

8.阅读程序:

Private Sub Command1_Click( )

For i=1 To 10

a=a + 2*i

Next i

End Sub

程序运行后,单击命令按纽,a值为:___ ____。

A.10 B.9 C.55 D.110

9.如果在运行时不允许移动窗体,可以将窗体的________属性设计为False。A)BorderStyle B) ControlBox C)Moveable D) WindowsState 10. 在运行时,系统自动启动窗体的_________事件过程。

A)Click B) GotFocus C) Load D) Unlosd

11. 如果设计时在属性窗口将命令按钮的 属性设置为False,则运行

时按钮从窗体上消失。

A. Visible

B. Enabled

C. DisabledPicture

D. Default

12. 设有数组说明语句:Dim c(1 To 10),则下面表示数组c的元素选项中( )是错误的。

a) c(5-1) b) c(5+0.5) c) c(0) d) c(10)

13.为了在按下ESC键时执行某个命令按钮的事件过程,需要把此命令按钮的___________设置为True。

A)Value B) Default C)Cancel D)Enabled

14.要在垂直位置上移动控件,应利用控件的( )属性。

A、Left

B、Width

C、Top

D、Height

15.要强制显示声明变量,可以在窗体模块或标准模块人声明段中加入语句____________。

A.Option Base 0 B.Option Explicit C.Option Base 1 D.Option Compare 16.________属性可以获得文本框中被选取的文本内容。

A.Text B.SelStart C.SelText D.length

17.为了暂时关闭计时器,应把该计时器的某个属性设置为False,这个属性是_______。

A.Timer B.Enabled C.Interval D.Visible

18.由For k=10 to 0 step -3:next k循环语句控件的循环次数是( )A、0 B、4 C、5 D、10

19.假设x=3,y=6,z=5,则表达式(x^2+y)/z是_________________。

A)1 B)5 C)3 D)2.4

20.表达式Left(“how are you”,3)的值是_______________。

A.how B.are C.you D.how are you

21. 标准模块中的代码存放在以( )为扩展名的文件中。

a) .frm b) .bas c) .cls d) .txt

22. 语句x=x+1的正确函义是________________。

A.变量X与X+1的值相等

B.将变量X的值存到X+1中去

C.将变量X的值加1后赋给变量X

D.变量X的值为1

23. 在过程体中退出子过程的语句是( )。

a) Exit Do b) Exit For

c) Exit Sub d) Exit Function

24. 关于变量的作用域,正确的描述是( )。

a) 在模块内定义的变量,其作用域必定为所在模块。

b) 同一模块中不同级的变量不能同名。

c) 一模块中所有在过程之外用Dim定义的变量为全局变量。

d) 不同模块中定义的变量名字可以相同

25. 下列表达式中,其值为0的是( )

A、7/9

B、7mod 15

C、7\9

D、15 mod 9

26. 产生[10,37]之间的随机整数的Visual Basic表达式是__________________。

A)Int(Rnd(1)*27)+10 B)Int(Rnd(1)*28)+10

C)Int(Rnd(1)*27)+11 D)Int(Rnd(1)*28)+11

27. 改变驱动器列表框的Drive属性将引发( )事件。

a) Load b) Click c) Pattern change d) Change

28.如果将布尔常量True赋给一个整型变量,则整型变量的值为_______。 A)0 B)-1 C)True D)False

29. 下列选项中,把r定义为双精度型变量的是( )。

a) r% b) r! c) r# d) r$

30. Print sgn(-6^2)+abs(int(-234.12))的输出结果为________。

A)-300 B)300 C)256 D)234

31函数Int(Rnd*99+1)产生随机数的范围是( )。

a) [1,99) b) [1, 99] c) [1,100) d) [1,100]

32.以下程序运行结果 。

Private Sub Form_Click()

Dim M(10)

For i =1 To 10

M(i) =3* i

Next i

Print M(M(3))

End Sub

A)18 B)6 C)27 D)4

33.下列程序段的执行结果为_________。

x=1:y=2

z=x=y

Print x;y;z

A.1 1 2

B.1 1 1

C.False False 1

D.1 2 False

34. 下列程序的执行结果是________。

J1=10

J2=30

If j1

Print j1

A.10

B.30

C.10 30

D.30 10

35.下列程序的执行结果是________。

A=”abcd”

B=”bcde”

E=right(a,3)

F=mid(b,2,3)

If e

A.cdebcd

B.cdd

C.cdcd

D.bcdcde

36.下列程序段的执行结果为 。

Private Sub Form_Click()

Dim i As Integer, j As Integer, s As Integer

For i = 8 To 6 Step -1

s = 0#

For j = i To 5 Step -1

s = s + i * j

Next j

Next i

Print s

End Sub

A)90 B)45 C)135 D)66

37.执行语句a=iif(5>10,1,-1)后,变量a的值为__________。

A.5

B.10

C.1

D.-1

38.跳出do --while循环程序,可使用语句 。

A. EXIT

B. END

C. EXIT loop

D. EXIT DO

39.菜单项能触发的事件有_________。

A. MouseDown

B. MouseDown和Click

C. Click

D. Click和DblClick

40. 下列代码的运行结果是________。

Private Sub Command1_Click()

s = 0

n = 100

For I = 1 To n

s = s + I

If I Mod 10 = 0 Then Print "*" ;

Next I

End Sub

A. 10个"*"

B. 25个"*"

C. 4个"*"

D. 5个"*"

41.下列命令中 可实现对顺序文件的写操作。

A. Print

B. Line Input

C. Input

D. Put

42.下列程序的执行结果为 。

n = 0

j = 1

Do Until n > 3

n = n + 1

j = j + n * (n + 1)

Loop

Print j; n

A. 1 0

B. 41 4

C. 13 3

D. 7 3

43.下列命令中 可实现对顺序文件的写操作。

A. Print

B. Line Input

C. Input

D. Put

44. 要清除组合框combo1中的所有内容,可以使用_______语句。

A)Private Sub Command1_Click()

Combo1.cls

End Sub

B)Private Sub Command1_Click()

Combo1.Clear

End Sub

C)Private Sub Command1_Click()

Combo1.delete

End Sub

D)Private Sub Command1_Click()

Combo1.remove

End Sub

45.在代码中定义了一个子过程:

Sub P(a,b)

End Sub

以下调用正确的是____________。

A.Call p

B.Call p 10,20

C.Call P(10,20)

D.p(10,20)

46. 目录列表框和文件列表框都有( )属性。

a) List b) value c) Path d) Pattern

47. 跳出for--next循环程序,可使用语句 。

A. EXIT

B. END

C. EXIT loop

D. EXIT for

48. ( )不能在标准模块中定义。

a) 事件过程 b) 子过程可以 c) 函数过程可以 d) 公共过程

49. 设有数组声明语句:

Option base 0

Dim b(-1 to 10,2 to 9,20) as integer

则数组B中共有__________个元素。

A)1700 B)1747 C)2016 D)2310

50. 由For k=10 to 0 step 3:next k循环语句控件的循环次数是( )

A、12

B、0

C、-11

D、-10

51.下面的_________事件是在窗体装入工作区激发的事件。

A. MouseUp

B. Load

C. Click

D. DblClick

52.在窗体上画一个命令按钮(名称为Command1)编写如下事件过程: Private Sub Command1_Click()

b = 20

a = 20

c = 50

Print c =a+ b

End Sub

程序运行后,单击命令按钮,输出的结果是_______。

A.40 B.50 C.False D.true

53.设已经在窗体画好一个容器控件,要在容器中建立一个命令按钮组,以下操作正确的是______.

A.逐次单击工具中,再在容器中画出按钮;

B.在容器上画出按钮,选择按钮,复制,粘贴,并创建控件数组,再重复粘贴

C. 在容器上画出按钮,选择按钮,复制,再选择容器,粘贴,并创建控件数组,再重复粘贴

D.在容器上画一个按钮,按下Ctrl同时拖动按钮到容器中的另一个位置.

54. 执行语句For i=1 to 3: i=i+1 :Next i后变量i的值是( )。

a) 3 b) 4 c) 5 d) 6

55. 要想在过程调用后两个结果,下面的过程定义合法的语句是________.

A. Sub proc1(byval m)

B. Sub proc1(n,byval m)

C. Sub proc1(n,m)

D.Sub proc1(byval n,m)

56. 改变驱动器列表框的Driver属性将激活_____事件。

A.Change B.Scroll C.KeyDown D.KeyUp

57. 下列程序代码,以 方式传递数据。

Function Result(ByVal MyData)

End Function

A. ByVal(数值)

B. By reference(参考)

C. 条件不足,视程序代码而定

D. 递归

58. 以下描述中正确的是_______________。

A)标准模块中的任何过程都可以在整个工程范围内被调用

B)在一个窗体模块中可以调用在其它窗体中被定义为Public的通用过程

C)如果工作中包含Sub Main过程,则程序一定首先执行第一个建立的窗体 D)如果工作中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体

59. 下列控件中( )不能接受GotFocus和LostFocus事件。

a) 命令按钮 b) 组合框 c) 复选按钮 d) 计时器

60. 改变驱动器列表框的Driver属性将激活_____事件。

A)Change B)Scroll C)KeyDown D)KeyUp

61. 用于显示弹出式菜单的方法名是_____________。

A)Showpopup B)ShowpopupMenu C)popupMenu D)ShowMenu 62.单机滚动条两端的任何一个滚动箭头,将触发该滚动条的( )事件。

A、Scroll B 、KeyDown C、change D、Drag

63. 在运行程序时,要使文本框获得焦点,则需使用( )方法。

a) Change b) SetFocus c) GotFocus d) Move

64. 设X是一个正实数,对X的第二位小数四舍五入可使用的函数是( )。

a) Int(X+0.05)/10 b) Int((X+0.05)/10)

c) Int(10*(X+0.05))/10 d) Int(10*(X+0.05)/10)

65. 若使标签框根据所显示内容自动调整其大小,则可以通过设置( )属性值为True来实现。

a) AutoSize b) Alignment c) Enabled d) Visible

二、填空题

1.表达式300 + “200”的值为 _300200__。要得到颜色对话框中用户所选择的颜的属性是__color_。

2.如下过程:

Function sum(x as integer,y as integer) as integer

Sum=x+y

End function

则函数过程为___全局_级过程,参数x和y的传递方式为__按地址传递__。 3.表示条件:变量x能被5整除的偶数的布尔表达式是x mod 5=0 and x mod 2=0

4.运行时,要在图片框p1中打印字符串”How?”,应该使用语句 p1.print “How ?”.

5.执行Keypress事件过程时,KeyAscii表示键的ASCII值。

6.为使VB的编译程序自动检查变量声明,遇到未经说明的标识符发出错误

警告信息,在程序中要加上____ Option Explicit ___语句。

7.模块级过程应该用__private__作为修饰。

8.在KeyPress事件过程中,KeyAscii是所按键__ascii__的值。

9. 在VB中,其对话框主要分为三类,它们分别是预定义、自定义、通用对

话框

10.程序的输出结果__10 110_。

Private Sub sub1(ByVal a As Integer, b As Integer)

a = a + b:

b = b + a

End Sub

Private Sub Form_Click()

Dim x As Integer, y As Integer

x = 10: y = 20

Call sub1(x, y)

sub1 x, y

Print x; y

End Sub

11.若要使计时器每0.5钞钟触发一次Timer事件,则要把InterVal属性值

设置为____500_____。

12. 新建一个工程,内有两个窗体,窗体Form1上有一个命令按钮Command1,单击该按钮,Form1窗体消失,显示Form2窗体,程序如下:

Private Sub Command1_Click()

__form.hide____

Form2.show

End Sub

11.若调用过程时,采用值传递方式,则应在形参说明前添加关键字byval 。

12.VB应用程序主要由窗体模块、标准模块、类模块等三种模块组成

13.表示条件“变量X为能被5整除的奇数”的布尔表达式是: x mod 5=0 and x mod 2=0 。

14.若要定义一个元素为整型数据的二维数组a,且第一维的下标从0到5,第二维下标从-3到6,则数组说明语句为_ Dim a(0 To 5,-3 To 6) As Integer _。

15.假设某一过程如下:

Private Sub cmd1_Click()

Form1.Caption=”VB示例”

End Sub

则响应该过程的对象名是_ cmd1_事件名是__ Click _。

16.全局变量必须在标准模块中定义,所使用的语句为Publicb

17. 控件数组中的每一个控件都有惟一的下标,下标值由_ Index_属性指定。

19. 控件数组是由一组类型和名字相同的控件组成,共享__同一个事件过程_。

20.假设一个文本框的Name属性为Text1,为了在该文本框中显示“Hello”,所使用的语句为Text1.text=“Hello”

21. 若标准模块中以关键字private定义函数过程,则该函数过程只能在___该标准模块__中使用。

22. Visual basic 采用了__事件驱动_编程机制。

23. 文件列表框控件的_filename__属性用于返回或设置被选定的文件的文件名。

24. 如果在设计时在属性窗口将命令按钮的_ Enabled _属性设置为False,则运行时按钮将不起作用。

25.把一个文本框设置为多行文本框的方法是 _____text1.MultiLine=true__。

26. a 和b 中有仅只有一个不为1,相应的Visual Basic逻辑表达式为_____ a<>1 xor b<>1_____。

27. 给命令按钮Command2的Caption属性赋予字符串“退出”使用的赋值语句为_ Command2.Caption="退出"。

28. Option Base 1语句用于指定数组的默认下界为1。

29. 菜单分为下拉、弹出菜单,菜单总与窗体相关联,设计菜单需要在菜单编辑器中进行。

30. 要清除组合框combo1中的所有内容,可以使用_ Combo1.Clear语句

31.要得到字体对话框中用户所选择的字体名字、大小、颜色的属性分别是Fontname、FontSize、FontColor

32.若要加载一个新窗体,可以使用load语句实现;若要卸载一个窗体,可以unload语句实现。

33.全局变量必须在标准模块中定义,所使用的语句为Public。

34. VB是以____事件驱动____ 作为运行机制的新一代可视化程序设计语言。

35. 数学式子10≤x≤15 对应的VB表达式为_x>=10 and x<=15_ 。

36._标识符_用于标记用户自定义的常量、类型、变量、控件、过程、函数等名字。

37.记时器控件能有规律地以一定时间间隔触发__timer_事件,并执行该事件

过程中的程序代码。

38.函数过程定义中至少有一个赋值语句把表达式的值赋给_函数过程名__。

39.a=1或者b=1,相应的Visual Basic逻辑表达式为 a=1 or b=1 。

三、程序填空

1. 以下程序在D盘建立一个名为data.txt的顺序文件,要求在文本框中输入若干英文单词,每按下回车键就将文本框中内容写入文件并清空文本框内容。直到输入“-1”时为止。

Private Sub Form_Load()

Open "d:\data.txt" For Output As #1

Text1.Text = ""

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii = 13 Then

If text1.text=”-1” Then

Exit sub

Else

Print #1,text1.text

Text1.Text = ""

End If

End If

End Sub

2.以下程序判断从文本框text1中输入的数据,如果该数据满足如下条件:除3余2,除5余3,除7余4,则输出之.否则将焦点定位在文本框中,选中其中的文本.

Private Sub Command1_Click()

x = Val(Text1.Text)

If x Mod 3 = 2 And x Mod 5 = 3 And x Mod 7 = 4 Then

Print x

Else

Text1.SetFocus

Text1.SelStart = 0

Text1.SelLength = Len(Text1.Text)

End If

End Sub

3. 以下程序是将整型动态数组X声明为具有20个元素的数组,并给所有元素赋值为1。

Dim x( ) As Integer

Private Sub Command1_Click()

ReDim x(1 To 20)

For i = 1 To 20

x(i) = 1

Print x(i)

Next i

End sub

4.以下程序段挑最大数和最小数。

Private Sub Form_Click()

Dim a(10) As Integer

For i = 1 To 10

a(i) = Int(Rnd * 101)

Print a(i);

Next i

Max = a(1)

Min = a(1)

For i = 2 To 10

If Max < a(i) Then

__ Max = a(i)____

End If

____ Min > a(i)____Then

Min = a(i)

End If

Next i

Print Max, Min

End Sub

5. 以下程序用于输出20个在开区间(10,50)中的随机整数R,每行5个数。Private Sub Command1_Click()

For i = 1 To 20

r = Int(10 + Rnd * 50)

Print r;

If i Mod 5 = 0 Then Print

Next i

End Sub

6. 搬砖问题:36块砖,男的搬4块,2个小孩抬一块,女的搬3块,要求一次搬完,需要多少人。

Private Sub Command1_Click()

For male = 1 To 9

For female = 1 To 12

For boy = 2 To 72 Step 2

If boy + female + male = 36 And male * 4 + female * 3 + boy * 1 / 2 = 36 Then

Print male, female, boy

End If

Next boy

Next female

Next male

7. 以下程序用于判断输入的年份是否是闰年, 闰年的条件是:年号(Y)能

被4整除,但不能被100整除;年号能被400整除。

Private Sub Command1_Click()

y = InputBox("请输入年份")

If _ y mod 4=0 and y mod 100<>0 or y mod 400=0_Then

Print y & "是闰年"

Else

Print y & "不是闰年"

End If

End Sub

8. 求满足1^2+2^2+…+n^2>1000的最小n值。

Private Sub Command1_Click( )

Dim n%, s&

n = 0: s = 0

While __ s <= 1000___

n = n + 1

__ s = s + n ^ 2____

Wend

Print: Print: Print

Print Tab(8); "满足1^2+2^2+…+n^2>1000的最小n值为:"; n

End Sub

9. 输入若干个正实数,个数预先不能确定,求这些正实数之和(输入负数退出)。Private Sub Command2_Click()

Cls

Dim a!, s!

a = InputBox("输入一个实数:")

Do Until ___ a < 0 ______

_____ s = s + a _________

a = InputBox("输入一个实数:")

Loop

Print: Print: Print

Print Tab(15); "输入的正实数之和为:"; s

End Sub

10. 以下程序用于计算N=1+(1+3)+(1+3+5)+ (1+3+5+ (39)

Private Sub Command1_Click()

t = 0

m = 1

Sum = 0

Do

t = t + m

Sum = Sum + t

m = m + 2

Loop While m <= 39

Print "sum="; Sum

End Sub

11.以下程序用于输出20个在开区间(10,87)中的随机整数R,每行5个数。Private Sub Command1_Click()

For i = 1 To 20

r = Int(10 + Rnd * 77)

Print r;

If i Mod 5 = 0 Then Print

Next i

End Sub

12. 下面的程序用于一个数是否为素数:

Private Sub C1_click( )

A=Val(Text1.text)

For k=2 To Int(sqr(A))

If A Mod k=0 then Exit For

Next K

If _k>int(sqr(A))_Then Print “是素数”Else Print “不是素数”End Sub

13. 以下程序用于输出20个在开区间(10,87)中的随机整数R,每行5个

数。

Private Sub Command1_Click()

For i = 1 To 20

r = Int(10 + Rnd * 77)

Print r;

If i Mod 5 = 0 Then Print

Next i

End Sub

14.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为:

If __ Asc(ch)>=97 And Asc(ch)<=122___Then

Print “Yes”

Else

___ Print “No”__

End If

15. 输入若干个正实数,个数预先不能确定,求这些正实数之和(输入负数退

出)。

Private Sub Command1_Click()

Cls

Dim a!, s!

a = InputBox("输入一个实数:")

Do While __ a >= 0 ____

s = s + a _______

a = InputBox("输入一个实数:")

Loop

Print: Print

Print Tab(15); "输入的正实数之和为:"; s

End Sub

四、编程题

1.在text1中输入一个数,判断能否被3或5整除,整除则输出,否则不输出.程序代码放在窗体form的单击事件中.

Private Sub Form_Click()

Dim x As Integer

x = Val(Text1.Text)

If x Mod 3 = 0 Or x Mod 5 = 0 Then Print x

End Sub

2.鸡兔总只数在Tt1中输入,总脚数在Tt2中输入,求各有多少只 ,结果在窗体中显示,代码写在窗体form的单击事件过程中。

Private Sub Form_Click()

Dim x As Integer, y As Integer, f As Integer, h As Integer

h = Val(Tt1.text)

f = Val(Tt2.text)

For x = 1 To f/2

For y = 1 To f/4

If x + y = h And 2 * x + 4 * y = f Then Print x, y

Next y

Next x

End Sub

3.在text1中输入一个整数,然后判断这个数是否是素数,结果在窗体中显示,代码写在窗体form1的单击事件过程中。

Private Sub form1_click( )

A=Val(Text1.text)

For k=2 To Int(sqr(A))

If A Mod k=0 then Exit For

Next K

If k>int(sqr(A)) Then Print “是素数” Else Print “不是素数” End sub

4. 随机生成10个[0,10]间的整数,在窗体上显示,找出最大与最小数,并在窗体上输出的结果。

Private Sub Form_Click()

Dim a(10) As Integer

For i = 1 To 10

a(i) = Int(Rnd * 11)

Print a(i);

Next i

Max = a(1)

Min = a(1)

For i = 2 To 10

If Max < a(i) Then

max = i

End If

Min > a(i) Then

Min = a(i)

End If

Next i

Print Max, Min

End Sub

5.求水仙花数(一个三位数,每个位数上的立方和等于它本身),结果在窗体中显示,代码写在窗体的单击事件过程中。

Private Sub Form_Click()

Dim a, b, c As Integer 'a(个)b(十)c(百)

For a = 0 To 9

For b = 0 To 9

For c = 1 To 9

If a ^ 3 + b ^ 3 + c ^ 3 = a + 10 * b + 100 * c Then

Print 100 * c + 10 * b + a

End If

Next c

Next b

Next a

End Sub

相关主题
相关文档 最新文档