admin 管理员组

文章数量: 887021


2023年12月16日发(作者:9号工字钢)

VB简介

1、在以下有关对象属性的叙述中,不正确的是___________。

A、一个对象的属性可分为外观、行为若干类

B、不同属性可能具有不同的数据类型

C、一个对象的所有属性都可在属性窗口的列表中进行设置

D、属性窗口中的属性列表既可按字母排序也可按类别排序

2、Visual Basic中最基本的对象是___________,它是应用程序的基石,也是其他控件的容器。

A、文本框

B、命令按钮

C、窗体

D、标签

3、有程序代码“="Visual Basic"”,其中的Text1、Text和“Visual Basic”分别代表___________。

A、对象、值、属性

B、对象、方法、属性

C、对象、属性、值

D、属性、对象、值

4、用窗体的___________属性来设置窗体的标题。

A、Caption

B、Style

C、Text

D、Name

5、窗体上有一个文本框控件Text1,假设已存在三个整型变量a、b、c,且变量a的值为5,变量b的值为7,变量c的值为12。以下的___________语句可以使文本框内显示的内容为:5+7=12。

A、 = a + b + c

B、 = "a+b=c"

C、Text1 = a & "+" & b & "=" & c

D、Text1 = "a" & "+" & "b" & "=" & "c"

6、如果在窗体上有命令按钮OK,在代码编辑窗口有与之对应的Cmd_Click()事件,则命令按钮的名称属性和Caption属性分别为_________。

A、OK、Cmd

B、Cmd、OK

C、CmdOK、OK

D、OK、CmdOK

7、窗体Form1的名称属性是frm,它的Load事件过程名为___________。

A、Form_Load

1

B、Form1_Load

C、frm_Load

D、Me_Load

8、下列有关对象属性的说法正确的是___________。

A、对象所有的属性都罗列在属性窗口列表中

B、不同对象不可能有同名属性

C、不同对象的同名属性取值一定相同

D、对象的某些属性既可以在属性窗口中设置,也可以在程序代码中设置

9、一个对象可以执行的动作与可被对象识别的动作分别被称为___________。

A、事件、方法

B、方法、事件

C、属性、方法

D、过程、事件

10、下列有关算法的叙述中,___________是不正确的。

A、算法中执行的步骤可以无休止的执行下去

B、算法中的每一步操作必须含义明确

C、算法中的每一步操作都必须是可执行的

D、算法必须有输出

11、对象可以识别和响应的某些行为称为___________。

A、方法 B、继承 C、属性 D、事件

12、如果设计时在属性窗口将命令按钮的___________属性设置为False,则运行时按钮从窗体上消失。

A、Visible B、Enabled C、DisabledPicture D、Default

13、将文本框的___________属性设置为True时,文本框可以输入或显示多行文本。

A、MultiLine B、ScrollBars C、Text D、Enabled

14、下面___________对象无Caption属性。

A、Form B、CommandButton C、TextBox D、Label

15、决定控件上文字的字体、字形、大小、效果的属性是___________。

A、Text B、Caption C、(名称) D、Font

16、结构化程序设计有三种基本结构,不包括___________。

A、顺序结构 B、模块结构 C、选择结构 D、循环结构

17、一个对象所能做的事情称为对象的___________。

A、方法 B、继承 C、属性 D、封装

18、如果设计时在属性窗口将命令按钮的___________属性设置为False,则运行时按钮不能响应用户的鼠标事件。

A、Visible B、Enabled C、DisabledPicture D、Default

19、当标签的标题内容太长,需要根据标题自动调整标签的大小时,应设置标签的

___________属性设置为True。

A、AutoSize B、WordWrap C、Visible D、Enabled

20、下面控件中,没有 Caption 属性的是___________。

A、复选框 B、单选按钮 C、组合框 D、框架

21、任何控件都具有___________属性。

A、Text B、Caption C、(名称) D、ForeColor

22、窗体上有多个控件,在Form_Activate()事件过程中添加___________语句,就可以确

2

保每次运行程序时,都将光标定位在文本框Text1中

A、=""

B、us

C、us

D、e=True

23、若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是___________。

A、用鼠标右键单击此按钮

B、按键盘上的Esc键

C、按键盘上的回车键

D、用鼠标右键双击此按钮

24、如下选项中,___________不是VB提供的程序控制结构。 A、顺序结构 B、选择结构 C、重复结构

3

D、树型结构

程序代码基础

bb24ac2a1、数学表达式对应的Visual Basic表达式为__________。

A、-b + Sqr(b * b - 4 * a * c) / 2 * a

B、-b + Sqr(b * b - 4 * a * c) / (2 * a)

C、(-b + Sqr(b * b - 4 * a * c) )/ 2 * a

D、(-b + Sqr(b * b - 4 * a * c) )/ (2 * a)

2、Visual Basic中可以同时删除字符串前导和尾部空格的函数是__________。

A、Ltrim

B、Rtrim

C、Trim

D、Mid

3、设A=7,B=4,C=6,则表达式A Mod 3 + B ^ 3 / C 5的值为__________。

A、出错

B、3

C、2

D、1

4、在Form_Click事件中执行如下语句的结果是__________。

Print Format(1236.54, "+##,##0.0%")

A、123456

B、+123,654.0%

C、+123,6.54%

D、+123,654

5、语句Print "5*20"的输出结果是__________。

A、"5*20"

B、出现错误信息

C、5*20

D、100

6、窗体上放置了三个文本框,若在Text1中输入123,在Text2中输入78,在程序中执行了语句Text3 = Text1 + Text2后,则在Text3中显示__________。

A、434 B、12378 C、溢出 D、语法错误

7、表达式Val(“abcdfg123e1234”)的值为__________。

A、 789 B、1234 C、0 D、表达式错

8、假设变量BOOL是一个布尔型变量,则下列赋值语句中,正确的是__________。

A、BOOL ='TRUE'

B、BOOL =.TRUE.

C、BOOL =#TRUE#

D、BOOL = True

9、函数Cint、Int、 Fix都返回整数值,以下能正确地描述它们返回整数值大小关系的是

4

__________。

A、CInt(-5.59)=Int(-5.59)< Fix(-5.59)

B、Int(-5.59)

C、CInt(-5.59)< Fix(-5.59)

D、Int(-5.59)

10、表达式Int(91*Rnd+20)的最大值是__________。

A、10 B、90 C、 99 D、110

11、能正确返回正整数N的数据位数的语句是__________。

A、Len(N) B、Len(Str(N)) C、Len(CStr(N)) D、Len(Val(N))

12、如下四个符号,可以作为VB合法变量名的是__________。

A、5_f B、 _5flg C、 User%s D、 N1

13、下列表达式中运算结果为True的是__________。

A、"ABCRG" >= "abcde"

B、Int(134.69) < CInt(134.69)

C、78.9 / 35.77 <= 97.5 / 43、87 And -45.4 > -4.98

D、Str(32.345) = CStr(32.345)

14、表达式6.5 * 5 Mod 28 8的值是__________。

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

15、能正确描述条件“A、B之一为零但不得同时为零”的VB逻辑表达式是__________。

A、A = 0 Or B = 0

B、A * B = 0 And A + B <> 0

C、A * B = 0 Or A + B <> 0

D、A = 0 And B = 0

16、如下语句中,不能正常执行的是__________。

A、Print 5+7=100

B、Print 3245343+23233

C、Print 3423/89

D、Print 32765+3

17、假设变量Lng为长整形变量,下面不能正常执行的语句是__________。

A、Lng=16384*2

B、Lng=4*0.5*16384

C、Lng=190^2

D、Lng=32768*2

18、设a=“Visual Basic”,下面使b的值为“Basic”的语句是__________。

A、b=Left(a,8,12)

B、b=Mid(a,8,5)

C、b= Right(a,5,5)

D、b=Left(a,8,5)

19、下面所列四组数据中,全部是正确的VB常数是__________。

A、32768 1、34D2 "ABCDE" &O1767

B、3276 123.56 1、2E-2 #True#

C、&HABCE 02-03-2002 False D-3

D、ABCDE #02-02-2002# E-2 #True#

20、表达式Int(5*Rnd+10)的最小值是__________。

5

A、9 B、 10 C、 11 D、12

21、将数学表达式cos2(a+b)+5e2是写成Vb表达式的正确形式是__________。

A、Cos(a+b)^2+5*Exp(2)

