VB二级考试习题及答案2.docx

VB二级考试习题及答案2.docx
VB二级考试习题及答案2.docx

练习3

单选题(30分,每小题1分) 一个完整计算机系统应包括—(1)—o

(A) 主机、键盘、和显示器 (B)硬件系统和软件系统

(0主机和其他外部设备

(D) ?打印机属于计算机部件中的—(2)—o

(A) 输岀设备 (B)输入设备

?下列表示存储容量的数据中,

(3)_

(A) 20480 KB

(B) 1.44 MB (C) 1 GB

(D) 4865723 Byte

?在计算机内部能够直接执行的程序语言是_(4)—o

(A)数据库语言

(B)高级语言 (C)机器语言

(D)汇编语言

?下列叙述正确的是—(5)_o

(A)程序设计就是编制程序

(B)程序的测试必须由程序员自己去

完成

(C)程序经调试改错后还应进行再测试

(D)程序经调试改错后不必进行再测试

?以下叙述中错误的是_(6)_。

(A) Visual Basic 是事件驱动型可视化编程工具 (B) Visual Basic 应用程序不具有明显的开始和结束语句

(C) Visual Basic 工具箱中的所有控件都具有宽度(Width)和高度(Height)属性 (D) Visual Basic 中控件的某些属性只能在运行时设置

?以下不属于VB 工作模式的是_(7)_模式。

(A)编译 (B)设计 (C)运行 (D)中断 ?以下语句的输出结果是_(8)_。 Print Format $(32548.5, “000,000.00” )

(A) 32548. 5 (B) 32, 548. 5 (C) 032, 548. 50 (D) 32, 548. 50

?若要使某可见控件获得焦点,则可使用—(9) ___________ 方法来实现。

(A) Refresh (B) SetFocus (C) Value (D) GotFocus

? 在下列说法中,正确的是—(10)—O

(A) 通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上 (B) 在列表框中不能进行多项选择

(0 VB 系统不能在列表框中自动实现将项目按字母顺序从大到小排列

(D)复选框的Value 属性值为布尔型

?执行以下程序段,输出的结果为—(11)—。

a$二〃abbacddcba"

系统软件和应用软件

(0存储设备 (D)缓冲设备 是最大

的。

For i=6 To 2 Step -2

x二Mid (a, i, i):

y二Left (a,

i)

z二Right (a, i):

z二

UCase(X

& Y & z)

Next i

Print z

(A) ABA (B) BBABBA (0 ABBABA (D) AABAAB

?控件在窗体上的位置是由(12) 属性确定的。

(A)Width 和Height (B) Top 和Left (C) Width 和Left (D) Top 和Width

?关于Name属性,以下叙述中—(13)—是正确的。

(A)窗体的Name属性指定窗体的名称,用于标识一个窗体。

(B)窗体的Name属性用于设置显示在窗体标题栏的文本。

(0可以通过代码在程序运行中改变某个对象的Name属性值。

(D)对象的Name属性值可以设置为空。

?下列名称中—(14)—可以作为VB的变量名。

(A) mod (B) m-d (C) tempVal (D) left

?要求出变量x和y中较大的一个并保存在变量Max中,下面的程序段中—(15)_ 是不正确的。

(A) Max 二Ilf (x > y, x, y) (B) If x > y Then Max 二x Else Max 二y

(C)Max = x (D) If y > x Then Max = y

If y >= x Then Max = y Max = x

?执行以下语句后,&的值为—(16)—

Dim a As Intcgcr

a = 1

Do Until a = 100

a 二El + 2

Loop

(A) 102 (B)100 (C)溢出(D)101

?对于语句If a = b Then c = d的语法分析,_______ (17) ___ 是正确的。

(A) a=b和c=d都是赋值语句(B) a=b是关系表达式,c=d是赋值语句

(C)a=b和c二d都是关系表达式(D)且二b是赋值语句,c二d是关系表达式

?运行下列程序段,单击两次命令按钮,则第二次单击时窗体屮显示的结果是_(18)_。

Private Sub Commandl_Click()

Dim a As Integer

Static b As Intcgcr

a = a + 5:

b = b + 5

Print a, b

End Sub

(A) 5 10 (B) 5 5 (C) 10 10 (D) 0 0 ?在系统默认的情况下,Dim a(3, 4, 2 To 5)定义的数组共有_仃9)—个元素。

(A) 36 (B) 48 (C) 60 (D) 80

?下面的子过程定义语句中没有语法和逻辑错误的是—(20)—o

(A) Sub SI (ByVai n%()) (B) Sub SI (n As Integer) As Integer

(C) Function SI(ByVai n As Integer) (D) Function Sl%(ByVal SI As Integer) ?执行了下面程序后,组合框中数据项的值是—(21)—。

Private Sub Form ClickO

For i=l to 6

Combo1. AddItem i

Next i

For i= 1 to 3

Combo1. RemoveItem i

Next i

End Sub

(A) 1 5 6 (B)l 3 5 (C)4 5 6 (D)2 4 6

?设窗体上有一个列表框控件Listl,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是_(22)_?

(A)Listl. List B) Listl. Listindex (0)Listl. Index (D)Listl. Text

?在窗体上画一个名称为Command 1的命令按钮和一个名称为Textl的文本框,然后编写如下事件过程:

Private Sub CommandlClick()

n = Vai (Textl. Text)

For i = 2 To n

For j = 2 To sqr (i)

If i Mod j = 0 Then Exit For

Next j

If j > Sqr (i) Then Print i

Next i

End Sub

该事件过程的功能是_(23)_

(A)输岀n以内的奇数(B)输岀n以内的偶数

(0输岀n以内的素数(D)输岀n以内能被j整除的数

?如果要在菜单中添加一个分隔线,则应将其标题属性设置为(24) 。

?以下关于文件的叙述中正确的是_(25)_。

(A) 一个记录中所包含的各元素的数据类型都是相同的

(B) 随机文件中每个记录的长度是固定的

(0 Open 命令的作用是打开一个已经存在的文件 (D) 使用Input #语句可以从随时机文件中读取数据

(D) Dim a (3), b(3) As Integer

a(0)=0 : a(l)=l : a(2) =2 : b=a

?窗体中有一个命令按钮,编写如下程序,程序运行后,输岀结果为—(27) Private Sub test

(p, m, n)

p=p+l: m=m+1: n=n+l Print “Sub:” ; p; m; n End Sub

Private Sub CommandlClick() al=l: bl=2: cl=3

Call test (al, bl+3, (cl)) Print "Main:” ; al; bl; cl End Sub

(A) Sub: 264 (B) Sub: 264 (C) Sub: 264

(D) Sub: 264 Main: 2 6 4

Main: 1

6 4 Main: 1 2 3

Main: 2 2 3

? 以下语句用于打开一个顺序文件Open z/C: \MyFile. txt 〃 For OutPut,但是该语句的一 个重

要错误是没有—(28) ____________ o

(A)指定打开方式(B)指定文件号(C)指定打开文件名(D)指定文件类型

? 在窗体上画一个名称为LabelK 标题为“VisualBasic 考试”的标签,两个名称分别 为

Command 1和Command2、标题分别为“开始”和“停止”的命令按钮,然后画一个 并把其Interval 属性设置为500。编写如下程序:

End If

⑷二 ⑻* (C) & (D)-

?以下定义数组或给数组元素赋值的语句中,

正确的是(26) o

(A) Dim a As Variant

(B) Dim a(10) As Integer

a=Array (1, 2, 3, 4, 5)

a=Array (1, 2, 3, 4, 5)

(C) Dim a%仃0)

a(l)二〃

Private Sub FormLoad() Timerl. Enabled=False End Sub

Private Sub CommandlClick()

Private Sub Timerl_Timer() If Labell.Left

Label 1. Left = Label 1. Left + 20 Else

Label 1. Left 二0 名称为Timerl 的计时器控件,

End Sub

Timerl. Enabled二True

End Sub

程序运行后,单击“开始”按钮,标签在窗体中移动。对于这个程序,以下叙述中错误的是—(29)—

(A)标签的移动方向为自右向左

(B)单击“停止”按钮后再单击“开始”按钮,标签从停止的位置继续移动

(0当标签全部移出窗体后,将从窗体的另一端出现并重新移动

(D)标签按指定的时间时隔移动

?设有如下程序,通过For循环计算一个表达式的值,这个表达式是_(30)—: Private Sub CommandlClick()

Dim sum As Double, x As Double

sum = 0: n = 0

For i = 1 To 5

x = n / i: n = n + 1: sum = sum + x

Next

End Sub

(A)1+1/2+ 2/3+3/4+4/5 (B)1+1/2+2/3+3/4

(01/2+2/3+3/4+4/5 (D) 1+1/2+1/3+1/4+1/5

二、填空题(50分,每空2分)

?Visual Basic中有三种类型的模块文件,即类模块、标准模块和—[1]_窗体模块。?将数学式点丄写成VB表达式,应该是—[2]sqr(y^3+3/abs(a*b)) __________________ 。

V \ab\

?赋值语句:a=123 + MIDC123456", 3,2)执行后,a变量中的值_[3]157 _____________ 。

?Visual Basic提供的对数据文件的三种访问方式为顺序访问方式、—[幻_随机访问方式—和二进制访问方式。

?执行下列语句序列,显示的结果是____ [5]false o

a = 2:

b = 3:

c = 4:

d = 5

Print 3>2*b0ra=c And b <> c Or c > d

?运行下列程序,单击命令按钮,则Textl中显示—[6]5_,窗体中显示—[7]0__。

Private Sub CommandlClick()

Dim i As Integer, j As Integer, a(5, 4) As Integer

For i = 2 To 3

For j = 2 To 4

a(i, j)二i + j

Next j

Next i

Textl. Text = a(3, 2)

Print a(3, 1)

End Sub

?如下图,窗体上有两个命令按扭Cl, C2及一个文木框Text!,当按下Cl时,将C2 的标题与Textl中的内容交换。

Private Sub Cl_Click()

Dim a As String

Forml. Caption 二〃交换后〃

a 二 _ [8]textl. text _____

Textl. Text 二__ [9]c2. caption _____

C2. Caption 二 a

End Sub

?请完善以下判断完数的程序。一个数如果恰好等于它的因子之

和,这个数就被称为“完数”。一个数的因子是指除了该数

本身以外能够被其整除的数。例如6是一个完数,因为6二

1+2+3。

Private Sub CmdJudgeClick() Dim a ()

m = Vai(Textl. Text)

ReDim a(1)

a(l) = 1

k = _[10]_l_

J = 1

For i = 2 To m - 1

If m Mod i = 0 Then

Else

If [13]_k=m _____ Then

Picturel. Print m & 〃是完数〃

Picture1.Print m;"二“;

For i = 1 To UBound (a) - 1

Picture1.Print a(i); 〃+〃;

Next i

Picture1.Print

k = k + i *因数和

j二j + 1 1因数个数

ReDim ___ [1l]_preserve_ a(j)

a(j)二 __ [12] i ____

End If

Next 1(转右)

?编写程序。在窗体上显示如下图所示的“九九加法表”。

[15]option Explicit

Private Sub Form Click()

Dim i%, j%

Print 〃+ 1 2 3 4 5 6 7 8 9〃For i = 1 To [16] 9

Print i;

For j = 1 To —[17]i

If i + j < 10 _[18]then Print “〃;

Print [19]i+j 一;

Next j

__ [20]print ______

Next i

-ini x|

■j

3

+

1

2

3

4

5

6

7

8

9

4

5

6

7

8

9

1

1

1

1

1

6

7

8

9

1

2

1

2

3

4

4

1

1

*

1

*

1

1

1

*

6

7

1

A

1

End Sub

?在窗体上画一个名称为Command 1的命令按钮,然后编写如下程序,通过调用过程Swap,调换数组中数值的存放位置,即a(l)与a(10)的值互换,a⑵与肛9)的值互换,……,a (5)与a(6)的值互换。请填空

Option Base 1

Private Sub CommandlClick() Dim a (10) As Integer

For i = 1 To 10

a(i) = i

Next

Call Swap( ____ [21]a() ____ ) For i = 1 To 10

Print a(i);

Next

End Sub Sub Swap (b () As Integer) n = _____ [22]ubound(b) _____ For i = 1 To n / 2

t = b(i)

b(i) = b(n)

b(n) = t

[23] n=n+l

Next

End Sub

?设当前文件夹已有文件tl. txt和t2. txt,其中各有若干文字。现要将t2. txt的内

彦彳滋摩篦试题、试卷纸总8页第8页(A)卷容合并到11. txt中。例如11. txt原来内容为〃ABCD〃, 12. txt原来内容为〃1234〃,合并后tl.txt的内容将成为

“ABCD1234”

Private Sub Command1 Click ()

Open 气1. txt/z_____ [24] for append _____ As #1

Open 〃t2.txt" For Input As #2

Do While Not EOF(2)

Line Input #2, s ________ [25] print #1, s

Loop

Close

End Sub

三、编程题(20分,每题10分)

1?编写一个自定义函数Gcd (m, n),实现求m和n两个正整数的最大公约数。

Function gcd(n%5m%)

p = n Mod m

If p=0 Then

gcd 二p

Else

gcd 二gcd(m』)

End If

End Function

2.在文木框Textl中输入一串字符,用标签Label 1显示其中出现频率最高的字母(不区分大小写)及其出现次数。例如:输入"This is a beautiful world. ”则输出"使用频率最高的是i,共出现3次。”

Option Base 1

Private Sub command 1 _click()

Dim zimu$, a(l To 26) As Integer

1 = Len(Textl.Text)

For i = 1 To I

zimu = LCase(Mid(Textl .Text, i, 1))

If zimu >= M a H And zimu <= H z n Then

/參彳滋滲篦试题、试卷纸总S页第9页(A )卷j = Asc(zimu) -97+1

a(j)二a(j) + 1

End If

Next i

Max = 1

For i = 2 To 26

If a(i) > a(Max) Then

t = i: i = Max: Max = t

End If

Next i de = Chr(Max - 1 + 97)

Label 1.Caption = ”使用频率最高的是“ & de & ”,共出现”& a(Max) &“次End Sub

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