VB习题复习

更新时间:2024-01-11 03:26:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择

下列命题中只有一个正确答案,请将正确答案的编号写在本题的括号中。 1、 以下叙述中错误的是( )

A.Visual Basic 是事件驱动型可视化编程工具

B.Visual Basic应用程序不具有明显的开始和结束语句 C.Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性

D.Visual Basic中控件的某些属性只能在运行时设置 答案:C

2、以下叙述中错误的是( )

A.在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件

B.以.BAS为扩展名的文件是标准模块文件 C.窗体文件包含该窗体及其控件的属性

D.一个工程中可以含有多个标准模块文件 答案:A

3、 将数学表达式Cos(a?b)2?5e2写成Visual Basic的表达式,其正确的形式是( )

A.Cos(a+b)^2+5*exp(2) B.Cos^2(a+b)+5*exp(2) C.Cos(a+b)^2十5*ln(2)D.Cos^2(a+b)+5*ln(2) 答案:A

4、 表达式4+5 \\ 6 * 7 / 8 Mod 9 的值是:

A. 4 B. 5 C. 6 D. 7 答案:B

5、 设a=3,b=5,则以下表达式值为真的是( ) A.a>=b And b>10 B. (a>b) Or (b>0) C. (a<0) Eqv (b>0) D.(-3+5>a) And (b>0)

答案:B

6、 语句Print 5\\5*5的运行结果是( )。

A. 0 B. 1 C. 5 D. 25

答案:A

7、 Inputbox 函数返回值的类型是( )。

A. 整型数据 B. 字符串

C. 变体 D. 数值或字符串(视输入的数据而定) 答案:B

8、 有语句 abc=Inputbox(“str1”,“str2”,“str3”,2) 执行后,将显示一个信息框,此时如单击“确定”按钮,则 abc 的值是 ( ) A.str1 B.str2 C.str3 D.3

1

答案:D

9、 有语句 Print val(“123ABC456”) 执行后,显示的是 ( ) A.”123ABC456” B. 123ABC456 C.123 D.123456

答案:C

10、对象﹒Print 中对象可以是 ( ) A.窗体、图片框、打印机、文本框

B.窗体、立即窗口、打印机、文本框 C.窗体、图片框、打印机、命令按钮

D.窗体、立即窗口、打印机、图片框

答案:D

11、如果在立即窗口中执行以下操作,则输出结果是( )

a=8 : b=9 Print a>b

A.-1 B.0 C.False D.True

答案:C

12、 当VB执行下面语句后,A的值为( )

A=1

If A>0 Then A=A+1 If A>1 Then A=0

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

答案:A

13、 下列语句中循环体的执行次数是( ) a=3 : b=1

For I=a to b step 1

Print I Next I

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

答案:A

14、 执行以下程序段后,显示的N值是 ( ) N=0

For K=0 to 50 K=K+3 N=N+1

If K>10 then Exit For Next K PRINT N

A.2 B.4 C.3 D.5

2

答案:B

15、以下程序段执行的结果是 ( ) a=0 : b=1 Do a=a+b b=b+1

Loop While a<10 Print a;b

A.10 5 B.a b C.0 1 D.10 30

答案:A

16、以下程序段执行的结果是 ( ) j=0 k=0

Do While j<30 j=(j+1)*(j+2) k=k+1 Loop

Print k;j

A.0 1 B.3 182 C.30 30 D.4 30

答案:B

17、以下程序段执行的结果是 ( ) For k=1 to 4 If k=1 then x=k If k<=4 then x=x+1 Print x; Next k

A.1 2 3 4 B.2 3 4 5 C.2 3 4 4 D.3 4 5 6

答案:B

18、 Private Sub Form_Click() score = 85

Select Case score Case Is < 60 a$ = \

Case 60 To 69 a$ = \

Case 70 To 79 a$ = \

Case 80 To 89 a$ = \ Case Else a$ = \

3

End Select Print a$ End Sub

程序运行后,单击窗体,则在窗体上显示的是( ) A.A B.B C.C D.D