B、Cos ^2(a+b) +5*Exp(2)

C、Cos (a+b) ^2 +5*e^2

D、Cos ^2(a+b) +5*Ln(2)

22、假设变量myd为日期时间型变量,下面不能正常执行的语句是__________。

A、myd = 12:23:30

B、myd =#10/22/2010 3:30:32 PM#-1

C、myd = #10/22/2010 3:30:32 PM#

D、myd =#10/22/2010 3:30:32 PM#+1

23、数学表达式ab对应的正确Visual Basic表达式为__________。

abA、a-b/a+b

B、a-b/(a+b)

C、(a-b)/a+b

D、(a-b)/(a+b)

24、设Mys1,Mys2均为字符串型变量,Mys1="Visual Basic", Mys2="b",则下面关系表达式中结果为True的是__________。

A、Len(Mys1)<>2*InStr(Mys1,”i”)

B、Mid(Mys1,8,1)>Mys2

C、Chr(98) & Right(Mys1,4)=”Basic”

D、InStr(Left(Mys1,6),”a”)+60>Asc(Ucase(Mys2))

25、设A=7,B=4,C=6,,则表达式A Mod3+B^3/C5的值为__________。

A、1 B、2 C、3 D、出错

26、语句Print Format(12345.6, "+###,##0.00")执行结果是__________。

A、12,345.6 B、 +12,345.60 C、 +#12,345.60 D、+12,345.6

27、已知函数ASC(“A”)的值65,则函数ASC(“b”)的值是__________。

A、65 B、98 C、78 D、100

28、以下___________是字符串常量。

A、False B、"abc" C、'def ' D、# True #

29、以下不能作为Visual Basic变量名的是___________。

A、2Fa B、F2a C、Fa2 D、Fa_2

30、设有以下定义语句:

Dim m, n as Single, d1 as Double, d2 as string

则变量m的类型是___________

A、单精度型 B、双精度型 C、字符串型 D、可变类型

31、表达式5 * 2 Mod 25 2 ^ 2的值是___________。

A、1 B、0 C、6 D、4

32、显示如图所示输入框的Inputbox语句是___________。

6

A、a = InputBox("应用示例", "请输入" & "正整数", "1")

B、a = InputBox("应用示例","请输入" & vbCrLf & "正整数", "1")

C、a = InputBox("请输入" & "正整数", "应用示例", "1")

D、a = InputBox("请输入" & vbCrLf & "正整数", "应用示例", "1")

33、以下___________是布尔型常量。

A、True B、" True " C、' True ' D、# True #

34、如果将布尔常量值True赋值给一个整型变量,则整型变量的值为___________。

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

35、下列叙述正确的是___________。

A、注释语句是执行语句,仅对程序的有关内容起注释作用

B、代码中加入注释语句的目的是提高程序的可读性

C、注释语句不可以放在续行符的后面

D、只能使用Rem关键字书写注释语句

36、下面__________不是字符串常量。

A、"你好" B、" " C、"True" D、#False#

37、下列符号常量的声明中,__________是不合法的。

A、Const a as Single=1.1

B、Const a as Integer="12"

C、Const a as Double=Sin(1)

D、Const a="OK"

38、下列叙述中不正确的是__________。

A、变量名的第一个字符必须是字母

B、变量名的长度不超过255个字符

C、变量名可以包含小数点或者内嵌的类型声明字符

D、变量名不能使用关键字

39、Int(100 * Rnd())产生的随机整数区间是__________。

A、[0,99] B、[1,100] C、[0,100] D、[1,99]

40、函数Right("Beijing", 4)的值是__________。

A、Beij B、jing C、eiji D、ijin

41、表达式Abs(-5) + Len("ABCDE")的值是__________。

A、5ABCDE B、-5ABCDE C、10 D、0

42、设A、B、C表示三角形的三条边,表示条件“任意两边之和大于第三边”的布尔表达式可以用__________表示。

A、A + B > C Or A + C > B Or B + C > A

B、A + B < C Or A + C < B Or B + C < A

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

D、A + B < C And A + C < B And B + C < A

43、在一个语句行内写多条语句时,语句之间应该用__________分隔。

A、逗号 B、分号 C、顿号 D、冒号

44、下面__________是字符串常量。

A、m B、#01/01/99# C、"m" D、True

45、要强制显式声明变量,可在窗体模块或标准模块的通用声明段中加入语句__________。

A、Option Base 0

B、Option Explicit

7

C、Option Base 1

D、Option compare

46、产生[10,37]之间的随机整数的VB表达式是__________。

A、Int(Rnd * 27) + 10

B、Int(Rnd * 28) + 10

C、Int(Rnd * 27) + 11

D、Int(Rnd * 28) + 11

47、有以下定义语句:

Dim max, min As Integer

则变量max的类型是__________。

A、可变类型 B、单精度型 C、整型 D、长整型

48、函数Left("how are you", 3)的值是__________。

A、how B、are C、you D、how are you

49、函数Mid("shanghai", 6, 3)的值是__________。

A、shangh B、sha C、angh D、hai

50、可表示“两个变量A和B之一为0,但不能同时为0”的表达式是__________。

A、A = 0 And B <> 0

B、A * B = 0 And A <> B

C、A <> 0 And B = 0

D、A <> 0 And B = 0 And A = 0 And B <> 0

51、在VB代码编辑器中,用来表示续行的是__________。

A、一个空格加一个下划字符( _ )

B、一个下划字符( _ )

C、直接回车

D、一个空格加一个连字符( - )

52、如果将布尔常量值False赋值给一个整型变量,则整型变量的值为__________。

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

8

选择结构程序设计

1、下列语句正确的是__________。

A、If x < 4 * y And x > y Then y = x4

B、If x < 4 * y And x > y Then y = x ^ 4

C、If x < 4 * y : x > y Then y = x ^ 4

D、If x < 4 * y And x > y Then y = x ** 4

2、分析下列语句,给出执行结果

Private Sub Form_Click()

Const pi As Single = 3.14

a% = 7

If a Mod 4 > pi Then Print "努力" Else Print "学习"

End Sub

执行结果为___________,其判决条件的值为__________。

A、努力 TRUE

B、学习 False

C、努力 False

D、学习 TRUE

3、针对语句If I = 1 Then J = 1,下列说法正确是__________。

A、I = 1和J = 1均为赋值语句

B、I = 1、J = 1均为关系表达式

C、I = 1为关系表达式,J = 1为赋值语句

D、I = 1为赋值语句,J = 1为关系表达式

4、如果X的值大于或等于Y的平方,则打印“OK”,表示这个功能的单行格式If语句是___________。

A、If x >= y ^ 2 Then Print OK

B、If x >= y 2 Then Print "OK"

C、If x >= y ^ 2 Then Print "OK"

D、If x >= y ^ 2 Then Print "OK" End If

5、语句X = X + 1的正确含义是__________。

A、变量X的值与X+1的值相等

B、将变量X的值存到X+1中去

C、将变量X的值加1后赋给变量X

D、变量X的值为1

6、以下__________程序段可以实现X、Y变量值的交换。

A、Y = X: X = Y

B、Z = X: Y = Z: X = Y

C、Z = X: X = Y: Y = Z

D、Z = X: W = Y: Y = Z: X = Y

7、下列语句正确的是__________。

A、If A≥B Then T=A A=B B=T

9

B、If A≥B Then T=A ;A=B; B=T

C、If A>=B Then T=A A=B B=T

D、If A>=B Then T=A : A=B : B=T

8、关于语句If x = 1 Then y = 1,下列说法正确的是__________。

A、x = 1 和 y = 1均为赋值语句

B、x = 1 和 y = 1均为关系表达式

C、x = 1 为关系表达式, y = 1为赋值语句

D、x = 1 为赋值语句, y = 1为关系表达式

9、下列说法中正确的是__________。

A、语句 = x的含义是将变量x的值显示于文本框Text1中

B、语句 = x的含义是将文本框Text1中的内容赋值给变量x

C、语句 = x的含义是将文本框Text1中的内容转换为数值型后赋值给变量x

D、以上说法都是错误的

10、下列语句正确的是__________。

A、If x < 3 * y And x > y Then y = x ^ 3

B、If x < 3 * y And x > y Then y = x3

C、If x < 3 * y : x > y Then y = x ^ 3

D、If x < 3 * y And x > y Then y = x * * 3

