2012VB练习题 下载本文

2012VB理论练习题

Text1.Text=\End Sub

Private Sub Text1_KeyPress(k As Integer) Static s As Integer

If (Chr(k) < \ If k=13 Then s = s + Val(Text1.Text): Text1.Text = \End Sub

(1) 写出运行时在Text1中依次按“1↙ 3↙ 5↙ ”后窗体上的显示结果。 A、1 4 9 B、9 C、1 3 5 D、5

(2) 写出运行时在Text1中依次按“2↙ 4↙ 6↙ ”后窗体上的显示结果。 A、2 4 6 B、12 C、6 D、2 6 12

(3) 写出运行时在Text1中依次按“1↙ -3↙ 5↙ ”后窗体上的显示结果。 A、1 -2 3 B、1 4 9 C、1 -3 5 D、3

(4) 写出运行时在Text1中依次按“1↙ 2a↙ 5↙ ”后窗体上的显示结果。 A、1 43 48 B、1 2 5 C、5 D、1 3 8

试题20

【程序】

Private Sub Form_Load() Text1.Text = \End Sub

Private Sub Text1_keypress(K As Integer) Dim n As Integer

' If K>=Asc(\ K<=(\ k=0 If K = 13 Then

List1.AddItem Text1.Text, n n = n + 1 Text1.Text = \End If End Sub

(1) 运行时在文本框控件Text1中依次输入3个以回车结束的字符串\、\xy12$\、\,列表框中各表项依次为:

A、abc34 B、+-*/ C、abc D、+-*/ xy12$ xy12$ xy$ xy$ +-*/ abc34 +-*/ abc

(2)如果将语句Dim n As Integer用 Static n As Integer替换,运行时在文本框中依次输入3个以回车结束的字符串\、\xy12$\、\,列表框中各表项依次为:

A、abc34 B、+-*/ C、abc D、+-*/

17

xy12$ xy12$ xy$ xy$ +-*/ abc34 +-*/ abc

(3)如果将语句Dim n As Integer后一条语句前的注释符删除,运行时在文本框中依次输入3个以回车结束的字符串\、\xy12$\、\,列表框中各表项依次为:

A、abc34 B、+-*/ C、abc D、+-*/ xy12$ xy12$ xy$ xy$ +-*/ abc34 +-*/ abc

试题21

【程序说明】

?运行时初始界面如左上图所示,在文本框中输入一个整数n并按回车键后:如果n<1则重新输入,否则按钮Command1可用;

?按Command1计算费波那契数列第n项的值(该数列第1、2项均为1,此后各项为该项前两项之和,如:1、1、2、3、5、8、┄); ?用消息框输出结果(右上图表示输入n为8后,输出结果是21),按消息框中“是”按钮则界面显示如左上图,按“否”按钮则退出。

【程序】

Dim n As Integer Private Sub Form_Load() Command1.Enabled = False End Sub

Private Sub Text1_KeyPress(k As Integer) If (1) Then Exit Sub n = Text1.Text

If n < 1 Then MsgBox (\应大于零!\ Command1.Enabled = True End Sub

Private Sub Command1_Click() Dim i As Integer (2) f(1) = 1: f(2) = 1

18

2012VB理论练习题

For i = (3) f(i) = f(i-1) + f(i-2)

Next i

k = MsgBox(\第\项为\,是否继续?\ (4) ) If k = vbYes Then

Text1.Text = \ Text1.SetFocus Else End End If End Sub

【供选择的答案】 (1) A、k = 13

B、k <> 13

C、KeyAscii<>13

D、KeyAscii=13

(2) A、Redim f(8) As Long C、Dim f(n) As Long (4) A、vbNo

(3) A、1 To n B、1 To n Step 1

B、vbYes

B、Redim f(n) As Long D、Dim f(8) As Long

D、3 To n

D、vbQuestion

C、vbYesNo

C、2 To n

试题22

【程序说明】

界面设计如下图所示,程序运行时要求完成以下功能:

按Command1(出题)后随机生成两个两位正整数存入模块级变量a、b且a>b,并分别在Label1、Label2中显示,此后Command1不可用;

在Text1中输入结果、按回车后,以消息框显示运算正确与否、累计所完成题数以及做错的题数,Command1恢复为可用;

按Command2(退出)后以消息框显示所完成题数以及做错的题数,退出。

【程序】

Dim n As Integer, n_error As Integer (1)

Private Sub Command1_Click()

Dim c as Integer

19

a = 10 + Rnd * 90 b = 10 + Rnd * 90

If a < b Then (2) Label1.Caption = a Label2.Caption = b n = n + 1 Text1.Text = \

Command1.Enabled = False End Sub

Private Sub Text1_ (3) (KeyAscii As Integer) If KeyAscii<>13 Then (4) If a - b = Val(Text1.Text) Then MsgBox (\回答正确\Else End If

Command1.Enabled = True End Sub

Private Sub Command2_Click() MsgBox (5) End Sub

【供选择的答案】

(1) A、'小学生两位数减法训练程序 B、a=0: b=0: c=0

C、n=0: n_error=0 D、Dim a As Byte, b As Byte, c As Byte (2) A、 b=a: a=b B、c=a: a=b: b=c C、 a=b: b=a D、c=a: b=a : a=c

(3)A、keypress B、change C、keyDown D、KeyUp (4)A、Exit Sub B、keyAscii=13 C、keyAscii=0 (5) A、″共″& n &″题,错″& n error & ″题″ B、″共n 题,错n error题″

C、″共″+ n + ″题,错″+ n error +″题″ D、共 & n & ″题,错″ & n error & ″题″

D、Exit Do

MsgBox (\不回答正确\n_error = n_error + 1

试题23

【程序说明】

若列表框控件List1中某表项为其他两表项之和,单击Command1后将这些表项添加到列表

20