答案:B

19、 如果变量a、b、c均为整型,下列程序段的输出结果为( ) a=2 b=3 c=a*b

Print a & “*” & b & “=”& c

A.c=6 B.a*b=c C.2*3=6 D.a*b=6

答案:C

20、 设有如下程序:

Private Sub Form_Click() a = 1

For i = 1 To 3 Select Case i Case 1, 3 a = a + 1 Case 2, 4 a = a + 2 End Select Next i Print a End Sub

程序运行后,单击窗体,则在窗体上显示的内容是( ) A.6 B.5 C.4 D.3

答案:B

21、 若要暂时关闭时钟,可通过设置属性( )为False来实现。

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

答案:B

22、 在标签控件上显示变量T的值,语句是( )。 A.Text1.Value= T B. Text1.Caption =T C.Label1.Caption= T D. Label1.Value= T

答案:C

23、 若要设置时钟控件的定时时间,可通过( )属性来设置。

A.Value B. Enabled C. Interval D. Text

4

答案:C

24、 图像框或图片框中显示的图形,由对象的( )属性值实现。

A. Picture B. Image C. DownPicture D. Icon

答案:A

25、 复选框或单选框的当前状态可通过( )属性来设置或访问。

A.Value B. Checked C. Selected D. Caption

答案:A

26、 将焦点设置到Text1的控件上,语句是( )。

A.Form. SetFocus B.Text1.SetFocus

C.Form.SetFocus =True D.Text1.SetFocus =True

答案:B 27、 使用时钟控件Timer1来控制其它控件进行移动(要求每5秒控制移动一次),其时间间隔是( )。 A. Time=5 B.Interval=5 C.Time=1000 D.Interval=5000

答案:D

关键字:常用控件

28、 滚动条的( )属性用于返回或设置滚动条的当前值。 A. Value B. Max C. Min D. Data

答案:A 29、 用户使用在组合框中选择的项目数据,可通过访问组合框对象的( )属性来获得。

A. List B. ListIndex C. ListCount D. Text

答案:D

30、 将组合框1当前选择的项目内容赋值给变量A,语句是( )。 A.A= Combo1. Text B.A= Combo1. Value C.A= List1.Text D.A= Lidt1. Value

答案:A 31、 控件数组共用事件和方法,区分控件元素需要引用控件的( )下标属性。 A.Name B.Index C.Caption D.Visible

答案:B

32、 若要向列表框添加一个项目,可使用的方法是( )。 A. Add B. Remove C. Clear D. AddItem

答案:D

33、 语句Dim a(-1 To 10) 定义的数组元素的个数为( )。

5

A.1 B.10 C.11 D.12

答案:D

34、 下面子过程语句说明合法的是( )。

A. sub f1( byval n() as integer )

B. sub f1( n () as integer ) as integer C. Function f1( f1 as integer ) as integer D. Function f1( byval n as integer )

答案:D

35、 以下程序段执行的结果是 ( )。 Private sub command1_click()

Dim x%,y% X=10 : y=5 Call f1(x,y) Print x,y End sub ----------

Sub f1(byval x1 as integer, y1 as integer) X1=x1+2 Y1=y1+2 End sub

A. 10 5B. 12 5C. 10 7 D. 12 7

答案:C 36、 在窗体中添加一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下程序:

Private Sub Command1_Click() Dim x, y, z As Integer x = 10 y = 5 z = 23

Text1.Text = \ Call p1(x, y, z) Text1.Text = Str(z) End Sub --------

Sub p1(ByVal a As Integer, ByVal b As Integer, c As Integer) c = a + b End Sub

程序运行后,如果单击命令按钮,则文本框中显示的内容是( ) A.0 B.15 C.Str(z) D.23

6

答案:B

37、 在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序: sub xyz(b() as Integer ) For i = 1 To 4 b(i) = 2 * i Next i End Sub --------