11、如果X的值小于或等于Y的平方,则打印“OK”,表示这个功能的单行If语句是__________。

A、If x <= y2

Then Print "OK"

B、If x <= y ^ 2 Then Print "OK"

C、If x <= y ^ 2 Then "OK"

D、If x <= y ^ 2 Print "OK"

10

循环结构程序设计

1、在程序中有语句For i = n1 To n2 Step n3,则在循环体中有下列__________语句会影响循环执行的次数。

A、n1 = n1 + 1

B、n2 = n2 + n3

C、n3 = 2 * n3

D、i=i+n3

2、循环结构For I = 1 to 15 step 2 的执行次数是__________。

A、6 B、7 C、8 D、9

3、下列循环结构中,窗体上打印出来的循环变量i的值为___________。

sum = 0

For i = 1 To 100

sum= sum + i

Next i

Print i;sum

A、1 B、2 C、100 D、101

4、下列循环结构中,循环体x = x + k的执行次数为___________。

x = 0

For k = 1 To 10 Step 2

x = x + k

Next k

print k;x

A、0 B、1 C、5 D、10

5、以下循环语句中在任何情况下都至少执行一次循环体的是___________。

A、Do While <条件> B、While <条件>

循环体 循环体

Loop Wend

C、Do D、Do Until <条件>

循环体 循环体

Loop Until <条件> Loop

6、在窗体上画一个名称为Command1的命令按钮,并编写以下程序:

Private Sub Command1_Click()

Dim n% ,b ,t

t = 1 : b = 1 : n = 2

Do

b = b * n

t = t + b

n = n +1

Loop Until n>9

Print t

11

End Sub

此程序计算并输出一个表达式的值,该表达式是___________。

A、9!

B、10!

C、1!+2!+…+9!

D、1!+2!+…+10!

12

数组

1、某过程的说明语句中,正确的数组说明语句是__________。

Const n As Integer = 3

Dim L As Integer

① Dim x(L) As Integer

② Dim a(k) As Integer

Const k As Integer = 3

③ Dim b(n) As Integer

④ Dim y(2000 to 2008) as Integer

A、①②④

B、①③④

C、③④

D、②③

2、下列有关数组的说法中,错误的是__________。

A、数组必须先定义后使用

B、数组形参可以是定长字符串类型

C、Erase语句的作用是对已定义数组的值重新初始化

D、定义数组时,数组维界值可以不是整数

3、在窗体的通用声明处有语句“Dim a() As Single”,以下在某事件过程中重定义此数组的一组正确语句是__________。

A、ReDim a(3, 3)

ReDim a(4, 4) As Integer

B、ReDim a(3, 3)

ReDim preserve a(4, 4)

C、ReDim a(3)

ReDim a(3, 3) as Integer

D、ReDim a(3, 3)

ReDim preserve a(3, 4)

4、以下___________是Visual Basic合法的数组元素表示法。

A、x_9 B、x[9] C、x{9} D、x(9)

5、下面的数组声明语句中___________是正确的。

A、Dim a[3,4] As Integer B、Dim a(3, 4) As Integer

C、Dim a(3;4) As Integer D、Dim a(3:4) As Integer

6、设有数组声明语句:

Option Base 1

Dim b(-1 To 1, 2 ) As Integer

则数组b中共有___________个元素。

A、2 B、4 C、6 D、9

7、使用语句Dim a(1 To 15) As String声明数组a之后,以下说法正确的是___________。

A、A数组中的所有元素值为0

13

B、A数组中的所有元素值不确定

C、A数组中的所有元素值为空串

D、A数组中的所有元素值为True

8、关于ReDim语句,以下说法错误的是___________。

A、ReDim语句可以改变数组的维数

B、ReDim语句既可以在过程中使用,也可以在模块的通用声明处使用

C、ReDim语句可保留动态数组中原有的内容

D、在ReDim语句中,可使用变量说明动态数组的大小

9、设有数组声明语句:

Option Base 1

Dim a(-1 To 2,8) As Long

则,函数LBound(a,2) 的值为___________。

A、0 B、-1 C、1 D、2

10、下列关于控件数组的说法错误的是___________。

A、控件数组由一组具有共同名称和相同类型的控件组成

B、控件数组中的每一个控件共享同样的事件过程

C、控件数组中的每个元素的下标由控件的Index属性指定

D、同一控件数组中的元素只能有相同的属性值

11、设有命令按钮Command1单击事件过程,代码如下:

Private Sub Command1_Click()

Dim a(30)As Integer

For i=1 To 30

a(i)=Int(Rnd*100)

Next

For Each arrItem In a

If arrItem Mod 7=0 Then Print arrItem;

If arrItem>90 Then Exit For

Next

End Sub

对于该事件过程,以下叙述中错误的是___________。

A、a数组中的数据是30个100以内的整数

B、语句For Each arrItem In a有语法错误

C、If arrItem Mod 7=0……语句的功能是输出数组中能够被7整除的数

D、If arrItem>90……语句的作用是当数组元素的值大于90时退出For循环

12、有以下程序:

Option Base 1

Dim a() As Integer

Private Sub Form_Click()

Dim i As Integer, j As Integer

ReDim a(3, 2)

For i = 1 To 3

For j = 1 To 2

a(i, j) = i * 2 + j

Next j

14

Next i

ReDim Preserve a(3, 4)

For j = 3 To 4

a(3, j) = j + 9

Next j

Print a(3, 2); a(3, 4)

End Sub

程序运行后,单击窗体,输出结果是___________。

A、 8 13 B、 0 13 C、 7 12 D、 0 0

13、下面的数组声明语句中__________是正确的。

A、Dim a[3,4] as Integer

B、Dim a(3, 4) As Integer

C、Dim a[3;4] as Integer

D、Dim a(3:4) as Integer

14、设有数组声明语句:

Option Base 1

Dim A(2) As Integer

则数组A的下界为__________。

A、0 B、1 C、2 D、不能确定

15、以下说法不正确的是__________。

A、使用ReDim语句可以改变动态数组的维数

B、若用Dim语句定义了动态数组的类型,可以用ReDim更改为其它类型

C、使用ReDim语句可以改变动态数组每一维的大小

D、使用ReDim语句可以对动态数组中的所有元素进行初始化

16、用Array函数给某X赋值时,X必须是__________。

A、已经声明的静态数组

B、已经声明的动态数组

C、Variant类型的变量

D、整型变量

17、设有数组声明语句:

Option Base 1

Dim A(-1 To 2) As Long

则函数UBound(A)的值为__________。

A、0 B、-1 C、1 D、2

18、设用复制、粘贴的方法建立了一个命令按钮数组Command1,以下对该数组的说法中错误的是__________。

A、命令按钮的Caption属性都是Command1

B、在代码中访问任意一个命令按钮只需使用名称Command1

C、命令按钮的大小都相同

D、命令按钮共享相同的事件过程

19、在窗体上画 1 个命令按钮,并编写如下事件过程:

Private Sub Commandl Click()

Dim a(3,3)

For m=1 To 3

15

For n=1 To 3

If n=m Or n=4-m Then

a(m,n)=m+n

Else

a(m,n)=0

End If

Print a(m,n);

Next n

Print

Next m

End Sub

运行程序,单击命令按钮,窗体上显示的内容为__________。

24 A、006 B、406 C、006 D、056

20、下列程序段的执行结果为__________。

Dim A(3)

For i = 1 To 3

A(i) = i * i

Next i

Print A(i - 1)

A、16 B、9 C、4 D、1

21、以下__________是VB中合法的数组元素表示法。

A、X9 B、X[9] C、X{9} D、X(9)

22、设有数组声明语句:

Option Base 1

Dim A(-1 to 2) As Integer

则数组A中共有__________个元素。

A、2 B、3 C、4 D、不能确定

23、使用语句Dim A(1 To 15) As Integer声明数组A之后,下面说法中正确的是__________。

A、数组中所有元素的值为0

B、数组中所有元素的值不确定

C、数组中所有元素的值为空串

D、以上说法均不对

24、在以下语句中,a只能是__________。

Dim X(15)

For Each a In X

Print a;

Next a

A、已经声明的静态数组 B、已经声明的动态数组

C、Variant类型的变量 D、整型变量

25、设有数组声明语句:

Option Base 1

16

Dim A(2) As Long

则函数LBound(A)的值为__________。

A、0 B、-1 C、1 D、2

