VB程序设计复习题

《VB程序设计》复习题

一、选择题(每小题1分,共10分)

1.改变控件在窗体中的上下位置,应修改控件的__A_____属性

A .Top B. Left C.Width D. Right

2.将通用对话框类型,设置为字体对话框,可修改该控件的____D_____属性

A. font

B. filename

C. filter

D. action

3.标签控件最重要的属性是__A______

A. caption

B. text

C. name

D. width

4.文本框中选定的内容,由下列____C_____属性反映。

A. Text

B.Caption

C. Seltext

D. sellenght

5.选中复选框控件时,value属性的值,可以是_ D______

A.true

B. false

C. 0

D.1

6.设置列表框选中的文本用____D____属性

A. selected

B. caption

C. text

D. list

7.简单组合框的style值为____B_____

A .0 B. 1 C. 2 D. 3

8.在文件列表框的实现文件的多重选择,应修改该控件的___D______属性

A. filename

B. pattem

C. path

D. multiselect

9.语句listl.removeitem 1 将删除list.listindext等于___D______的项目。

A. 0

B. 2

C. 3

D. 1

10.计时器的interval属性为0时,表示____A_____。

A. 计时器失效 C. 相隔0 毫秒

B. 相隔0秒 D. 计时器的enable属性为false

11.以下的vb 常量中非法的是(B)

a. “Good Luck”

b. PI

c. 1.5E-03

d. 16.3412

12.要想返回文本框中输入的内容则可利用其( B )属性进行编程

a.caption

b. text

http://m.wendangku.net/doc/95087cf07c1cfad6195fa7e2.html

d. righttoleft

13.下列不能用commondialog 控件调用的对话框是( D)

a. open/save

b. help

c. font

d. search

14.vb 应用程序是分层管理的,其最高的层次为( A)

a. 工程

b. 模块

c. 窗体

d. 过程

15.vb 程序设计中的窗体在oop 中称为( C)

a. 屏幕

b. 事件

c. 对象

d. 控件

16.欲使某命令按钮失效,应修改命令按钮的(D) 属性。

A. Visible

B. Caption

C. Enable

D. Enabled

17.要使标签能透出窗体的背景,必须设置(A) 属性。

A. BackStyle

B. BorderStyle

C. Appearance

D. BackColor

18.用鼠标拖动滚动条中滚动框并释放,将触发滚动条的(D) 事件。

A.Scroll B.Change C.DragOver D. A和B

19.组合框的类型由Style属性决定,简单组合框的Style属性值应为(B) 。

A. 0

B. 1

C. 2

D. 3

20.下面哪些控件不会影响到界面设计效果。(A)

A. 定时器

B. 文本框

C. 标签

D. Line控件

21.Clear方法适用于(D) 控件。

A.图片框

B.窗体

C.复选框

D.组合框

22.下列哪个变量的取法是不正确的(C)

A.sTme B.T_Temp C.T12% D.T_12

23.如果要设置窗体的标题栏,应选择以下那种属性(B )

A.Name B.Caption C.Tips D.Text

24.如果要给字体加删除线,可以选择下列那种属性(C)

A.FontName B.FontSize C.FontStrikethru D.FontUnderLine

25.下列哪个变量的取法是不正确的(D )

A.TName B.T_Temp C.T32 D.T32#

26.清除列表框的所有选项应选择下列哪种方法(A )

A.Clear B.Cls C.ClearItem D.RemoveItem

27.下面哪些控件不会影响到界面设计效果。(C)

A. Label

B. Text

C. CommonDialog

D. Frame

28.要使得窗体在出现之前就完成相关的程序设置可在(C ) 事件中进行编程

A. linkopen

B. KeyPress

C. load

D. click

29.要使文本框中显示密码符有效,必须首先设置(B)属性。

A.Text B. MultiLine C.Locked D.Enabled

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

A. Left

B. Width

C. Top

D.Height

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

A. 7/9

B. 7 mod 15

C. 7\9

D. 15 mod 9

32.一个对象可以执行的动作和可被对象识别的动作分别称为(A)。

A、事件、方法

B、方法、事件

C、属性、方法

D、过程、事件

33.在窗体Form1的Click事件过程中有以下语句:

Label1.Caption=”Visual Basic”

若本语句执行之前,标签控件的Caption属性为默认值,则标签控件的Name属性和Caption属性在执行本语句之前的值分别为(B)。

A.”Label”、”Label”B、”Label1”、”Visual Basic”

C、”Label1”、”Label1”

D、”Caption”、”Label”

34.(D)对象不具有Caption属性。