Private Sub Command1_Click() Dim a(1 To 4) As Integer a(1) = 5: a(2) = 6 a(3) = 7: a(4) = 8 xyz a()

For i = 1 To 4 Print a(i); Next i End Sub

运行上面的程序,单击命令按钮,则在窗体上显示的内容是() A. 1 2 3 4B. 2 4 6 8C. 5 6 7 8D. 10 12 14 16

答案:B

38、 有如下程序:

Private Function Func ( ByVal a As Integer ,ByVal b As Integer)

Func=a+b End Function ---------

Private Sub Command1_Click()

Dim x%,y%,z%,r% x=2: y=5: z=8

r=Func ( Func ( x , y),z) Print r EndSub

当在Command1按扭上单击,该程序的输出结果是_____。 A. 13 B. 12 C. 14 D. 15

答案:D

39、 以下关于过程叙述错误的是_____。

A. 事件过程是由某个事件触发而执行的过程。 B. 函数过程可以有多个返回值。 C. 可以有事件过程中调用通用过程 D. 不能的事件过程中定义函数过程

7

答案:B

40、 当一个工程含有多个窗体时,其中的启动窗体是( )。

A. 启动VB时建立的窗体 B. 第一个添加的窗体

C. 最后一个添加的窗体 D. 在“工程属性”对话框中指定的窗体

答案:D

41、 若要隐藏窗体,实现的语句为( )。 A.hide B. show C. load D. unload

答案:A

42、 以下叙述错误的是( )。

A. 一个窗体模块通常包括声明部分、通用过程部分、自定义过程部分 B. 全局变量通常在标准模块中定义 C. 一个工程中可以包含多个窗体文件 D. 窗体和窗体模块是一一对应的

答案:A

43、 VB应用程序由三种模块组成:标准模块、窗体模块和( )。

A. 类模块 B. 事件模块 C. 自定义模块 D. 公共模块 答案:A

44、 以下说法错误的是( )。

A. 按下键盘上的任意键都会引发keypress事件

B. 键盘事件的触发顺序是:keydown、keypress和keyup C. 鼠标事件的触发顺序是:mousedown、click和mouseup D. 鼠标事件是指由于用户操作鼠标而引发的事件

答案:A

45、 关于KeyPress事件的Keyascii参数,下列说法正确的是( )。

A.Keyascii参数返回用户所按键的ASCII码 B.Keyascii参数为字符型

C.Keyascii参数与KeyCode参数返回值一样 D.Keyascii参数可以省略

答案:A

46、 关于鼠标的MouseDown事件下列说法正确的是( )

A. MouseDown事件可以判断用户是否使用组合键 B. MouseDown事件是鼠标向下移动时被激发的事件 C.MouseDown事件的Button参数是用来判断组合键的 D.MouseDown事件不能判断鼠标的位置 答案:A

47、 MouseMove事件的发生是( )。

A. 伴随鼠标指针移动而连续不断发生的 B. 当鼠标移动时将无限次的被激发

8

C.每秒激发一次

D.与鼠标灵敏度相关的

答案:A

48、 关于文件的叙述,错误的是( )。

A. VB提供访问文件的模式有:二进制访问、八进制访问和十六进制访问 B. 文件是相关记录的集合

C. 文件一般指存储在计算机外部介质上一组信息的集合 D. 字符是数据文件中最小的信息单位 答案:A 49、若要在1号通道上以顺序写方式打开C:\\Data.txt文件,应使用语句是( ).

A. Open \B. Open \C.Open \D.Open \

答案:A

50、 下列关于Put、Get、Print、Write语句的说明,错误的是( )。

A. 一条Print#(或Write#)语句可以将若干个数据项写入数据文件中,但这些数据项的类型必须相同

B. 一条Print#(或Write#)语句可以将若干个数据项写入数据文件中,但这些数据项的类型可以不相同