26、在窗体上用复制、粘贴的方法建立了一个命令按钮数组,数组名为M1。设窗体Form1标题为“myform1”,双击控件数组中的第三个按钮,打开代码编辑器,写如下代码:

Private Sub M1_Click(Index As Integer)

n = "myform2"

End Sub

运行时单击按钮数组中的第一个按钮,则窗体显示标题为__________。

A、Form1 B、M1 C、myform1 D、myform2

27、在窗体上画一个名为 Command1 的命令按钮,然后编写如下代码:

Option Base 1

Private Sub Command1_Click()

Dim a, s As Integer

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

j = 1

For i = 4 To 1 Step -1

s = s + a(i) * j

j = j * 10

Next i

Print s

End Sub

运行上面的程序,其输出结果是__________。

A、1234 B、12 C、34 D、4321

28、窗体上有 Command1、Command2 两个命令按钮。现编写以下程序:

Option Base 0

Dim a( ) As Integer, m As Integer

Private Sub Command1_Click( )

m=InputBox("请输入一个正整数")

ReDim a(m)

End Sub

Private Sub Command2_Click( )

m=InputBox("请输入一个正整数")

ReDim a(m)

End Sub

运行程序时,单击 Command1 后输入整数 10,再单击 Command2 后输入整数 5,则数组

a 中元素的个数是__________。

A、5 B、6 C、10 D、11

29、下面有关数组的说法中,错误的是__________。

A、一般而言,数组必须先定义后使用

B、数组的下界必须从0开始

C、Erase语句的作用是对已定义固定大小数组的值重新初始化

D、定义数组时,数组维界值可以不是整数

30、下面有关数组处理的叙述中,不正确的是__________。

17

A、过程中用ReDim语句重定义动态数组时,其下标的上下界可为赋了值的变量

B、在过程中,可以使用Dim、Private和Static语句定义数组

C、用ReDim语句重新定义动态数组时,不得改变该数组的数据类型

D、在ReDim语句中使用Preserve语句时,只能改变数组最后一维的维上界

18

过程

1、下列说法中正确的是__________。

A、在某个Sub过程中定义的局部变量可以与其它事件过程中定义的局部变量同名,但其作用域只限于该过程

B、在窗体的Form_Load事件过程中定义的变量是全局变量

C、局部变量的作用域可以超出所定义的过程

D、在调用过程时,所有局部变量被系统初始化为0或空字符串

2、下有关参数的说法中,错误的是__________。

A、过程的形参不可以是定长字符串类型的变量

B、按地址传递参数,形参和实参的类型可以不同

C、按值传递参数,形参和实参的类型可以不同,只要相容即可

D、按地址传递参数,形参和实参也能以按值传递方式进行形实结合

3、Visual Basic中系统默认的参数传递方式是__________。

A、按值

B、按地址

C、byval

D、按形参

4、在Visual Basic中,下列关于过程的定义说法正确的是__________。

A、过程可以嵌套定义也可以嵌套调用

B、过程可以嵌套定义但不可以嵌套调用

C、过程不可以嵌套定义但可以嵌套调用

D、过程不可以嵌套定义也不可以嵌套调用

5、若在应用程序中用“Private Sub sub1(x As Integer, y As Single)”定义了子程序sub1,调用程序中的变量i,j均为Integer型,则正确调用子程序sub1的是__________。

①Call sub1(i, j) ②Call sub1(3.1415, i)

③Call sub1(3.14, 234) ④Call sub1("245", "231.5")

A、①③

B、③④

C、①②③

D、无

6、调用由语句Private Sub convert(y As Integer)定义的Sub过程时,以下不是按值传递的语句是__________。

A、Call convert((x))

B、Call convert(x * 1)

C、convert (x)

D、convert x

7、在Visual Basic中,全局变量的定义方式是__________。

A、Dim

B、Static

C、Private

19

D、Public

8、在过程中定义的变量,若希望在离开过程后,还能保存过程中该变量的值,则应该使用__________关键字在过程中定义该局部变量。

A、Dim

B、Static

C、Private

D、Public

9、可以在__________中,使用Public pubstr as String*20定义一个定长字符串。

A、窗体模块

B、标准模块

C、类模块

D、三者均可

10、若在应用程序的标准模块、窗体模块和过程Sub1的说明部分,分别用“Public G As

Integer”、“Private G As Integer”和“Dim G As Integer”语句说明了三个同名变量G。如果在过程Sub1中使用赋值语句“G=3596”,则该语句是给在__________说明部分定义的变量G赋值。

A、标准模块

B、过程Sub1

C、窗体模块

D、标准模块、窗体模块和过程Sub1

11、多窗体程序由多个窗体组成。在缺省情况下,Visual Basic在执行应用程序时,总是把__________指定为启动窗体。

A、不包含任何控件的窗体

B、设计时的第一个窗体

C、命名为Frm1的窗体

D、包含控件最多的窗体

12、在窗体模块的通用声明段中声明变量时,不能使用___________关键字。

A、Dim B、Static C、Private D、Public

13、下面的过程定义语句中合法的是___________。

A、Sub proc1(Byval n()) B、Sub proc1(n) As Integer

C、Function proc1(proc1) D、Function proc1(Byval n)

14、Sub过程与Function过程最根本的区别是___________。

A、两种过程参数的传递方式不同

B、Sub过程可以使用Call语句或直接使用过程名调用,而Function不可以

C、Sub过程的过程名不能返回值,而Function过程能通过过程名返回值

D、Function过程可以有参数,Sub过程不可以

15、在过程调用中,参数的传递可以分为___________两种方式。

A、按值传递和按地址传递 B、按值传递和按参数传递

C、按地址传递和按参数传递 D、按参数传递和按位置传递

16、要想在过程调用后返回两个结果,下面的过程定义语句中正确的是_________。

A、Sub proc1(ByVal n, ByVal m) B、Sub proc1(ByVal n, m)

C、Sub proc1(n, ByVal m) D、Sub proc1(n, m)

17、通用过程可以通过执行“工具”菜单中的___________命令来建立。

A、添加过程 B、通用过程 C、添加窗体 D、添加模块

20

18、假设已定义了一个私有通用过程Private Sub Sub1(a As Single, b As Single),则下列调用语句中错误的是___________。

A、Sub1 12,12 B、Call Sub1 x,y

C、Call Sub1(2*x,sin(1)) D、sub1 12,x

19、在过程调用中,参数的传递可以分为按值传递和__________两种方式。

A、按数组传递 B、按参数传递 C、按地址传递 D、按索引传递

20、在参数传递过程中,使用关键字__________来修饰参数,可以使之按值传递。

A、ByVal B、ByRef C、Value D、Reference

21、下面有关标准模块的叙述中,错误的是__________。

A、标准模块不完全由代码组成,还可以有窗体

B、标准模块中的 Private过程不能被工程中的其他模块调用

C、标准模块的文件扩展名为.bas

D、标准模块中的全局变量可以被工程中的任何模块引用

22、下面的过程定义语句合法的是__________。

A、Sub proc1(ByVal n()) B、Sub proc1(n) As Integer

C、Function proc1(proc1) D、Function proc1(ByVal n)

23、在过程调用中,参数的传递可以分为按地址传递和__________两种方式。

A、按数组传递 B、按参数传递 C、按值传递 D、按位置传递

24、在参数传递过程中,使用关键字__________来修饰参数,可以使之按地址传递。

A、ByVal B、ByRef C、Value D、Reference

25、Sub过程与Function过程最根本的区别是__________。

A、Sub过程可以使用Call语句调用,而Function过程不可以

B、Function过程可以有参数,而Sub过程不可以

C、两种过程的参数传递方式不同

D、Sub过程的过程名不能返回值,而Function过程能通过过程名返回值

26、标准模块中有如下程序代码:

Public x As Integer,Y As Integer

Sub var_pub()

x=10 : y=20

End Sub

在窗体上有 1 个命令按钮,并有如下事件过程:

Private Sub Commandl_Click()

Dim x As Integer

Call var_pub

x=x+100

y=y+100

Print x; y

End Sub

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

A、100 100 B、100 120 C、110 100 D、110 120

27、在窗体上有 1 个命令按钮,并有如下事件过程:

Sub S()

X = 1

Y = 2

21

Z = X + Y

Print X, Y, Z

End Sub

Private Sub Command1_Click()

X = 2