A、Label

B、Option

C、Form

D、Timer

35. Interger类型的变量可存的的最大整数是(D)。

A、250

B、256

C、32768

D、32767

36.下列数据类型中,占用内存最小的是(B)。

A、Boolean

B、Byte

C、Integer

D、Single

37.已知A、B、C中C最小,则判断A、B、C可否构成三角形三条边长的逻辑表达式是(B)。

A、A>=B And B>=C And C>0

B、A+C>B And B+C >A And C>0

C、(A+C)>=C And A-C <=C) And C>0

D、A+B>C And A-B>C And C>0

38.下面(C)是日期型常量。

A、”12/19/99”

B、12/19/99

C、#12/19/99#

D、{12/19/99}

二、判断题:(每小题1 分,共10 分)

1.全局变量用global或public关键字声明,且仅在通用声明处可以定义。(F)

2.如果某子程序add用public static sub add()定义,则该子程序的变量都是局部变量。(F)

3.move方法的一般形式是:对象名.move A,B[,C,D],其中A指Left,C 指width。(F)

4.清除list1列表框对象的内容的语句是list1.cls。(F)

5.清除combo1对象的内容是combo1.clear。(T)

6.对象的可见性用enabled属性设置,可用性用visible属性设置。(F)

7.滚动条控件不可作为用户输入数据的一种方法。(F)

8.只要用拖拽的方法,将工具箱中所需的控件拖到窗体上即可完成。(F)

9.控件是对象,而窗体不是对象,它只是控件对象的窗口。(F)

10.TextBox与Label有许多共同特点,它们都能显示和输入文本。(F)

11.有的对象属性既可在属性窗口中设定又可在程序代码中设定。(T)

12.在框架控件内的几个单选按钮中,只能有一个单选按钮的Value属性为True.(T)

13.标签没有Change事件和SetFocus方法。(T)

14.事件过程与Sub过程,它们相同点都是事件驱动,而不同的只是事件过程由控件属性决定,而

Sub过程是由户自定义。(F)

15.Function函数有参数传递,并且一定有返回值。(F)

16.滚动条控件不可作为用户输入数据的方法。(T)

17.Msgbox函数建立的信息框能显示信息又能输入用户的信息。(F)

18.Dim i, j as integer 表明i和j都是整型变量。(F)

19.菜单每一菜单项都是控件,可以通过点击菜单项或通过光标选择并按回车键,以触发Click事件。

(T)

20.某一过程中的静态变量在过程结束后,静态变量及其值可以在其它过程中使用。(F)

21.目录列表框中的列表项不可以通过AddItem方法进行添加。(T)

22.在表达式中,运算符两端的数据类型要求一致。(T)

23.Visual Basic程序的运行,仅能从某一窗体启动,如Form1窗体。(F)

24.VB是一种面向对象的程序设计语言。(T)

25.在VB的工具栏中包括了所有的VB控件,我们不能再加载其他的控件。(F)

26.在VB中,文件菜单的“删除工程”的作用是将当前VB工程在硬盘中删除掉。(F)

27.有一个程序在属性窗口中设置了它的窗体字体大小为10号,而程序代码若设置了它的窗体字体

大小为20号,那么当程序运行后实际的窗体字体大小为20号。(T)

28.所有的VB 的变量,都有隐含说明字符和强调声明两种方法来定义。(F)

29.所有的控件在程序运行以后都是可见的。(F)

30.标签控件可以用来让用户输入数据。(F)

31.在框架控件上放置的控件可以移动到框架控件的外面。(F)

32.如果一个列表框一共有5个选项,而当选中第三项时,这时列表框的ListIndex属性为2。

(T)

33.单击并拖拽工具箱中所需的控件到窗体上即可完成添加控件任务。(F)

34.除了标准控件外,还可引入其它控件及第三方厂商研制的控件。(T)

35.TextBox与Label有许多共同特点,它们都能显示和输入文本。(F)

36.Listl.clear是清除Listl的全部列表项,所以Clear是对象的方法。(T)

37.有的对象属性既可在属性窗口中设定又可在程序代码中设定。(F)

38.在框架控件内的几个单选按钮中,可有一个或多个单选按钮的Value属性为True.(F)

39.Variant是一种特殊的数据类型,Variant类型变量可以存储除了定长字符串数据及自定义类型外

的所有系统定义类型的数据。V ariant类型变量还可具有Empty、Error和Null等特殊值。 (T) 40.窗体的Enabled属性值为False时,该窗体上的按钮、文本框等控件就不会对用户的操作做出反

