中国石油大学华东VB练习题VB格林课堂选择题

更新时间:2023-11-05 12:46:01 阅读量: 综合文库 文档下载

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

姓名:( )

经济1401班

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

For i=0 To 10 X=2 * i-1

If X Mod 3=0 Then n=n+1 Next i Print n End Sub

运行程序,单击命令按钮,则窗体上显示的是( )。 A. 3 B. 7 C. 1 D. 5

正确答案:A,你的答案:A, √

2. 阅读程序:

Private Sub Form_Click() a=0

For j=1 To 15

a=a+j Mod 3 Next j Print a End Sub

程序运行后,单击窗体,输出结果是( )。 A. 1 B. 15 C. 105 D. 120

正确答案:B,你的答案:B, √

3. 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() c=1234

c1=Trim(Str(c)) For i=1 To 4

Print ______ Next End Sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容: 1 12 123 1234

则在横线处应填入的内容为( )。

A. Right(c1, i) B. Mid(c1, i, 1) C. Mid(c1, i, i) D. Left(c1, i)

正确答案:D,你的答案:D, √

6. 在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1,然后编写如下事件过程: Private Sub Command1_Click() Counter=0 For i=1 To 4

For j=6 To 1 Step-2

Counter=Counter+1 Next j Next i

Label1.Caption=Str(Counter) End Sub

程序运行后,单击命令按钮,标签中显示的内容是( )。

A. 12 B. 11 C. 20 D. 16

正确答案:A,你的答案:C, ×

13. 在窗体上画一个名称为Text1的文本框,并编写如下程序: Option Base 1

Private Sub Form_Click()

经济1401班

Dim arr

Dim Start As Integer Dim Finish As Integer Dim Sum As Integer

arr=Array(12, 4, 8, 16) Start=LBound(arr) Finish=UBound(arr) Sum=0

For i=Start To Finish Sum=Sum+arr(i) Next i

c=Sum / Finish Text1.Text=c End Sub

运行程序,单击窗体,则在文本框中显示的是( )。

A. 40 B. 12 C. 10 D. 16

正确答案:C,你的答案:B, ×

15. 窗体上有名称为Command1的命令按钮,其事件过程如下: Option Base 1

Private Sub Command1_Click() Dim a

Dim b(10) As Integer a = Array(2, 4, 7, 3, 9, 6)

For i = LBound(a) To UBound(a) b(i) = a(i) + i

Sum = Sum + b(i) Next i Print Sum End Sub

运行程序,单击命令按钮时,窗体上显示的是

A. 52 B. 44 C. 50 D. 46

正确答案:A,你的答案:A, √

17. 命令按钮Command1的事件过程如下:

Private Sub Command1_Click() Dim arr(5,5)As Integer

Dim i As Integer, j As Integer For i=1 To 4

For j=2 To 4

arr(i,j)=i+j Next j Next i

Print arr(1,3)+arr(3,4) End Sub

执行上述过程,输出结果是( )。 A. 6 B. 11 C. 7 D. 12

正确答案:B,你的答案:B, √

12. 以下过程定义中正确的过程首行是( )。

A. Private Sub Proc(Optional a as Integer,b as Integer)

B. Private Sub Proc(a as Integer) As Integer

C. Private Sub Proc(a() As Integer)

D. Private Sub Proc(ByVal a()As Integer) 正确答案:C,你的答案:C, √

17. 假定有以下函数过程: Function Fun(S As String)As String Dim s1 As String For i=1 To Len(S)

s1=LCase(Mid(S, i, 1))+s1

Next i Fun=s1 End Function

在窗体上画一个命令按钮,然后编写

经济1401班

如下事件过程:

Private Sub Command1_Click() Dim Str1 As String, Str2 As String Str1=InputBox(\请输入一个字符串\

Str2=Fun(Str1) Print Str2 End Sub

程序运行后,单击命令按钮,如果在输入对话框中输入字符串\,则单击\确定\按钮后在窗体上的输出结果为( )。

A. abcdefg B. gfedcba C. ABCDEFG D. GFEDCBA

正确答案:B,你的答案:B, √

14. 窗体上有一个名称为Command1的命令按钮,并有如下程序代码: Option Base 1

Private Sub Command1_Click() Dim a(4, 4) As Integer Dim b As Integer

Dim i As Integer, j As Integer For i = 1 To 4 For j = 1 To 4 a(i, j) = i + j Next j Next i Call f(a, b) Print b End Sub

Private Sub f(x() As Integer, ByRef y As Integer) y = 0

For i = 1 To 4 y = y + x(i, i) Next End Sub

运行程序,单击命令按钮后,窗体上显示的是

A. 2 B. 20 C. 0 D. 8

正确答案:B,你的答案:B, √

20. 窗体上有一个名称为Command1的命令按钮,其单击事件过程及相关的函数过程如下:

Private Sub Command1_Click() Dim i As Integer For i = 1 To 500

If p(i) Then s = s + 1 Next Print s End Sub

Private Function p(x As Integer) As Boolean

If x Mod 7 <> 0 Then p = True Else

p = False End If End Function

关于上述程序,以下叙述中正确的是

A. Function过程定义有误,函数过程p的名称与该过程中的变量名p相同 B. 函数过程p的返回值为Boolean类型

C. Command1_Click事件过程中If语句的条件表达式不完整

D. 程序功能是统计1-500范围内能被7整除的整数个数

正确答案:B,你的答案:C, ×

4. 设有如下通用过程:

Public Function Fun(xStr As String)As String

Dim tStr As String, strL As Integer tStr=\

strL=Len(xStr) i=1

Do While i<=strL / 2

经济1401班

tStr=tStr & Mid(xStr, i, 1)& Mid(xStr, strL-i+1, 1) i=i+1 Loop Fun=tStr End Function

在窗体上画一个名称为Command1的命令按钮。然后编写如下的事件过程: Private Sub Command1_Click() Dim S1 As String S1=\

Print UCase(Fun(S1)) End Sub

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

A. abcdef B. DEFABC C. ABCDEF D. AFBECD

正确答案:D,你的答案:D, √

5. 以下关于函数过程的叙述中,正确的是( )。

A. 函数过程形参的类型与函数返回值的类型没有关系

B. 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递

C. 在函数过程中,过程的返回值可以有多个

D. 如果不指明函数过程参数的类型,则该参数没有数据类型

正确答案:A,你的答案:A, √

13. 窗体上有一个名称为Command1的命令按钮,并有如下程序代码: Private Sub Command1_Click() Static a

a = 1: b = 2: c = 3 Call f(a, b, c) Print a; b; c End Sub Sub f(ByVal x, ByRef y, z) x = x + 1 y = y + 1 z = z + 1 End Sub

运行程序,单击命令按钮,窗体上显示的是

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

正确答案:A,你的答案:A, √

15. 设子程序过程定义的首部为: Public Sub S(X As Integer, Y As Single)

则以下正确的调用形式为

A. S 5, 4.8 B. Call S 5, 4.8 C. Sub 5, 4.8

D. Call Sub(5, 4.8)

正确答案:A,你的答案:D, ×

16. 设有如下程序:

Private Sub sV(ByVal m As Integer, n As Integer)

m = m * 2 n = n - 5 Print m; n End Sub

Private Sub Form_Click()

Dim x As Integer, y As Integer x = 10 y = 15 sV x, y Print x; y End Sub

运行程序,单击窗体,输出结果为

A. 10 15 20 10 B. 20 10 10 10

经济1401班

C. 20 10 20 10 For i = 3 To 4 D. 20 15 10 15 For j=3 To 4 正确答案:B,你的答案:B, √ Print a(j, i); Next j

Print 1. 在窗体上画一个命令按钮,名称为

Next i Command1,然后编写如下代码:

Option Base 0 End Sub Private Sub Command1_Click() 运行程序,单击命令按钮,则输出结 Dim A1(4)As Integer, A2(4)As 果为( )。 Integer

A. 8 11 9 12 For k=0 To 2

B. 9 12 10 13 A1(k+1)=InputBox(\请输入一个

C. 6 9 7 10 整数\

D. 7 10 8 11 A2(3-k)=A1(k+1)

Next k 正确答案:B,你的答案:B, √ Print A2(k) End Sub 8. 窗体上有一个名称为Text1的文本程序运行后,单击命令按钮,在输入框,一个名称为Command1的命令按对话框中依次输入2、4、6,则输出结钮。要求编写一个程序,统计文本框果为( )。 中0-9各数字字符的个数。某人编写如 下程序:

A. 2 Private Sub Command1_Click() B. 0 Dim count(10) As Integer C. 3 '第 1 个 For 循环 D. 1 For i = 0 To 9

count(i) = 0 正确答案:A,你的答案:A, √

Next

s = Trim(Text1.Text) 3. 下列数组定义中错误的是( )。

A. Dim a(-3 To-5) strLen = Len(s) B. Dim a(3 To 5) '第2个For循环 C. Dim a(-5 To-3) For i = 1 To strLen

c = Mid(s, i, 1) D. Dim a(-3 To 3)

If c >= \正确答案:A,你的答案:A, √

x = Val(c)

count(i) = count(i) + 1 4. 在窗体上画一个名称为Command1

End If 的命令按钮 ,并编写如下程序:

Option Base 1 Next Private Sub Command1_Click() '第3个For循环

For i = 0 To 9 Dim a(4, 4)

Print Str(i), count(i) For i=1 To 4

Next For j=1 To 4

End Sub a(i, j)=(i-1)* 3+j

Next j 运行程序后,发现不能实现题目的要 Next i 求,程序应该进行的修改是

经济1401班

对话框中输入7,则输出结果为

A. 将 count(i) = count(i) + 1改为

count(x) = count(x) + 1 A. 4

B. 6 B. 将第2个For循环的初值改为0

C. 3 C. 将第2个For语句改为For i = 0 To 9

D. 5 D. 去掉x=Val(c)语句

正确答案:A,你的答案:A, √ 正确答案:D,你的答案:D, √ 9. 编写如下程序: 15. 在窗体上画一个命令按钮,然后编Private Sub Command1_Click() 写如下程序:

Sub inc(a As Integer) Dim a(3,3)As Integer

Dim s As Integer Static x As Integer

x = x + a For i=1 To 3

Print x; For j=1 To 3

End Sub a(i,j)=i * j+i

Next j Next i Private Sub Command1_Click()

inc 2 s=0

inc 3 For i=1 To 3

inc 4 s=s+a(i,4-i)

Next i End Sub Print s End Sub 程序运行后,第一次单击命令按钮时程序运行后,单击命令按钮Command1,的输出结果为

输出结果为( )。

A. 16 A. 2 3 4 B. 13 B. 11 14 18 C. 4 9 16 C. 20 D. 2 5 9 D. 7 正确答案:D,你的答案:D, √

正确答案:A,你的答案:A, √

17. 设有如下程序:

Private Sub sV(ByVal m As Integer, n As 10. 在窗体上画一个命令按钮,然后编

Integer) 写如下程序:

Option Base 1 m = m * 2 Private Sub Command1_Click() n = n - 5 Dim Arr(10) As Integer Print m; n For i = 1 To 10 End Sub Arr(i) = 11 - i Private Sub Form_Click() Next i Dim x As Integer, y As Integer

x = 10 x = InputBox(\输入一个整数(3~

y = 15 10)\

Print Arr(2 + Arr(x)) sV x, y End Sub Print x; y

End Sub 程序运行后,单击命令按钮,在输入

经济1401班

A. a(i)=Int(Rnd * 100) B. a(i)运行程序,单击窗体,输出结果为 =Int(Rnd * 101) C. a(i)=Int(Rnd * 100)+10 D. a(i)A. 20 10 10 10 = Int(Rnd * 90) +10 B. 20 15 10 15 正确答案:D,你的答案:O, × C. 10 15 20 10 D. 20 10 20 10 8. 在窗体上画一个名称为Text1的文正确答案:A,你的答案:A, √ 本框,并编写如下程序: Option Base 1

Private Sub Form_Click() 19. 设有如下Command1的单击事件

Dim arr 过程及fun过程:

Private Sub Command1_Click() Dim Start As Integer Dim x As Integer Dim Finish As Integer

Dim Sum As Integer x=Val(InputBox(\请输入一个整数

\ fun(x) arr=Array(12, 4, 8, 16) End Sub Start=LBound(arr) Private Sub fun(x As Integer) Finish=UBound(arr) If x Mod 2=0 Then fun(x / 2) Sum=0 Print x; For i=Start To Finish End Sub Sum=Sum+arr(i)

Next i 执行上述程序,输入6,结果是( )。

c=Sum / Finish A. 6 3 Text1.Text=c B. 6 End Sub C. 程序死循环 运行程序,单击窗体,则在文本框中D. 3 6 显示的是( )。

A. 12 B. 10 C. 16 D. 40 正确答案:D,你的答案:D, √

正确答案:B,你的答案:O, ×

7. 以下程序的功能是随机产生10个

两位的整数: 9. 在窗体上画一个命令按钮(其NameOption Base 1 属性为Command1),然后编写如下代Private Sub Command1_Click() 码: Dim a(10)As Integer Private Sub Command1_Click() Dim i As Integer Dim n() As Integer Randomize Dim a, b As Integer For i=1 To 10 a = InputBox(\第1个数\ a(i)=Int(Rnd * 100)+1 b = InputBox(\第2个数\ Print a(i) ReDim n(a To b) Next i For k = LBound(n) To UBound(n) End Sub n(k) = k

Print n(k); 运行以上程序,发现有错误,需要对

Next k 产生随机数的语句进行修改。以下正

End Sub 确的修改是( )。

经济1401班

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

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

正确答案:A,你的答案:O, ×

13. 窗体上有一个名称为Command1的命令按钮,其单击事件过程及相关的代码如下:

Private Sub Command1_Click() Dim x As Integer, y As Integer x = Val(InputBox(\输入整数\ y = Val(InputBox(\输入整数\ Print Str(fun(x, y) + x+y) End Sub

Private Function fun(ByRef m As Integer, ByVal n As Integer) m = m * m n = n + n fun = m+n End Function

运行程序,单击命令按钮时,出现输入对话框,分别输入3、5,则窗体上显示的是

A. 33 B. 27 C. 28 D. 38 正确答案:A,你的答案:O, ×

15. 设窗体上有一个Command1命令按钮,还有以下程序代码: Private Sub Command1_Click() Static x As Integer x = x + 1 Call proc(x) Print x, End Sub

Private Sub proc(a As Integer) Static x As Integer x = x + a a = x End Sub

程序运行后,3次单击命令按钮,则产

生的输出是

A. 1 3 5 B. 2 4 6

C. 1 2 3 D. 1 3 7 正确答案:D,你的答案:O, ×

11. 窗体上有一个名称为Command1的命令按钮。要求编写程序,把文件f1.txt的内容写到文件f2.txt中,然后将f1.txt删除。命令按钮的单击事件过程如下: Private Sub Command1_Click()

Open \ Open \ Do While Not EOF(2) Line Input #1, str1 Print #2, str1 Loop Close

Kill \End Sub

该程序运行时发生错误,应该进行的修改是

A. Line Input应改为Get

B. Not EOF(2)应该改为Not EOF(1)

C. 打开f1.txt应该使用Output 方式,打开f2.txt 应该使用Input 方式 D. Close语句改为Close All

正确答案:B,你的答案:B, √

12. 以下不属于Visual Basic数据文件的是 A. 数据库文件 B. 顺序文件 C. 随机文件 D. 二进制文件 正确答案:A,你的答案:A, √

13. 设在当前目录下有一个名为\的文本文件,其中有若干行文本。编写如下程序:

Private Sub Command1_Click()

Dim ch As String, ascii As Integer Open \ While Not EOF(1)

Line Input #1, ch

经济1401班

ascii=toascii(ch) Print ascii Wend Close #1 End Sub

Private Function toascii(mystr As String)As Integer n=0

For k=1 To Len(mystr)

n=n+Asc(Mid(mystr, k, 1)) Next k toascii=n End Function

程序的功能是( )。

A. 计算文件中所有字符的ASCII码之和,并显示在窗体上

B. 按行计算文件中每行字符的ASCII码之和,并显示在窗体上

C. 把文件中所有文本行按行显示在窗体上 D. 在窗体上显示文件中所有字符的ASCII码值

正确答案:B,你的答案:B, √

14. 窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。以下程序的功能是从顺序文件中读取数据: Private Sub Command1_Click()

Dim s1 As String, s2 As String

Open \:\\d4.dat\ Line Input #3, s1 Line Input #3, s2 Text1.Text=s1+s2 Close End Sub

该程序运行时有错误,应该进行的修改是( )。

A. 将Line Input改为Line B. 将Close语句改为Close #3

C. 将Open语句中的For Append改为For Input

D. 将两条Line Input语句合并为Line Input #3, s1,s2

正确答案:C,你的答案:B, ×

15. 下面关于文件叙述中错误的是( )。

A. 随机文件每个记录的长度是固定的

B. 不论是顺序文件还是随机文件,都是数据文件

C. 顺序文件的记录是顺序存放的,可以按记录号直接访问某个记录

D. VB数据文件需要先打开,再进行处理 正确答案:C,你的答案:C, √

16下列关于顺序文件的描述中,正确的是( ) A. 容易实现记录的增减操作

B. 不能像随机文件一样灵活地存取数据 C. 每条记录的长度是固定的

D. 文件的组织与数据写入的顺序无关 正确答案:B,你的答案:C, ×

19. 以下关于文件的叙述中,错误的是() A. 随机文件中记录的长度是随机的 B. EOF函数用来测试是否到达文件尾

C. 顺序文件中的数据是一个接一个地顺序存放

D. 文件被打开后,自动生成一个文件指针 正确答案:A,你的答案:D,

17. 设有语句:

Open \:\\Test.Dat\ As #1 则以下叙述中错误的是( )。

A. 该语句打开C盘根目录下一个名为Test.Dat的文件,如果该文件不存在则创建该文件

B. 该语句打开C盘根目录下的一个文件Test.Dat,如果该文件不存在则出错 C. 执行该语句后,就可以通过Print #语句向文件Test.Dat中写入信息

D. 该语句打开文件的文件号为1 正确答案:B,你的答案:C, ×

20. 以下叙述中错误的是( )。

A. Print #语句和Write #语句都可以向文件

经济1401班

中写入数据

B. 如果用Write #语句把数据输出到文件,则各数据项之间自动插入逗号,并且把字符串加上双引号

C. 用Print #语句和Write #语句所建立的顺序文件格式总是一样的

D. 如果用Print #语句把数据输出到文件,则各数据项之间没有逗号分隔,字符串也不加双引号

正确答案:C,你的答案:C, √

A. 把Print \改为Print #2, Text1 B. 把所有 #2 改为 #1

C. 把Print \改为Write \D. 把Print \改为 Print Text1

19. 下列有关文件的叙述中,正确的是( )。

A. 以Output方式打开一个不存在的文件时,系统将显示出错信息

B. 以Append方式打开的文件,既可以进行读操作,也可以进行写操作

C. 在随机文件中,每个记录的长度是固定的

D. 无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的

11. 用语句 Open \For Input As #1打开文件后,就可以编程序( )

A. 将C盘根目录下teac.txt文件的内容读入内

B. 将某个磁盘文件的内容写入C盘根目录下名为teac.txt的文件

C. 在C盘根目录下建立名为teac.txt的文件D. 把内存中的数据写入C盘根目录下名为teac.txt的文件

12. 下面关于文件叙述中错误的是( )。 A. 顺序文件的记录是顺序存放的,可以按记录号直接访问某个记录

B. 不论是顺序文件还是随机文件,都是数据文件

C. VB数据文件需要先打开,再进行处理 D. 随机文件每个记录的长度是固定的

以下选择题未给出答案

20. 文件d:\\city.txt的内容如下: BeiJing TianJin ShangHai ChongQing

编写如下事件过程: Private Sub Form_Click() Dim InD

Open \ Do While Not EOF(1) Line Input #1, InD Loop Close 1 Print InD End Sub

运行程序,单击窗体,输出结果是() A. ChongQing B. 空白 C. 文件city.txt的全部内容 D. BeiJing

14. 顺序文件在一次打开期间( C )。 A. 只能写,不能读 B. 只能读,不能写 C. 或者只读,或者只写D. 既可读,又可写

18. 某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中: Private Sub Command1_Click()

Open \ Print \ Close #2 End Sub

调试时发现没有达到目的,为实现上述目的,应做的修改是( )。

经济1401班

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

Top