Y = 3

Z = X + Y

Call S

Print X, Y, Z

End Sub

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

A、1 2 3 B、2 3 5 C、2 3 3 D、1 2 5

22

常用控件

1、下列__________属性是每个控件都具有的。

A、Name

B、Caption

C、Font

D、Interval

2、单选按钮用于一组互斥的选项中,若一个应用程序中包含多组互斥条件,可使用__________控件对单选按钮进行分组。

A、框架控件或图像控件

B、组合框或图像控件

C、组合框或图片框

D、框架控件或图片框

3、以下所列的8个控件中,具有Caption属性的有__________个。

CheckBox(复选框)、ComboBox(组合框)、HscrollBar(水平滚动条)、DirListBox(文件夹列表框)、Image(图像框)、Frame(框架)、Label(标签)、Line(线条)

A、5

B、4

C、3

D、2

4、使用__________方法可以将新的列表项添加到一个列表框中。

A、Print

B、AddItem

C、Clear

D、RemoveItem

5、在程序中可以通过复选框和单选按钮的__________属性值来判断它们的当前状态。

A、Caption

B、Value

C、Checked

D、Selected

6、以下使用方法的语句中,正确的是__________。

A、

B、

C、

D、

7、Visual Basic中除窗体能显示图片外,下面列出的控件中可以显示图片的控件有__________个。

PictureBox、Image、TextBox、CommandButton、OptionButton、Label

A、2

B、3

C、4

23

D、5

8、能够区分各鼠标按钮与【Shift】、【Ctrl】、【Alt】键的事件过程是__________。

A、Click

B、Keypress

C、Dblclick

D、MouseMove

9、下列关于Line和Shape控件说法不正确的是__________。

A、Line和Shape控件都可以在窗体或图片框控件内绘制图形或画线

B、Line和Shape控件绘制的图形不支持任何事件

C、程序运行时可以使用Move方法移动Line控件

D、可以在容器中绘制Shape控件,但是不能把该控件当作容器

10、Visual Basic中利用Circle方法不可以画__________。

A、圆

B、直线

C、弧

D、椭圆

11、如下语句中,与(dex)功能相同的是__________。

A、 B、unt

C、 D、dex

12、使用__________方法可将新的列表项添加到一个列表框中。

A、Print B、AddItem C、Clear D、 RemoveItem

13、在程序中可以通过复选框和单选按钮的__________属性值来判断它们的当前状态。

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

14、单选按钮用于一组互斥的选项中,若一个应用程序包含多组互斥的条件。可在不同的__________中安排适当的单选按钮,即可以实现。

A、框架控件或图像控件 B、组合框或图像控件

C、组合框或图片框 D、框架控件或图片框

15、下列使用方法的语句中,正确的是________ 。

A、 B、

C、 D、

16、在VB中可以作为容器的是_________。

A、Form、TextBox、PictureBox B、Form、PictureBox、Frame

C、Form、TextBox、Label D、PictureBox、TextBox、ListBox

17、以下所列的6个控件中, CheckBox(复选框)、ComboBox(组合框)、HscrollBar(水平滚动条)、Image(图像框)、Frame(框架)、Label(标签)、具有Caption属性的有__________个。

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

18、下面 语句,可以将列表框List1中的当前选定的列表项的值替换成”ABC”。

A、m "ABC",dex B、="ABC"

C、(dex)= "ABC" D、前三项均可

19、以下控件对象中,不具有text属性的是___________。

A、标签 B、文本框 C、列表框 D、组合框

20、不可以作为容器对象使用的是___________。

A、框架 B、图片框 C、窗体 D、图像框

24

21、Visual Basic中,任何控件都具有___________属性。

A、Text B、Caption C、(名称) D、Font

22、引用列表框的最后一项应使用___________。

A、(unt-1)

B、(unt)

C、(ListCount)

D、(ListCount-1)

23、在窗体上画一个命令按钮和两个文本框,然后编写如下的事件过程:

Private Sub Text1_KeyPress(KeyAscii As Integer)

……

End Sub

假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是___________。

A、单击鼠标 B、双击文本框

C、鼠标滑过文本框 D、按下键盘上的某个键

24、要使两个单选按钮属于同一个框架,正确的操作是___________。

A、先画一个框架,再在框架中画两个单选按钮

B、先画一个框架,再在框架外画两个单选按钮,然后把单远按钮拖到框架中

C、先画两个单选按钮,再画框架将单选按钮框起来

D、以上三种方法都正确

25、要设置某文本框的文字具有粗体效果,正确的语句是___________。

A、alic = True B、alic = False

C、ld = True D、ld = False

26、要选择列表框List1的第6项,可以使用语句___________。

A、dex = 5 B、ed= 5

C、dex = 6 D、ed = 6

27、引用列表框List1的最后一项应使用___________。

A、(unt - 1) B、(unt)

C、(ListCount) D、(ListCount - 1)

28、语句List1、RemoveItem List1、ListIndex的作用是___________。

A、删除列表框的最后一项 B、删除列表框的第一项

C、删除列表框中当前选中的项 D、删除列表框中最后添加的一项

29、要清除组合框Combo1中的所有内容,可以使用___________语句。

A、

B、

C、

D、

30、Timer控件的___________属性决定该控件是否对时间的推移做出响应。将该属性设置为False会关闭Timer控件,设置为True则打开它。

A、Enabled B、Visible C、Time D、Capable

31、要使滚动条表示最大值100,应设置其___________属性。

A、Min B、Max C、SmallChange D、LargeChange

32、要设置某文本框的文字具有斜体效果,正确的语句是 。

A、alic = True B、alic = False

C、ld = True D、ld = False

25

33、要选择列表框List1的第4项,可以使用语句___________。

A、ed = 4 B、ed(4) = True

C、ed = 3 D、ed(3) = True

34、引用列表框List1的第一项应使用___________。

A、(1) B、(dex)

C、(0) D、(ListCount - 1)

35、语句List1、RemoveItem List1、ListCount-1的作用是___________。

A、删除列表框的最后一项 B、删除列表框的第一项

C、删除列表框中当前选中的项 D、删除列表框中所有的项

36、要清除列表框List1中的所有内容,可以使用___________语句。

A、

B、

C、

D、

37、定时器的Interval属性以___________为单位指定Timer事件之间的时间间隔。

A、分 B、秒 C、毫秒 D、微秒

38、要使每次单击滚动条两端箭头时变化值为10,应设置其___________属性。

A、Min B、Max C、SmallChange D、LargeChange

39、通过设置Shape控件的___________属性可以绘制多种形状的图形。

A、Shape B、BorderStyle C、FillStyle D、Style

40、窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp的事件过程如下:

Private Sub Text1_KeyUp(KeyCode As Integer , shift As Integer)

Dim C As string

c=Text1、Text

Text2、Text=Chr(Asc(c)+2)

End Sub

当向文本框Text1中输入小写字母a时,文本框Text2中显示的是___________。

A、 A B、 a C、 C D、 c

41、如果在两个菜单命令项之间加一条分隔线,可在标题文本框中输入__________。

A、-

B、+

C、&

D、#

26

文件

1、若磁盘文件c:不存在,则下列打开文件语句中会出现错误的是__________。

A、Open "c:" For Output As #1

B、Open "c:" For Input As #2

C、Open "c:" For Append As #3

D、Open "c:" For Binary As #4

2、Visual Basic中三种文件访问的类型是__________。

A、顺序、随机、文本

B、顺序、随机、二进制

C、数据库、表格、文本

D、文本、随机、二进制

3、下列有关文件的说法中不正确的是__________。

A、当程序正常结束时,所有没用Close语句关闭的文件都会自动关闭

B、在关闭文件或程序结束之前,可以不用Unlock语句对已锁定的记录解锁

C、可以用不同的文件号同时打开一个随机文件

D、用Output模式打开一个顺序文件,即使不对它进行写操作,原来内容也被清除

4、以下关于文件的叙述中,错误的是___________。

A、使用Append方式打开文件时,文件指针被定位于文件尾

B、当以输入方式 (Input)打开文件时,如果文件不存在,则建立一个新文件

C、顺序文件各记录的长度可以不同

D、随机文件打开后,既可以进行读操作,也可以进行写操作

5、设有语句Open “d:” For Output As #1,以下叙述中错误的是___________。

A、若d盘根目录下无文件,则该语句创建此文件