应。(T)

41.框架控件和形状控件都不能响应用户的鼠标的单击事件。(T)

42.在一个窗体的代码中不能使用Unload语句来卸载本窗体,即一个窗体只能由其它窗体卸

载。(F)

43.当在一个简单组合框的文本框中输入一个它的列表框中的没有的条目时,组合框会自动反这一

条目添加到它的列表框中。(F)

44.当定时器控件的interval属性值设置为0时,会连续不断地激发Timer事件。(F)

45.如果一个菜单项的Visible属性为False,则它的子菜单也不会显示。(T)

三、填空题

1.如果要指明mystring为固定15个字长的全局变量,应该在标准模块中用以下说明语句定义:

___Public mystring as string*15________

2.设X$ =“abc123456”则“a”+s tr$(val(right(X$,4)))的值是____ a3456____________

3.拖动滚动条中的滚动框将会产生_______ Scroll ____________、___ Change ______________

4.请写出清除以下对象内容的语句:

文本框____ Text1.text=””_______,窗体___ Form1.Cls ______,列表框__ List1.Clear ______,组合框___ combol1.Clear ____

5.变量min@表示__货币数据变量_____类型的变量。

6.如果:I=11:J=3:I=int(-8.6)+I\J+13/3 MOD 5,则I值是___-2__________

7.请写出满足以下条件的VB表达式:0<X<10,______ X>0 and x<10___。X为[0-100]之间的

数,能被2整除,但不能被3整除___ x>=0 and x<=100 and x mod 2=0 and x mod 3<>0____。8.下列循环语句控制的循环次数为 0

FOR K=1 TO 10 STEP –1

9.表达式1 and 0的值( False) 。