C.每执行一次Put[#]语句,会在随机文件中产生一个记录

D.每执行一次Put[#]语句,会在随机文件中读取一个记录的数据

答案:A 二阅读理解

阅读理解下列VB程序段,写出程序运行后的显示结果

二、阅读填空

1、 下列程序段的执行结果为_________。 Num=1

Do While num<=3 Num=num+1 Print num; Loop

答案:2 3 4

2、 下列程序段的执行结果为_________。 a=0

For k=1 to 20 step 2 If k mod 5 <> 0 then a=a+k Next

9

Print a

答案:80

3、下列程序段的执行结果为_________。 a=5

For k=2.6 to 4.9 step 0.6 a=a+1 Next Print a

答案:9

4、 下列程序段的执行结果为________。 a=0 : k=0

Do While k<50 k=k+2 k=k*k+k a=a+k Loop Print a

答案:78

5、 在窗体中添加一个命令按钮,然后编写如下代码: Private Sub Command1_Click()

a = InputBox(\请输入一个整数\,””,21) b = InputBox(\请输入一个整数\,””,45) Print a+b End Sub

程序运行后,单击命令按钮,在输入对话框中分别输入21和45,输出结果为_______。

答案:2145

6、 以下程序的运行结果为 。 Private Sub Command1_Click( ) Dim a(5)

For j=0 To 5 Step 1 a(j)=j Next j

Print a(1)+a(3)+a(5) End Sub

答案:8

7、 以下程序的运行结果为 。 Private Sub Command1_Click( )

10

Dim a

ReDim a(6)

For j = 1 To 5 a(j) = j * j Next j

Print a(a(2) * a(3) - a(4) * 2) + a(5) End Sub

答案:41

6、 以下程序的运行结果为 。 Private Sub Command1_Click( ) Dim a(10 ,10) For i=2 To 4 For j=4 to 5

a(i , j)=i*j Next j Next I

Print a(2,5)+a(3,4)+a(4,5) End Sub 答案:42

7、 以下程序的运行结果为 。

Private Sub Form_Click()

a = Array(1, 5, 8, 4, 7, 9, 3) n = 0

For Each x In a

n = n + 1 Next x Print n End Sub

答案:7

8. 以下程序的运行结果为 。

Private Sub Form_Click() Dim a

Dim i As Integer

a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) For i = 0 To 3 s = s + a(i) Next i Print s End Sub

答案:10

9. 以下程序的运行结果为 。

11

Option Base 1

Private Sub Form_Click() Dim a

Dim i As Integer Dim max As Integer Dim min As Integer

a = Array(1, 3, 9, 4, 7, 6, 2, 8,5) max=a(1) min=a(1)

For i = 2 To 9

If a(i)>max Then max=a(i) If a(i)

Print max+min End Sub

答案:10

10、以下程序的运行结果为 。

Private Sub Command1_Click( ) Dim a%,b%,C% a=3: b=5: c=7 a=a+b+c b=a+b+c c=a+b+c

print “a,b,c=”;a;b;c End Sub

答案:a,b,c=15 27 49

11、以下程序的运行结果为 。 Private Sub Command1_Click( ) Dim a%,b% a=3: b=5 a=a+b b=a-b a=a-b

print “a=”;a, “b=”b End Sub

答案:a=5 b=3

12、 以下程序段执行的结果是_______________。 Private sub command1_click() Dim x%,y% X=10 : y=5 Call f1(x,y)

12

Print x,y End sub ----------

Sub f1(byval x1 as integer, y1 as integer) X1=x1+2 Y1=y1+2 End sub

答案:10 7

13、以下程序段执行的结果是_______________。

Private Function Func ( ByVal a As Integer ,ByVal b As Integer) Func=a+b End Function ---------

Private Sub Command1_Click() Dim x%,y%,z%,r% x=2: y=5: z=8

r=Func ( Func ( x , y),z) Print r End Sub

当在Command1按扭上单击,该程序的输出结果是_____。

答案:15

14、 窗体上有一空文本框Text1,执行以下程序后在文本框中输入abc123,单击按钮后运行结果是_________。 Private Sub Command1_Click() Print Text1.Text End Sub

-----------

Private Sub Text1_KeyPress(KeyAscii As Integer) Char = Chr(KeyAscii)

KeyAscii = Asc(UCase(Char)) End Sub

答案:ABC123

15、执行下列程序后,在文本框Text1中输入“d”,运行结果为_______。 Private Sub Text1_KeyDown(KeyCode As Integer ,Shift As Integer) Print Chr(KeyCode) End Sub

答案:D 三、完型填空

根据题目的要求,将下程序段中有下划线的地方,填写上合适的组成部分,使程序能够实现题目的要求。

13

1、 有过程swap,其功能为交换一维数组,即第一个与最后一个元素交换,第二个与倒数第二个元素交换,??请填空。 Sub swap( a() as integer) M= N= J=0

For k=M to (N-M+1)/2 T=a(k)

= a(N-J) = T J=J+1 Next End sub

答案:Lbound(a) Ubound(a) a(k) a(N-J)

2、 有过程sort,用选择法实现一维数组从小到大排序。 Sub sort(a() as integer) M= N=

For i=M to N-1 For j= i+1 to N If then

T=a(i) : a(i)=a(j) : a(j)=T End if Next j,i

答案:Lbound(a) Ubound(a) a(i)>a(j)

3、 输入二个正整数N、N ,用辗转相除法求它们的最大公约数P。 Sub command1_click() Dim M%,N%

M=val(inputbox(“M=”)) N=val(inputbox(“N=”)) Do

P= M= N=

Loop While P<>0 P=M

Print P End sub

答案:M mod N N P

4、 输入一个正整数N,判断它是否是素数。 Sub command1_click()

14

Dim N%

N=val(inputbox(“N=”)) For k=2 to sqr(N) If N mod k=0then

End if Next

If then Print N;”是素数” Else

Print N;”不是素数” End if End sub

答案:Exit For k>sqr(N)

5、 下面程序的作用是利用随机函数产生10个100~200之间(包含100、200)的随机数,打印其中为5的倍数的数,并求出它们的总和。请将下列程序补充完整。

Private Sub Command1_Click() dim x%,k1%,m% k1=0

For m = 1 To 10

x = Int(Rnd * __________) If ____________________ Then Print x; k1 = k1 + x End If Next m

Print \ End Sub

答案:101+100 x mod 5=0

6、下列程序段的功能是输入一元二次方程ax2 + bx + c =0(a≠0)的3个系数a、b、c,根据韦达定理判断实根的情况,结果放到标签Label1中显示。请将下列程序补充完整。

Dim a As Single, b As Single, c As Single Dim delta As Single

a = Val(txtA.Text): b = Val(txtB.Text): c = Val(txtC.Text) delta = _______________________ If delta > 0 Then

Label1.Caption = \有两个不相等的实根\ delta = 0 Then

Label1.Caption = \有两个相等的实根\

15

Else

Label1.Caption = \没有实根\End If

答案:b^2-4*a*celseif

7. 产生10个介于0到100之间的随机整数,求数组中的最大数并在窗体上输出。 Private Sub Command1_Click( )

Dim a(1 To 10) As Integer Dim max As Integer For I = 1 To 10

a(I)= Int(Rnd * 101 )

Next I max = a(1)

For I = 2 To 10

If a(I) >max Then Next I

Print max End Sub

答案:max = a(I)

8. 产生10个介于0到1000之间的随机整数,求数组中的最小数并在窗体上输出。

Private Sub Command1_Click( )

Dim a(1 To 10) As Integer Dim min As Integer For I = 1 To 10

a(I)= Int(Rnd * 1001 )

Next I min = a(1)

For I = 2 To 10

If a(I) < min Then Next I

Print min End Sub

答案: min= a(I)

9. 将数组A的10个元素(0,1,2,3,4,5,6,7,8,9)倒序交换,即第一个变为最后一个,第二个变为倒数第二个,以此类推成(9,8,7,6,5,4,3,2,1,0),请把下列程序补充完整。 Private Sub Command1_Click( ) Dim k%,t%

=array(0,1,2,3,4,5,6,7,8,9)

For k=0 to 9 : print a(k); : next k

16

U= ubound(a)

For k = 0 To _____________ t = a(k)

a(u –k) = t

Next k

For k=0 to 9 : print a(k); : next k End Sub

答案:u \\ 2 a(k) = a(10–k)

10. 利用数组输出Fibonacci数列(1 1 2 3 5 8 13?)的前10项,该数列的第1项和第2项均为1,其余各项均为其前两项之和,并在窗体中全部输出,把下列程序补充完整。

Private Sub Command1_Click() Dim a(1 To 10) As Integer a(1) = 1 a(2) = 1

For i = 3 To 10 _____________

Next i

For k = 1 To 10 Print a(k) ;

Next k End Sub

答案:a(i) = a(i - 1) + a(i - 2) 四、判断

根据下列题目的内容判断命题,若命题正确,在括号中填(T),若命题不正确,在括号中填(F)

1. 执行a=2:b=3:c=a>b以后,c的值为false。( )

答案:T

2. 运算符mod与\\的功能是一样的。 ( )

答案:F

3. 日期类型与逻辑类型不能运算。( )

答案:F

4. 在VB中,s=iif( x >=0 ,1, -1} 与 if x>=0 then s=1 else s=-1 是完全等效的语句。( )

17

答案:T

5. 对象属性只能在属性窗口设置。( )

答案:F

6.组合框(ComboBox)是列表框和文本框的组合。( )

答案:T

7. 时钟控件只支持Timer事件。( )

答案:T

8. 组合框包含了列表框的功能。( )

答案:T

9. 在控件数组中,每一个控件都共享同一个事件过程。( )

答案:T

10. 控件数组共用事件和方法,区分控件元素需要引用控件的Index 属性。( )

答案:T

11. 在控件数组中,控件的类型可以不同,但控件的名字必须相同。( )

答案:F

12. 数组是一组具有同一名字、不同下标的下标变量。( )

答案:T

13. 模块(module)是相对独立的程序单元。( )

答案:T

14. KeyDown事件、KeyUp事件不与KeyPress事件同时激发。( )

答案:F

15. 文本框能返回按键的ASCII码值的事件是keypress。( ) 答案:T

16. 在命令按钮释放鼠标按钮时,所触发的事件称为mouseup事件。( )

答案:T

17.VisualBasic是一种面向对象的可视化程序语言,采用了事件驱动的编程机制。( )

答案:T

18.在VB集成开发环境中,运行VB程序的方法有两种是:解释执行,编译执行。

18

( )

答案:T

19.在VB中,设置或修改一个对象的属性的方法有两种,它们分别是属性窗口修改,命令修改 或 语句修改。( )

答案:T

20.在VB中,定义全局变量的关键字为public,定义局部变量通常使用dim,private,其中定义静态变量的关键字为static。( )

答案:T

五、程序设计

1. 在窗体上输出 [100∽200] 之间不能被3 整除的奇数及这些数的和。 2. 计算 s?1?1/22?1/32?......?1/n2 的值,当第i 项 1/i2?10?5 时结束。 3. 计算下数列的前20项之和。

5813221s?1?3????235813?.....

4.函数:

?x?y??3x?2?4x?12?(x?1)(1?x?10)(x?10)

写一个程序,输入x值后,则输出相应y值。要求用“Select Case”完成该题目。 5、随机产生10个0 ∽100之间的整数,用选择排序法或者冒泡排序法对其进行排序。

6. 打印出如下图所示的杨辉三角形,要求先输入行数n。

7、编写一个判断素数的子过程或函数过程。要求输入一个整数,就能够通过该子过程或函数过程求得该整数是否为素数。

8、编写一个函数过程,能够通过该函数过程求任意正整数的阶乘,并利用该函数过程分别求5的阶乘、8的阶乘、10的阶乘,将结果打印在窗体上。

19

本文来源:https://www.bwwdw.com/article/uoso.html

Top