B、用该语句建立的文件的文件号为1

C、该语句打开d盘根目录下一个已存在的文件,之后就可以从文件中读取信息

D、执行该语句后,就可以通过语句Print #向文件写入信息

6、在Visual Basic中按文件的访问方式不同,可以将文件分为___________。

A、顺序文件、随机文件和二进制文件 B、文本文件和数据文件

C、数据文件和可执行文件 D、ASCII文件和二进制文件

7、要在C盘根目录下建立一个名为的顺序文件,应使用___________语句。

A、Open "" For Output As #2

B、Open "c:" For Output As #2

C、Open "c:" For Input As #2

D、Open "" For Input As #2

8、执行语句Open "c:" For Input As #3后,系统___________。

A、将C盘根目录下名为的文件内容读入内存

B、在C盘根目录下建立名为的顺序文件

C、将内存中数据存放在C盘根目录下名为的文件中

D、将某个磁盘文件的内容写入C盘根目录下名为的文件中

27

根据题目要求完善程序

1、下面的程序用于求三个数中的最大数和最小数,请完善程序。

Option Explicit

Private Sub Command1_Click()

Dim a As Integer, b As Integer, c As Integer

Dim max As Integer, min As Integer

a = Val(InputBox("请输入第一个数"))

b = Val(InputBox("请输入第二个数"))

c = Val(InputBox("请输入第三个数"))

max = a

If b >___________ Then max = b

If ___________ Then max = c

min = a

If b <___________ Then min = b

If ___________Then min = c

Print "最大数为"; max

Print "最小数为"; min

End Sub

2、下列程序的功能是:运行程序首先出现如左图所示(Form1)的界面,要求用户输入口令,输入完毕后单击“确定”按钮,若输入口令正确,则显示Form2,否则出现如右图所示的信息框;若单击“取消”按钮,则结束程序。要求完善程序。

Private Sub Command1_Click() '确定

Dim password As String

If password = "myname" Then

___________

Else

MsgBox

End If

End Sub

Private Sub Command2_Click() '取消

___________

End Sub

28

3、如下程序的功能是求N!。完善程序代码。

Private Sub Form_Click()

Dim i As Integer, F As Long

Dim N As Integer

N = InputBox("请输入N")

___________

For i = 1 To N

F = ___________

Next i

Print N; "!=";

End Sub

4、下列程序的功能是:用100元买100只鸡,公鸡每只5元,母鸡每只3元,小鸡一元3只。要求完善程序。

Private Sub form_Click()

Dim x As Integer, y As Integer, z As Integer

For x = 0 To 20

For y = 0 To ___________

For z = 0 To 100 Step 3

If ___________ And ___________ Then Print x; y; z

Next z, y, x

End Sub

5、下列程序的功能是:求一维数组的最大值及其下标。要求完善程序。

Option Base 1

Private Sub form_Click()

Dim t(10) As Integer, max As Integer, max_i As Integer

For i = 1 To 10

t(i) = Int(Rnd * 100)

Next i

max = t(1): max_i = ___________

For i = 2 To 10

If t(i) ___________Then

max =___________

max_i = i

End If

Next i

Print max, max_i

End Sub

6、如下程序的功能是:随机产生12个两位整数,存放在数组Com中,并从中找出一个最大值和一个最小值,完善程序。

Option Explicit

Option Base 1

29

Private Sub Form_Click()

Dim Com(12) As Integer, I As Integer

Dim Max As Integer, ___________As Integer

Randomize

For I = 1 To ___________

Com(I) = Int(___________* Rnd) + 10

Print Com(I);

Next I

Print

Max = Com(1): Min =___________

For I =___________ to 12

If Com(I) > Max Then

___________

ElseIf Com(I) < Min Then

Min = Com(I)

End If

Next I

Print "最小数是:"; Min

Print "最大数是:"; Max

End Sub

7、如下程序的功能是:用选择法对数组按升序排序,排序前将原始数据显示在Text1内,排序后的结果显示在Text2内,完善程序。

Option Explicit

Option Base 1

Private Sub Command1_Click()

Dim Sort(10) As Integer, Temp As Integer

Dim I As Integer, J As Integer

Randomize

Text1 = "": Text2 =___________

For I = 1 To 10

Sort(I) = Int(99 * Rnd) + 1

Text1 = ___________

Next I

For I = 1 To ___________

For J =___________to 10

If ___________Then

Temp = Sort(I)

Sort(I) = Sort(J)

Sort(J) = Temp

End If

Next J

Text2 = Text2 & Str(Sort(I))

Next I

30

Text2 = Text2 & Str(Sort(I))

End Sub

8、如下程序的功能是找出200以内所有的素数,并按每行10个的形式输出。完善程序代码。

Option Base 1

Option Explicit

Private Sub Form_Click()

Dim Prime() As Integer, I As Integer

Dim K As Integer, M As Integer, J As Integer

M = 1

Redim Prime(M)

Prime(M) = 2

For I = 3 To 199 Step 2

For K = 2 To ___________

If ___________Then Exit For

Next K

If K > Sqr(I) Then

M = M + 1

Preserve Prime(M)

Prime(M) = I

End If

Next I

For J = 1 To Ubound(Prime)

Print Prime(J);

If J Mod ___________ = 0 Then Print

Next J

End Sub

9、下面的程序功能是:生成100个 -10到10之间的随机整数并显示到文本框中,统计这100个数中 -10 、-5 、 5 、10的个数并显示在图片框中。请完善程序。

Dim A(1 To 100) As Integer

Private Sub Command1_Click()

Dim num1 As Integer, num2 As Integer, num3 As Integer, num4 As Integer

num1 = 0: num2 = 0: num3 = 0: num4 = 0

For I = 1 To 100

Select Case ___________

Case -10

num1 = num1 + 1

Case -5

num2 = num2 + 1

Case 5

num3 = num3 + 1

Case 10

num4 = num4 + 1

End Select

Next I

"-10的个数="; num1; Tab(15); "-5的个数="; num2

" 5的个数="; num3; Tab(15); "10的个数="; num4

End Sub

31

Private Sub Form_Load()

= ""

For I = 1 To 100

___________= Int(Rnd() * 21 - 10)

= ___________& Str(A(I)) & " "

Next I

End Sub

10、下面的过程用比较交换法实现数据从大到小的排序,请完善代码。

Sub SortArray(a() As Integer)

Dim i As Integer, j As Integer

Dim n As Integer, t As Integer

___________= UBound(a)

For i = 1 To n - 1

For j =___________ To n

If a(i) < a(j) Then

t =___________

a(i) = a(j)

___________= t

End If

Next j

Next i

End Sub

11、下列程序代码读入N个数,用比较交换法对这N个数按从大到小的顺序排序,并在文本框Text1中输出排序结果。

Private Sub Command1_Click()

Dim a() As Integer

Dim i As Integer, j As Integer

Dim t As Integer, n As Integer

n = Val(InputBox("请输入正整数N:"))

ReDim ___________

For i = 1 To n

___________= Val(InputBox("请输入第" & i & "个数"))

Next i

For i = 1 To n - 1

For j = ___________To n

If a(i) < a(j) Then

t = a(i)

a(i) =___________

a(j) = ___________

End If

Next j

Next i

For i = 1 To n

= & Str(a(i)) & " "

Next i

End Sub

12、以下程序代码实现单击命令按钮Command1时生成20个[0,100]之间的随机整数,存于数组中,打印数组中大于50的数,并求这些数的和。

Private Sub Command1_Click()

Dim a(1 To 20) As Integer

Dim i As Integer, sum As Integer

For i = 1 To 20

a(i) = ___________

32

a(i);

Next i

For i = 1 To 20

If ___________Then

a(i);

sum = ___________

End If

Next i

"Sum="; sum

End Sub

13、下列程序的功能是:在窗体上生成包含有[1,10]之间随机整数的6行6列的矩阵,并对该矩阵进行转置。要求完善程序。

Option Base 1

Private Sub form_Click()

Dim a(6, 6) As Integer, b(6, 6) As Integer

For i = 1 To 6

For j = 1 To 6

a(i, j) = ___________

Print a(i, j);

Next j

___________

Next i

Print

For i = 1 To 6

For j = 1 To 6

b(i, j) = ___________

Print b(i, j);

Next j

Print

Next i

End Sub