10.设a=2,b=3,c=4,d=5,表达式(a>b Xor b

(True)。

11. a 和b 中有仅只有一个为1,相应的Visual Basic逻辑表达式为

(a=1 xor b=1)。

12.设I=5,则由下列循环语句控制的循环次数是(6)。

Do

I=I+2

Loop While I<=15

13.表达式32\7 MOD 3^2 的值是(4)。

14.Private Sub cmdSum_Click()

static Sum as integer

Sum=2*Sum+1

End Sub

问:第三次单击命令按钮cmdSum后,Sum的值为:(7)。

15.欲定义一个定长为10的字符串变量Mystr,可写成:(Dim Mystr as String *10)。

16.下列表达式返回的值为True还是False_____ True _____。

9>4+3 Or 5+3>10 And Not ( 4+2>5 EQV 3+5>2 )

17.按照数据文件的存储方法的不同,文件可以分为三种不同的类型:___顺序文件___________、

______随机文件_________和二进制文件。

18.下列循环语句控制的循环次数为___0_____________。

FOR K=1 TO 20 STEP –2

19.VB表达式9^2 MOD 45 \2 *3 的值______4___________。

20.设x=2,y=4,a=4,b=6,表达式(a>x Xor b

(True) 。

21. a 和b 中有仅只有一个不为1,相应的Visual Basic逻辑表达式为

( a<>1 xor b<>1) 。

22.当x=2时,语句if x=2 then Print x=2 的结果值是(True) 。

23.声明单精度常量g(重力加速度)代表9.8可写成:(const g=9.8) 。

24.VB 的工作模式可分为三种:“__设计_____”、“__运行____”以及“_中断____”。

25.由For k=35 to 0 step 3:next k循环语句控制的循环次数是(0)。

26.想拥有“快捷键”这项功能,必须在“菜单编辑器”中增加一些特殊的设置,也就是在字母之前加

上___ &

27.若要在字符串asdgewl中取dge,则使用函数_(Mid$(asdgewl$,2,3)实现。

28.设x为大于零的实数,则大于x的最小偶数的Visual Basic表达式是(iif(int(x) mod

2=0,int(x)+2,int(x)+1))

29.设x的初值为5,则由下列循环语句控制的循环次数是(1)。

Do While x>=5

x=x-1

Loop

在上程序中,若x的初值为-5,则循环次数为(0)

30.sst=”ABC12DE”,则Val(sst)= (0)

四、程序阅读(假如所有的变量类型都已定义)(每小题6分,共18分)

1.程序1

FOR J=10 TO 5 step –2

K=J+1

If K<6 then exit for

NEXT J

PRINT K;J

输出的结果______7 4 ____________

2.程序2

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

A的值为______3_____

3.程序4

C=InputBox(“请输入字符串:”)

p=” ”

For L=Len(c) To 2 Step –2

P=Mid(C, L – 1, 2) + P

Next L

Print P

End Sub

如果输入:ABCDEFG ,则结果: BCDEFG

4.程序4

Dim Y As Integer

Private Sub Command_Click()

Dim X As Integer

X=1

Y=1

Call AA(Y+1)

Z=BB(X)

Print X, Y, Z

End Sub

Private Sub AA(ByVal Z As Integer)

Y = Z + X

Z = X + Y

End Sub

Private Function BB (ByRef Y As Integer)

Y = Y + 1

BB=X + Y

End Function 结果: 2 2 2

5.程序5

Private Sub Command1_Click()

Dim S As Integer, I As Integer

S = 0

For I = 1 To 10

If ZS(I) Then

If I * 2 <= 10 Then

Print Str(I * 2)

S = S + 1

Else

Exit For

End If

End If

Next 1

Prirt “S=” &Str(S)

End Sub

Public Function ZS (ByVal X As Integer) AS Boolean

Dim J As Integer

J = 2

Do While J < X

If Int (X / J) = X / J Then Exit Do

J = J + 1

Loop

If J = X Then

ZS = True

Else

ZS = False

End If

End Function 结果: 6 10 S=3

6.程序6

Private Sub Form_Click()

Dim a1 As Integer,a2 As Integer

a1=10:a2=100

wu a1,a2

print “a1=”;a1,”a2=”;a2

End Sub

Private Sub wu(b1 As Integer,Byval b2 As Integer)

b1=b1\2:b2=b2 Mod 13

print “b1=”;b1,”b2=”;b2

End Sub

写出程序运行时单击窗体后,在Form1上的输出结果。

结果为: b1=5 b2=9

a1=5 a2=100

7.程序7

Private Sub Form_Click( )

Dim k as integer, s as integer, j as integer

Form1.cls

For k=1 to 5

s=0

for j=k to 5

s=s+1

next j

next k

Print “s=”,s

End Sub

写出程序运行时单击窗体后的输出结果。

结果为: s=1

8.程序8

Dim a As Integer

Private Sub Command1_Click()

Static s As Integer

If s < 5 Then

s = s + a

Else

s = s * a

End If

a = s

End Sub

Private Sub Form_Load()

a = 5

End Sub

当连续按三次Command1按钮后,s的值____625________。

9.程序9

Private Sub Form_Click()

For i = 1 To 7

Print Spc(7 - i);

If i = 1 Then

Print "*"

Else

Print "*"; Spc(2 * (i - 1) - 1); "*"

End If

Next i

End Sub

以上程序的输出结果:(32)

10.程序10

Private Sub Form_Click()

Dim str1, str2 As String

Dim s As String

Dim i As Integer

str1 = "abcdefghijk"

For i = Len(str1) To 1 Step -2

str2 = str2 & Mid(str1, i, 1)

Next i

End Sub

以上程序运行完成以后,str2的值为_____ kigeca _________。

11.程序11

Dim Y As Integer

Private Stub Command_Click()

Dim X As Integer

X=1

Y=1

Call AA(Y+1)

Z=BB(X)

Print X, Y, Z

End Sub

Private Sub AA(ByVal Z As Integer)

Y = Z + X

Z = X + Y

End Sub

Private Function BB (ByRef Y As Integer)

Y = Y + 1

BB=X + Y

End Function 结果: 2 2 2

12.程序12

private sub Form_click()

N = 3

Dim A(3,3) As Integer

For I = I To N

For J = I To N

A(I, J) = (J – l) * N + I

Next J

Next I

For I = 2 To N

For J = 1 To I – 1

TEMP = A(I, J)

A(I, J) =A(J, I)

A(J, I) = TEMP

Next J

Next I

For X = 1 To N

Print X, A(X, N +X - I), A(X, X)

Next X

End Sub 结果: 1 0 4

2 7 8

13.程序13

Private Sub Command1_Click( )

N=0:x=1:y=0

Do While x<20

n = n + 1

y = x + y

x = x * (x + 1)

Loop

Text1.Text = "n=" & Str(n)

Text2.Text = "x=" & Str(x)

Text3.Text = "y=" & Str(y)

End Sub

结果为: n=3 x=42 y=9

14.程序14

Private Sub Form_Click()

Dim a As Integer, b As Integer, z As Integer

a = 1

b = 1

For n = 1 To 3

z = chg(a, b)

Form1.Print "n="; n, "z=", z

Next n

End Sub

Function chg(a As Integer, b As Integer) As Integer

Dim n As Integer

For n = 0 To 2

a = a + b

Next n

chg = a

End Function

写出程序运行时单击窗体后,Form1上的输出结果。

n=1 z=4

n=2 z=7

n=3 z=10

15.程序15

Private Sub Form_Click()

Dim x(5) As Integer

x(1) = 8

x(2) = 3

x(3) = 1

x(4) = 6

x(5) = 4

For i = 1 To 4

For j = i + 1 To 5

If x(i) < x(j) Then t = x(i): x(i) = x(j): x(j) = t Next j, i

For k = 1 To 5

Form1.Print "x("; k; ")="; x(k)

Next k

End Sub

写出程序运行时单击窗体后,Form1上的输出结果。

x(1)=8

x(2)=6

x(3)=4

x(4)=3

x(5)=1

五、程序填空(每题2分,共18分)

1.以下程序是单击命令按钮,将用户在组合框中输入的某一值,与组合框其他项进行比较,如有

相同,则将相同表项删除,其他项,则不动。

Private Sub command1_click()

Dim a As String , I As Integer

A$=Trim(Combo1.Text)

If a<>””Then

_____ for I=0 to Combo1.ListCount-1__________

If Combo1.List(i)=a Then ____ Combo1.RemoveItem i __________

Next I

End If

Combo1.SetFocus

End Sub

2.下列程序用于对输入的x和n的值,进行计算

S=X/2!-X2/3!+x3/4!-x4/5!+….+(-1)n-1xn/(n+1)!

Private function Fs(byval x as single.byval n as integer) as single

Dim sum as single

Dim remultiply as long

Dim I as integer

Sum=0

Remultiply=___ I ______

I=1

Do until ____ I>n ______

Remultiply=____ remultiply*I _______

Sum=sum+remultiply

_____ I=I+1________

_ loop ________

___ Fs=sum ____

End function

3.输入三个数,由大到小排序

Dim A As Integer

Dim B As Integer

Dim C As Integer

Private Sub Form_Click()

Dim nTemp As Integer

A = Val(InputBox("Please input first integer", "输入正整数"))

B = Val(InputBox("Please input second integer", "输入正整数"))

C = Val(InputBox("Please input third integer", "输入正整数"))

If _____ A<=B _________ Then

nTemp = A: A = B: B = nTemp

End If

If ______ A<=C _________ Then

nTemp = A: A = C: C = nTemp

End If

If ________ B<=C _______ Then

nTemp = B: B = C: C = nTemp

End If

Print "The integers in order is"; A; B; C

End Sub

4.歌德巴赫猜想:任何一个大于或等于六的偶数都可以分解成两个素数之和.

Private Sub Command1_Click()

Dim i As Integer, j As Integer, k As Integer, m As Integer

Dim n As Integer, m1 As Integer, m2 As Integer,num

num=val(inputbox(“请输入要验证的整数范围最大值(MAX)”))

For i = 6 To num Step 2

For j = 3 To i

k = (Int(Sqr(j)) )

For m = 2 To k

If j Mod m = 0 Then ( Exit For)

Next m

If m > k Then

n = i - j

m1 =( Int(Sqr(n)) )

For m2 = 2 To m1

If n Mod m2 = 0 Then (Exit for)

Next m2

If ( m2 > m1 ) Then Print i; "="; j; "+"; n; ,

End If

Next j

Print

Next i

End Sub

5.从计算机输入三个数,找出中间数

Private Sub FindMidNum( )

X=INPUTBOX(“PLEASE INPUT THE FIRST NUMBER”)

Y=INPUTBOX(“PLEASE INPUT THE SECOND NUMBER)

Z=INPUTBOX(“PLESSE INPUT THE THIRD NUMBER)

IF ( X

A=X

X=Y

Y=A

ENDIF

IF ( Y>=Z ) THEN

PRINT Y

ELSEIF ( X>=Z ) THEN

PRINT Z

ELSE

PRINT X

ENDIF

End Sub

6.[程序说明]

由输入对话框输入n(设n为大于零且小于30的自然数),计算下列表达式的值,并在标签框Label1上显示。

[程序]

Private Sub Form_Click( )

Dim n As Integer,sum as Double,k As Integer

n=Val(InputBox(“n=”,”请输入自然数n(n>0 且n<30)”))

Do (While n<=0 or n>=30)

n=val(InputBox(“n=”,”请重输入”))

Loop

Sum=0

( k=0)

do

k=k+1

sum= (sum+1/(k*(k+1)))

Loop Until k>=n

Label1.Caption=”Sum=”+Str(sum)

End Sub

相关推荐
相关主题
热门推荐