14、下面程序的功能是:在窗体上输出一个N行、N列、主对角线和次对角线元素为1、其余元素均为0的矩阵。N由用户指定。请完善程序。

Option Base 1

Dim A() As Integer

Private Sub Form_Click()

Dim N As Integer, I As Integer, J As Integer

N = Val(InputBox("请输入N值", "生成矩阵", "4"))

ReDim

For I = 1 To N

For J = 1 To N

A(I, J) = 0

If ___________Then

A(I, J) = 1

End If

If I + J = N + 1 Then

A(I, J) = 1

33

End If

Next J, I

For I = 1 To N

For J = 1 To N

Print ___________;

Next J

Print

Next I

End Sub

15、下列程序的功能是:计算裴波那契数列第n项的值(n由用户输入)。要求完善程序。

Private Sub form_Click()

Dim n As Integer

n = InputBox("输入整数n")

Print f___________

End Sub

Private Function f(ByVal a As Integer) As Integer

If ___________Then

f = 0

ElseIf a = 2 Then

___________

Else

f = ___________

End If

End Function

16、下面程序的功能是:在窗体的文本框Text1中输入一个正整数,当单击命令按钮后,在窗体的文本框Text2中输出这个正整数的阶乘。请完善程序。

Option Explicit

Function Fact(N As Integer) As Long

Dim I As Integer, F As Long

F = ___________

For I = 1 To

F = F * I

Next I

___________

End Function

Private Sub Command1_Click()

Dim X As Integer

X = Val()

= Str___________

End Sub

17、下面是求两个正整数m和n的最大公约数的函数,请完善代码。

Function gcd(m As Integer, n As Integer) As Integer

Dim r As Integer

r = m Mod n

Do While r___________0

___________= n

___________= r

r = m Mod n

Loop

gcd = n

34

End Function

18、在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,然后编写如下事件过程:

Private Sub Command1_Click()

Dim St As String

= ""

Open "d:" For input As #1

Do While ___________

Input #1, St

= & St

Loop

End Sub

程序的功能是,打开D盘根目录下的文本文件,读取它的全部内容并显示在文本框中。

35

根据程序写运行结果

1、运行下面的程序,单击窗体后在窗体显示的内容是___________。

Private Sub Form_Click()

Dim x As Integer, y As Integer

x = 1: y = 0

Do While x < 3

y = y + x

x = x + 1

Loop

Print x, y

End Sub

2、运行下面的程序,单击窗体后在窗体显示的第三行内容是___________。

Private Sub Form_Click()

Dim mystr As String, mystr1 As String, mystr2 As String

mystr1 = "B"

For i = 1 To 3

mystr2 = LCase(mystr1)

mystr1 = mystr1 & mystr2

mystr = mystr & mystr1

Print mystr

mystr1 = Chr(Asc(mystr1) + i)

Next i

End Sub

3、运行下面的程序,单击命令按钮,在文本框内显示的内容是___________。

Private Sub Command1_Click()

For i = 1 To 4

x = 4

For j = 1 To 3

x = 3

For k = 1 To 2

x = x + 6

Next k, j, i

= Str(x)

End Sub

4、运行下面的程序,单击窗体后在窗体显示的内容是___________。

Option Base 1

Private Sub Form_Click()

36

Dim a(3, 3) As Integer, i As Integer

For i = 1 To 3

For j = 1 To 3

a(i, j) = (i - 1) * 4 + j

Next j

Next i

For i = 1 To 3

Print a(i, 4 - i);

Next i

End Sub

5、如下程序运行后,在窗体上输出的第一行内容是___________,第二行内容是___________。

Private Sub Command1_Click()

Dim p As Integer, I As Integer, n As Integer

p = 2: n = 20

For I = 1 To n Step p

p = p + 2

n = n - 4

I = I + 2

If p >= 10 Then Exit For

Next I

Print p; n

Print I

End Sub

6、下面程序段执行一次后,窗体上有___________行输出,其中第一行上显示的是___________,第四行上显示的是___________。

Option Explicit

Option Base 1

Private Sub Command1_Click()

Dim a(5) As Integer

Dim i As Integer

For i = 1 To 5

If i Mod 2 = 0 Then

a(i) = i + 1

Else

a(i) = 5 - i

End If

Print a(i)

Next i

End Sub

7、已知程序段内容如下,在文本框Text1中输入3,在文本框Text2中输入5,当单击命令按钮Command1后,文本框Text1中显示的是___________,文本框Text2中显示的是___________。

Option Explicit

Private Sub Command1_Click()

Dim a As Integer, b As Integer, c As Integer

a = Val()

37

b = Val()

c = a + b

a = c - a

b = c - a

= CStr(a)

= CStr(b)

End Sub

8、运行下面的程序,单击窗体后在窗体显示的内容是___________。

Private Sub Form_Click()

Dim a As Integer

a = 2

Call sub1(a)

End Sub

Private Sub sub1(x As Integer)

x = x * 2 + 1

If x < 10 Then

Call sub1(x)

End If

x = x * 2 + 1

Print x;

End Sub

9、已知某程序内容如下,当在窗体上单击时窗体上显示的内容有___________行,第一行上显示的是___________,最后一行上显示的是___________。

Function SumOrMulti(Operate As Boolean, ParamArray var()) As Long

Dim sum As Long, multi As Long

If Operate Then

sum = 0

For Each x In var

sum = sum + x

Next x

SumOrMulti = sum

Else

multi = 1

For i = LBound(var) To UBound(var)

multi = multi * var(i)

Next i

SumOrMulti = multi

End If

End Function

Private Sub Form_Click()

Print SumOrMulti(True, 1, 3, 5, 7)

Print SumOrMulti(False, 2, 4)

End Sub

10、已知某程序内容如下,当在窗体上单击命令按钮Command1后,窗体上显示的A的值是___________,B的值是___________,C的值是___________。

Sub SS(ByVal X, ByVal Y, ByVal Z)

X = X + 1: Y = Y + 1: Z = Z + 1

End Sub

Private Sub Command1_Click()

38

A = 1: B = 2: C = 3

Call SS(A, B, C)

Print A, B, C

End Sub

39

综合应用题

1、编写程序,求圆柱体的底面积、侧面积和体积。运行界面如图所示。

Command1

Private Sub Command1_Click()

Const pi = 3.14

Dim r As Single

Dim h As Single

r = Val()

h = Val()

= pi * r ^ 2

= 2 * pi * r * h

= Val() * Val()

End Sub

2、用条件语句实现:从文本框(Text1)输入一个数,单击“判断”按钮(Command1)判断它能否同时被3、5、7整除,若能整除,则用消息框(Msgbox函数)显示“能同时被3、5、7整除”,否则显示“不能整除”。

Private Sub Command1_Click()

a = Val()

If a Mod 3 = 0 And a Mod 5 = 0 And a Mod 7 = 0 Then

MsgBox "能同时被3、5、7整除"

Else

MsgBox "不能整除"

End If

End Sub

40

3、使用循环控制结构在窗体上打印出下三角形式的九九乘法表。(界面如图所示)

Command1

Private Sub Command1_Click()

Dim a(9, 9) As Integer, i As Integer, j As Integer

For i = 1 To 9

For j = 1 To i

a(i, j) = i * j

Print i & "×" & j & "=" & a(i, j) & Space(2);

Next j

Print

Next i

End Sub

4、编写程序,对输入的学生成绩给出五级评分。要求:学生成绩由文本框(Text1)输入,结果显示在标签(Label1)中。评分标准如下:

优 90≤成绩≤100

良 80≤成绩<90

中 70≤成绩<80

及格 60≤成绩<70

不及格 0≤成绩<60

Private Sub Command1_Click()

grade = Val()

Select Case grade

Case Is > 100,Is < 0

n=" "

MsgBox "请输入正确分数", , "错误"

us

rt = 0

gth = Len()

Case Is >= 90

n = "优"

Case Is >= 80

n = "良"

Case Is >= 70

n = "中"

Case Is >= 60

41

n = "及格"

Case Is >= 0

n = "不及格"

End Select

us

rt = 0

gth = Len()

End Sub

5、编写程序求kkk1k1100502的值,要求结果显示在窗体上。

Private Sub Command1_Click()

Dim i As Integer, sum As Long

For i = 1 To 100

sum = sum + i

Next i

For i = 1 To 50

sum = sum + i ^ 2

Next i

Print sum

End Sub

6、随机生成15个100以内的正整数并显示在一个文本框(Text1)中,再将所有对称位置的两个数据对调后显示在另一个文本框(Text2)中(第1个数与第15个数对调,第2个数与第14个数对调,……,第7个数与第9个数对调)。

Option Base 1

Private Sub Command1_Click()

Dim a(15) As Integer

For i = 1 To 15

a(i) = Int(Rnd * 100 + 1)

= & “ ” & a(i)

Next i

For i = 1 To 7

t = a(i)

a(i) = a(16 - i)

a(16 - i) = t

Next i

For i = 1 To 15

= & “ ” & a(i)

Next i

End Sub

7、随机生成20个两位正整数显示在一个文本框(Text1)中,并求出它们的平均值显示在另一个文本框(Text2)中。

Option Base 1

42

Private Sub Command1_Click()

Dim a(20) As Integer

For i = 1 To 20

a(i) = Int(Rnd * 90 + 10)

= & " " & a(i)

Sum = Sum + a(i)

Next i

Text2 = Str(Sum / 20)

End Sub

8、随机生成50个三位正整数显示在一个文本框中(Text1)中,并将它们逆序显示在另一个文本框(Text2)中。

Option Base 1

Private Sub Command1_Click()

Dim a(50) As Integer

For i = 1 To 50

a(i) = Int(Rnd * 900 + 100)

= & " " & a(i)

Next i

For i = 50 To 1 Step -1

= & " " & a(i)

Next i

End Sub

9、用InputBox函数输入10个数到数组A中,输入后将这10个数显示在一个文本框(Text1)中,并计算其中所有正数的和,将结果显示在另一个文本框(Text2)中。

Option Base 1

Private Sub Command1_Click()

Dim a(10) As Integer

For i = 1 To 10

a(i) = Val(InputBox(" 输入数据"))

= & " " & a(i)

If a(i) > 0 Then Sum = Sum + a(i)

Next i

Text2 = Sum

End Sub

10、生成100个[0,100]之间的随机整数存于数组A中,并将它们显示在一个文本框(Text1)中,在数组A中查找指定的元素Number。要求:Number用InputBox函数输入,查找结果显示在窗体上。

Option Base 1

Private Sub Command1_Click()

Dim a(100) As Integer

For i = 1 To 100

a(i) = Int(Rnd * 101)

= & " " & a(i)

43

Next i

Number = Val(InputBox("输入数据"))

For i = 1 To 100

If a(i) = Number Then

Print i

k = k + 1

End If

Next i

If k = 0 Then MsgBox "不存在所查找的数"

End Sub

11、编程求由一位随机整数构成的4×5二维数组A的每一列元素的和。运行界面如图所示。

Option Base 1

Private Sub Command1_Click()

Dim a(4, 5) As Integer

For i = 1 To 4

For j = 1 To 5

a(i, j) = Int(Rnd * 9 + 1)

= & " " & a(i, j)

Next j

= & vbCrLf

Next i

For j = 1 To 5

Sum = 0

For i = 1 To 4

Sum = Sum + a(i, j)

Next i

= & " " & Sum

Next j

End Sub

12、单击命令按钮command1时,生成包含[1,9]之间随机整数的两个5*5矩阵,分别显示在图片框Picture1和Picture2中,并求两个矩阵之和显示在图片框Picture3中。

44

Option Base 1

Dim a(5, 5) As Integer, b(5, 5) As Integer, c(5, 5) As Integer

Private Sub Command1_Click()

Randomize

For i = 1 To 5

For j = 1 To 5

a(i, j) = Int(Rnd * 9 + 1)

b(i, j) = Int(Rnd * 9 + 1)

Format(a(i, j), "!@@") & Space(2);

Format(b(i, j), "!@@") & Space(2);

Next j

Next i

For i = 1 To 5

For j = 1 To 5

c(i, j) = a(i, j) + b(i, j)

Format(c(i, j), "!@@") & Space(2);

Next j

Next i

End Sub

13、编写程序,在窗体上打印出如图所示的杨辉三角形。要求:行数由用户指定。

Option Base 1

Dim a() As Double

Private Sub Form_Click()

n = Val(InputBox("输入打印行数"))

45

ReDim a(n, n)

a(1, 1) = 1

a(2, 1) = 1

a(2, 2) = 1

Print

Print

Print

For i = 1 To n

For j = 1 To i

If j = 1 Or j = i Then

a(i, j) = 1

Else

a(i, j) = a(i - 1, j - 1) + a(i - 1, j)

End If

Print a(i, j);

Next j

Print

Next i

End Sub

14、随机生成一个由两位正整数构成的5行5列矩阵显示在窗体上,并求出该矩阵中两条对角线元素之和。

Option Base 1

Private Sub Command1_Click()

Dim a(5, 5) As Integer

For i = 1 To 5

For j = 1 To 5

a(i, j) = Int(Rnd * 90 + 10)

If j = 1 Or i + j = 6 Then s = s + a(i, j)

Print a(i, j);

Next j

Print

Next i

Print

Print

Print s

End Sub

15、随机生成一个由两位正整数构成的6行6列矩阵显示在窗体上,并求出该矩阵中所有元素之和。

Option Base 1

Private Sub Command1_Click()

Dim a(6, 6) As Integer

For i = 1 To 6

46

For j = 1 To 6

a(i, j) = Int(Rnd * 90 + 10)

s = s + a(i, j)

Print a(i, j);

Next j

Print

Next i

Print

Print

Print s

End Sub

16、编写一个求1+2+3+…+n的函数,单击命令按钮(Command1)时调用该函数求1+2+3+4+5的值,结果显示在一个文本框(Text1)中。

Option Base 1

Private Sub Command1_Click()

= F(5)

End Sub

Public Function F(n As Integer) As Integer

For i = 1 To n

F = F + i

Next i

End Function

17、编写程序,判断一个数N是否是奇数。要求使用通用过程。

Private Sub Command1_Click()

Dim n As Integer

n = Val(InputBox("输入需要判断的数"))

Print F(n)

End Sub

Public Function F(n As Integer) As Boolean

If n Mod 2 = 0 Then

F = False

Else

F = True

18、编写求表达式x3y3z3的值的Function过程。

Public Function Fact(X As Integer, Y As Integer, Z As Integer) As Single

Fact = Sqr(Abs(X ^ 3 + Y ^ 3 + Z ^ 3))

47

End Function

19、编写一个摄氏温度与华氏温度转换的通用过程。在一个文本框(Text1)中输入摄氏温度,单击命令按钮command1时调用该通用过程在另一个文本框(Text2)中显示对应的华氏温度。摄氏温度(C)与华氏温度(F)转换的公式是:FC9532。

Private Sub Command1_Click()

Dim c As Double

c = Val()

= CStr(F(c))

End Sub

Public Function F(c As Double) As Double

F = c * 9 / 5 + 32

End Function

20、编写一个判断某正整数N是否是完数的通用过程。完数:一个数恰好等于它的因子之和(除自身),如:6=1+2+3,因此6是完数。

Public Function F(n As Integer) As Boolean

F=False

For i = 1 To n - 1

If n Mod i = 0 Then s = s + i

Next i

If s = i Then F = True

End Function

21、编写一个求正整数m和正整数n的最大公约数的函数。

Public Function F(m As Integer, n As Integer) As Integer

r = m Mod n

While r <> 0

m = n

n = r

r = m Mod n

Wend

F = n

End Function

22、编写一个对数组元素进行排序的通用过程。

Public Sub P(X() As Integer)

Dim i As Integer, j As Integer, n as integer

N=ubound(x)

For i = 1 To n - 1

For j = i To n

If X(i) > X(j) Then

t = X(i)

X(i) = X(j)

X(j) = t

End If

48

Next j

Next i

End Sub

一·选择题

VB简介

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

6.B 7.A 8.D 9.B 10.A

11.D 12.A 13.A 14.C 15.D

16.B 17.A 18.B 19.A 20.C

21.C 22.B 23.C 24.D

程序代码基础

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

6.B 7.C 8.D 9.A 10.D

11.C 12.D 13.B 14.C 15.B

16.D 17.A 18.B 19.A 20.B

21.A 22.A 23.D 24.A 25.C

26.B 27.B 28.B 29.A 30.D

31.D 32.D 33.A 34.B 35.B

36.D 37.B 38.C 39.A 40.B

49


本文标签: 语句 数组 按钮 过程 窗体