文档库 最新最全的文档下载
当前位置:文档库 › VB二级考试分章练习打印

VB二级考试分章练习打印

VB二级考试分章练习打印
VB二级考试分章练习打印

第一章Visual Basic基础

一、选择题

1.与传统的程序设计语言相比,Visual Basic最突出的特点是

A) 结构化程序设计B) 程序开发环境

C) 事件驱动编程机制 D) 程序调试技术

2.在正确安装VB后,可以通过多种方式启动VB。在以下方式中,不能启动VB的是:

A) 通过“开始”菜单中的“程序”命令

B) 通过“我的电脑”找到VB6.exe,双击该文件名

C) 通过“开始”菜单中的“运行”命令

D) 进入DOS方式,执行VB6.exe。

3.为了用键盘打开菜单和执行菜单命令,第一步应按的键是

A) 功能键F10或Alt B) Shift+功能键F4

C) Ctrl或功能键F8 D) Ctrl+Alt

4.VB6.0集成环境的主窗口中不包括

A) 标题栏B) 菜单栏C) 状态栏D) 工具栏

5.用标准工具栏中的工具按钮不能执行的操作是

A) 添加工程B) 打印源程序 C) 运行程序D) 打开工程

6.VB窗体设计器的主要功能是

A) 建立用户界面B) 编写源程序代码

C) 画图D) 显示文字

7.以下叙述中正确的是

A) 用属性窗口只能设置窗体的属性

B) 用属性窗口只能设置控件的属性

C) 用属性窗口可以设置窗体和控件的属性

D) 用属性窗口只能设置对象的属性

二、填空题

1.VB6.0分为3个版本,这3种版本是______、______和_______。

2.可以通过_______菜单中的________命令退出VB。

3.退出VB的快捷键是_______。

4.快捷键Ctrl+O的功能相当于执行______菜单中的________命令,或者相当于单击工具栏上的________按钮。

5.如果打开了不需要的菜单或对话框,可以用______键关闭。

6.工程文件的扩展名是_____,窗体文件的扩展名是______。

7.VB中的菜单栏有2种形式,分别为_____形式和_____形式。

8.属性窗口分为4个部分,分别是________,________,________,________。

8.

第二章可视化编程的概念与步骤

一、选择题

1.下列可以激活属性窗口的操作是

A) 用鼠标双击窗体的任何部位B) 执行“工程”菜单中的“属性窗口”命令C) 按Ctrl+F4键D) 按F4键

2.下列不能打开工具箱窗口的操作是

A) 执行“视图”菜单中的“工具箱”命令

B) 按Alt+F8键

C) 单击工具栏上的“工具箱”按钮

D) 按Alt+V,然后按X键

3.下列叙述中正确的是

A) 只有窗体才是VB中的对象

B) 只有控件才是VB中的对象

C) 控件和窗体都是VB中的对象

D) 控件和窗体都不是VB中的对象

4.为了把窗体上的某个控件变为活动的,应执行的操作是

A) 单击窗体的边框B) 单击该控件的内部

C) 双击该控件D) 双击窗体

5.确定一个控件在窗体上的位置的属性是

A) Width或Height B) Width和Height

C) Top或Left D) Top和Left

6.确定一个窗体或控件的大小的属性是

A) Width或Height B) Width和Height

C) Top或Left D) Top和Left

7.为了同时改变一个活动控件的高度和宽度,正确的操作是

A) 拖拉控件4个角上的某个小方块

B) 只能拖拉位于控件右下角的小方块

C) 只能拖拉位于控件左下角的小方块

D) 不能同时改变控件的高度和宽度

8.若窗体的名称(Name属性)为Form1,则把窗体的标题设为“VB Test”的语句为

A) Form1=”VB Test”B) Caption=”VB Test”

C) Form1.Text=”VB Test”D) https://www.wendangku.net/doc/7618201418.html,=”VB Test”

9.下列不能打开代码窗口的操作是

A) 双击窗体上的某个控件B) 双击窗体

C) 按F7键D) 单击窗体或控件

10.为了保存一个VB应用程序,应当

A) 只保存窗体文件(.frm)

B) 只保存工程文件(.vbp)

C) 分别保存工程文件和标准模块文件(.bas)

D) 分别保存工程文件、窗体文件和标准模块文件

11.为了装入一个VB应用程序,应当

A) 只装入窗体文件(.frm)

B) 只装入工程文件(.vbp)

C) 分别装入工程文件和标准模块文件(.bas)

D) 分别装入工程文件、窗体文件和标准模块文件

12.为了使窗体的大小可以改变,必须把他的BorderStyle属性设置为

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

13.决定窗体标题条显示内容的属性是

A) Text B) Name C) Caption D) BackStyle

14.当窗体最小化时缩小为一个图标,设置这个图标的属性是

A) MouseIcon B) Icon C) Picture D) MousePoint

15.为了取消窗体的最大化功能,需要把它的一个属性设置为False,这个属性是

A) ControlBox B) MinButton C) Enabled D) MaxButton

16.决定窗体有无控制菜单的属性是

A) ControlBox B) MinButton C) Enabled D) MaxButton

17.为了使一个窗体从屏幕上消失但仍在内存中,所使用的方法或语句为

A) Show B) Hide C) Load D) Unload

18.下列操作中不能向工程中添加窗体的是

A) 执行“工程”菜单中的“添加窗体”命令

B) 单击工具栏上的“添加窗体”按钮

C) 右击窗体,在弹出的菜单中选择“添加窗体”命令

D) 右击工程资源管理器,在弹出的菜单中选择“添加”命令,然后在下一级菜单中选择“添加窗体”命令

19.当一个工程含有多个窗体时,其中的启动窗体是

A) 启动Visual Basic时建立的窗体B) 第一个添加的窗体

C) 最后一个添加的窗体D) 在“工程属性”对话框中指定的窗体20.关于多重窗体应用程序,以下描述中不正确的是

A) 对于多重窗体应用程序,可以有多个当前窗体

B) 多重窗体应用程序的启动窗体可以在设计时设定

C) 多重窗体应用程序中每个窗体作为一个磁盘文件保存,所有窗体、标准模块等作为一个工程文件被保存

D) 多重窗体应用程序可以编译生成一个exe文件

二、填空题

1.VB中的控件分为3类,他们是________、_________、________。

2.一个控件在窗体上的位置由____和____属性决定,其大小由_____和_____属性决定。3.可以通过多种方式激活属性窗口,这些方式是___、_____、____、_____、_____。4.为了选择多个控件,可以按住_______键,然后单击每个控件。

5.在窗体上画两个文本框和一个命令按钮,并在命令按钮的代码窗口中编写如下事件过程

Private Sub Command1_Click()

Text1.Text = "VB Programming"

Text2.Text = Text1.Text

Text1.Text = "ABCD"

End Sub

程序运行后,单击命令按钮,两个文本框中显示的内容分别为____和____。6.用VB开发应用程序时,一般需要____、_____和____3步。

7.控件和窗体的Name属性只能通过____设置,不能在_____期间设置。

8.代码窗口分为左右两栏,左边一栏称为______,右边一栏称为______。

9.为了在输入程序时能自动进行语法检查,必须执行____菜单中的____命令,打开____对话框,然后选择“编辑器”选项卡中的_____选项

10.在保存VB应用程序时,窗体文件和工程文件的扩展名分别为____和____。11.为了把一个VB应用程序装入内存,只要装入____文件即可。

12.若要加载一个新窗体,使用_____语句实现;若要卸载一个窗体,使用_____语句实现。

13.若要显示一个窗体,使用____方法;若要隐藏一个窗体,使用____方法;清除窗体上的内容,使用_____方法。

第3章Visual Basic基本控件

一、选择题

1.为了在按下回车键时执行某个命令按钮的事件过程,需要把该按钮的哪个属性设为True

A) Value B) Default C) Cancel D) Enabled

2.为了在按下ESC键时执行某个命令按钮的事件过程,需要把该按钮的哪个属性设为True

A) Value B) Default C) Cancel D) Enabled

3.用菜单编辑器创建菜单时,如果要在菜单中添加一条分隔线,正确的操作是

A) 在标题输入框中输入“-”(减号)

B) 在名称输入框中输入“-”(减号)

C) 在标题输入框中输入“_”(下划线)

D) 在名称输入框中输入“_”(下划线)

4.,在显示菜单时,菜单的哪个属性为Ture时将用灰色显示该菜单项标题

A) Caption B) Checked C) Enabled D) Visible

5

显示Appear 1

大图标BigIcon 2

小图标SmallIcon 2

要求在运行时,当鼠标单击菜单项“大图标”时,在这个菜单项前面就添加一个“√”,下面正确的过程是

A) Private Sub Bigicon_Click() B) Private Sub Bigicon_Click()

Bigicon.Checked = False Me.Appear.Bigicon.Checked = True End Sub End Sub

C) Private Sub Bigicon_Click() D) Private Sub Bigicon_Click()

Bigicon.Checked = True Appear.Bigicon.Checked = True End Sub End Sub

6.设在菜单编辑器中定义了一个菜单项,名为menu1。为了在运行时隐藏该菜单项,应在程序中使用的语句是

A) menu1.Enabled = True B) menu1.Enabled = False

C) menu1.Visible = True D) menu1.Visible = False

7.为了使文本框同时具有水平和垂直滚动条,应该把Multiline属性设为Ture,然后再把ScrollBars属性设置为

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

8.使文本框获得焦点的方法是

A) Change B) GotFocus C) SetFocus D) LostFocus

9.为了使标签覆盖背景,应把BackStyle属性设置为

A) 0 B) 1 C) Ture D) False

10.为了使标签中的内容居中显示,应把Alignment属性设置为

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

11.决定标签内显示内容的属性是

A) Text B) Name C) Alignment D) Caption

12.在窗体(Name属性为Form1)上画两个文本框(Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程:Private Sub Command1_Click()

a = Text1.Text+Text2.Text

Print a

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = ""

End Sub

程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为

A) 444 B) 321123 C) 123321 D) 132231

13.当拖动滚动条中的滚动块时,将触发滚动条的事件是

A) Move B) Change C) Scroll D) SetFocus

二、填空题

1.在VB中可以建立_____菜单和_____菜单。

2.菜单编辑器可以分为3个部分,即______、______和______。

3.如果要将某个菜单项设计为分隔线,则该菜单项的标题应设置为____。

4.在菜单编辑器中,菜单项后面4个小点的含义是______。

5.建立弹出式菜单所使用的方法是_____。

6.为了使标签能自动调整大小以显示全部文本内容,应把标签的________属性设为True 。

7.要在文本框中显示垂直滚动条,必须把___属性设为2,同时还应把_____属性设为_____。

8.有一个名称为Text1的文本框,为使其有焦点,应执行的语句是____。

9.为了使一个标签透明且没有边框,必须把它的BorderStyle属性设为____,并把BackStyle属性设为______。

9.假定一个文本框的Name属性为Text1,为了在该文本框中显示“Hello”,所使用的语句为_________。

第4章代码基础

选择题

1.在Visual Basic中,下列优先级最高的运算符是

A.* B.\ C.< D.Not 2.以下关系表达式中,其值为False的是

A."XYZ" < "XYz" B."Visual Basic" = "visualbasic"

C."the" <> "there" D."Integer" > "Int"

3.设有如下声明:Dim x As Integer 如果Sgn(x)的值为-1,则表示x的值是A.整数B.大于0的整数C.等于0的整数D.小于0的整数

4.下列表达式中值为-6的是

A.Fix(-5.678) B.Int(-5.678) C.Fix(-5.678+0.5) D.Int(-5.678+0.5)

5.以下语句的输出结果是 Print 3 + 4 \ 5 * 6 /7 Mod 8

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

6.下列可作为Visual Basic 的变量名的是

A.3*Delta B.PrintChar C.Abs D.AB∏

7.下列可作为Visual Basic 的变量名的是

A.Filename B.A(A+B) C.A%D D.Print

8.下列可作为Visual Basic 中所允许的形式的数是

A.±25.74 B.3.457E-100 C..368 D.1.87E+50

9.下列可作为Visual Basic 中所允许的形式的数是

A.10^(1.256) B.D32 C.2.5E D.12E3

10.下面的数写成普通的十进制数是 2.65358979335278D-006

A.0.0000265358979335278 B.0.00000265358979335278

C.0.000265358979335278 D.0.000000265358979335278

11.下面的数写成普通的十进制数是 1.21576654590569D+019

A.12157665459056900 B.121576654590569000

C.1215766545905690000 D.12157665459056900000

12.下面的数写成普通的十进制数是 8.6787E8

A.86787000 B.867870000 C.8678700 D.8678700000

13.下面的数写成普通的十进制数是2.567E-12

A.0.000000000002567 B.0.0000000002567

C.0.000000002567 D.0.00000000002567

14.设a = 2,b = 3,c = 4,d = 5,下列表达式的值是 a>b AND c<=d OR 2*a>c A.True B.False C.-1 D.1

15.设a = 2,b = 3,c = 4,d = 5,下列表达式的值是 3>2*b OR a=c AND b<>c OR

c>d

A.1 B.True C.False D.-1 16.设a = 2,b = 3,c = 4,d = 5,下列表达式的值是 NOT a<=c OR 4*c=b^2 AND b<>a+c

A.-1 B.1 C.True D.False 17.实现字符的Unicode编码方式ANSI编码方式相互转换的函数是A.Str B.StrConv C.Trim D.Mid

二、填空题

1.设有如下程序段:a$ = "Visual Basic Programing"

b$ = ".NET"

c$ = Left(a$, 12) & b$ & Right(a$, 11)

执行该程序段后,变量c$的值为。

2.假定有如下的变量定义:Dim a, b As Integer

则变量a被定义为类型,b被定义为类型。

3.设有如下的程序段:a$ = "BeijingShanghai" : b$ = Mid(a$, InStr(a$, "g") +

1)

执行上面的程序段后,变量b$的值为。

4.下列Visual Basic表达式有错误,其正确的形式是。

CONTT.DE+COS(28°)

5.下列Visual Basic表达式有错误,其正确的形式是。

-3/8+8.INT24.8

6.下列Visual Basic表达式有错误,其正确的形式是。

(8+6)^(4÷-2)+SIN(2*∏)

7.下列Visual Basic表达式有错误,其正确的形式是。

[(x+y)+z]×80-5 (C+D)

8.与下列数学式子对应的Visual Basic 表达式是。

cos2(c+d) ((C+D)为弧度 )

9.与下列数学式子对应的Visual Basic 表达式是。

5+(a+b)2

10.与下列数学式子对应的Visual Basic 表达式是。

cos(x)(sin(x)+1) (x为弧度)

11.与下列数学式子对应的Visual Basic 表达式是。

e2+2

12.与下列数学式子对应的Visual Basic 表达式是。

2a(7+b)

13.与下列数学式子对应的Visual Basic 表达式是。

8e3.ln2

14.以下语句的输出结果是。

Print chr$(65) (为回车,下同)

15.以下语句的输出结果是。

Print sgn(2)

16.执行以下语句后,输出结果是、。

a$ = "Good "

b$ = "Morning"

Print a$ + b$

Print a$ & b$

17.执行以下语句后,输出结果是、。

s$ = "ABCDEFGHIJK"

Print Left$(s$, 4)

Print Right$(s$, 4)

18.执行以下语句后,输出结果是、。

s$ = "ABCDEFGHIJK"

Print Mid$(s$, 3, 4)

Print Len(s$)

19.执行以下语句后,输出结果是、。

s$ = "ABCDEFGHIJK"

Print InStr(s$, "efg")

Print LCase(s$)

20.假定当前日期为2003年10月5日,星期五,则执行以下语句后,输出结果是、、、。

Print Day(Now)

Print Month(Now)

Print Year(Now)

Print Weekday(Now)

21.在Visual Basic中,字符串常量要用括起来,日期/时间型常量要用括起来。

22.5.0/6.0版的Visual Basic中,字符采用编码方式。在这种编码方案中,一个中文字符或一个西文字符均视为个字符,每个字符用个字节编码。

23.下列语句的输出结果是。

Print Int(12345.6789 * 100 + 0.5) / 100

第5章顺序结构

选择题

1.假定Picture1和Text1分别为图片框和文本框的名称,下列不正确的语句是

A) Print 25 B) Picture1.Print 25 C) Text1.Print 25 D)

Debug.Print 25

2.以下语句的输出结果是(在立即窗口中)

a=27 (为回车,下同)

b=65

Print a;b

A) 27 Δ 65 B) Δ 27Δ 65 C) Δ27ΔΔ 65 D) Δ27ΔΔ 65Δ (Δ表示空格,下同)

3.以下语句的输出结果是(在立即窗口中)

a="Beijing"

b="ShangHai"

Print a;b

A) Beijing Δ ShangHai B) Δ Beijing Δ ShangHai

C) BeijingShangHai D) ΔBeijing Δ ShangHai Δ

4.语句Print 5*5\5/5的输出结果是

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

5.设a、b、c为整型变量,其值分别为1、2、3,以下程序段的输出结果是a=b : b=c : c=a

Print a; b; c

A) 1 2 3 B) 2 3 1 C) 3 2 1 D) 2 3 2

6.语句Print Sgn(-6^2)+Int(-6^2)+Int(6^2)的输出结果是

A) -36 B) 1 C) -1 D) -72

7.以下语句的输出结果是

a=Sqr(3)

Print Format ( a, "$$####.###")

A) $1.732 B) $$1.732 C) $1732 D) $$0001.732

8.以下程序段的输出结果是

a=Sqr(3)

b=Sqr(2)

c=a>b

Print c

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

9.以下语句的输出结果是

Print Format (32548.5, "000,000.00")

A) 32548.5 B) 32,548.5 C) 032,548.50 D) 32,548.50 10.执行以下程序段后,变量c$的值为

a$ = "Visual Basic Programing "

b$ = "Quick"

c$ = b$ & UCase(Mid$(a$, 7, 6)) & Right$(a$, 11)

A) Visual Basic Programing B) Quick Basic Programing C) QUICK Basic Programing D) Quick BASIC Programing

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

A) 4 B) 5 C) 6 D) 7

12.InputBox函数返回值的类型为

A) 数值B)字符串C) 变体D) 数值或字符串(视输入的数据而定)13.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

a = InputBox("Enter the First integer")

b = InputBox("Enter the Second integer")

Print b + a

End Sub

程序运行后,单击命令按钮,先后在输入对话框中分别输入456和123,则输出结果是

A) 579 B) 123 C) 456 D) 123456

14.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim a As Integer, b As Integer

a = InputBox("Enter the First integer")

b = InputBox("Enter the Second integer")

Print b + a

End Sub程序运行后,单击命令按钮,先后在输入对话框中分别输入456和123,则输出结果是

A) 579 B) 123 C) 456 D) 123456

15.执行下面的语句后,所产生的信息框的标题是

a = MsgBox("AAAA", , "BBBB", "", 5)

A) BBBB B) 空C) AAAA D) 出错,不能产生信息框

填空题

1.语句Print "25+32="; 25+32的输出结果是_____。

2.以下语句的输出结果是_____。

s$="China"

s$="Beijing"

Print s$

3.以下语句的输出结果是_____。

a%=3.14156

Print a%

4.设a=Sqr(2)*Sqr(3),下列语句的输出结果分别是______、______、______、______。

Print Fomat$(a, "000.00")

Print Fomat$(a, "###.#0")

Print Fomat$(a, "00.00E+00")

Print Fomat$(a, "-#.####")

5.阅读程序:

Sub Form_Click()

a = 10:

b = 15:

c = 20:

d = 25

Print a; Spc(5); b; Spc(7); c

Print a; Space$(8); b; Space$(5); c

Print c; Spc(3); "+"; Spc(3); d;

Print Spc(3); "="; Spc(3); c + d

End Sub

6.以下程序段的输出结果是

x = 8

Print x + 1; x + 2; x + 3

1.以下程序段的功能是

x = 8.6

y = Int(x + 0.5)

Print y

第6章选择结构

一、选择题

1.已知一个人出生的年、月、日分别存放在变量y0、m0、d0中,当前日期的年、月、日分别存放在变量y1、m1、d1中,这个人的实足年龄存放在变量age中。则以下可以正确计算实足年龄的程序段式

A.age = y1 - y0 B.age = y1 - y0

If m1 < m0 Then If m1 < m0 Or d1 < d0 Then

age = age - 1 age = age - 1 ElseIf d1 < d0 Then End If

age = age - 1

End If

C.age = y1 - y0 D.age = y1 - y0

If m1 < m0 Then If m1 < m0 Then age = age - 1 age = age - 1

End If End If

If m1 = m0 And d1 < d0 Then If d1 < d0 Then age = age - 1 age = age - 1

End If End If

2.在窗体上画一个命令按钮和一个文本框,然后编写如下程序:

Private Sub Command1_Click()

a = 10

t = "旅游景点:" _

& IIf(a > 3, "长城", "") _

& IIf(a < 8, "故宫", "") _

& IIf(a <> 7, "颐和园", "")

Text1.Text = t

End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是

A.旅游景点:长城故宫B.旅游景点:长城颐和园

C.旅游景点:颐和园D.旅游景点:故宫

3.假定x的值为5,则在执行以下语句时,其输出结果为“Result”的Select Case 语句是

A.Select Case x B.Select Case x

Case 10 To 1 Case Is >5, Is <5 Print "Result" Print "Result"

End Select End Select

C.Select Case x D.Select Case x

Case Is >5, 1, 3 To 10 Case 1, 3, Is >5

Print "Result" Print "Result"

End Select End Select

4.设a=6,则执行x = Iif(a>5, -1, 0) 后,x的值为

A.5 B.6 C.0 D.-1

5.设有函数

r = 1 x<0

2 x>=0

则下列能正确计算该函数值的语句是

A.If x < 0 Then r = 1

ElseIf x >= 0 Then

r = 2

End If

B.If x < 0 Then r = 1

ElseIf (x >= 0) Then r = 2 else r=1

End If

C.Print (IIf(x > 0, 1, 2))

D.r = IIf(x < 0, 1, 2)

6.在窗体上画两个名称分别为Label1和Label2的标签,然后编写如下事件过程

Private Sub Form_Click()

x = -5: s = -5

Select Case s

Case Is > 0

y = x + 1

Case Is >= 0

y = x + 2

Case Else

y = x + 3

End Select

Label1.Caption = x

Label2.Caption = y

End Sub

程序运行后,单击窗体,标签Label1和Label2中显示的内容分别是

A.-5和-2 B.-5和-4

C.-5和-3 D.-5和-5

7.设置复选框或单选按钮标题对齐方式的属性是

A.Align B.Alignment C.Sorted D.Value

二、填空题

1.以下程序段所对应的函数表达式是。

x = InputBox("Enter an Integer")

x = CInt(x)

Select Case x

Case Is <= 0

y = 0

Case Is <= 10

y = 5 + 2 * x

Case Is <= 15

y = x - 5

Case Is > 15

y = 0

End Select

三、编程题

1.编写一个“选择旅游地区”程序,旅客可以在窗体上选择自己想要去旅游的地区。

假定共有三个地区,包括新加坡、马来西亚和泰国,每个旅客可以选择其中的一个、两个和三个地区,然后在文本框中显示所选择的旅游地区。

2.给定三角形的三条边长,计算三角形的面积。编写程序,首先判断给出的三条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。

3.从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号、成绩,并根据成绩按下面的规定输出对该学生的评语:

成绩90~100 70~89 60~69 0~59

评语优秀良好及格不及格

第7章循环结构

一、选择题

1.假定有下面的程序段:

For i = 1 To 3

For j = 1 To i

For k = j To 3

Print "i="; i; "j="; j; "k="; k

Next k

Next j

Next i

这是一个三重循环程序,在这个程序中,外层、中层和内层循环的循环次数是A.3、6和14 B.3、8和16 C.3、4和12 D.3、9和18 2.假定有以下当循环:

While Not 条件

循环体

Wend

则执行循环体的“条件”是

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

3.阅读下面的程序:

Private Sub Form_Click()

Dim m, n As Integer

m = InputBox("请输入 M 的值")

m = Val(m)

m1 = m

n = InputBox("请输入 N 的值")

n = Val(n)

n1 = n

Do While n <> 0

remin = m Mod n

m = n

n = remin

Loop

Print m1, n1, m

End Sub

程序运行后,单击窗体,在输入对话框中分别输入16和24,在程序在窗体上的输出结果为

A.16 24 4 B.16 24 8

C.24 16 6 D.24 16 8 4.阅读下面的程序:

Private Sub Form_Click()

Dim Check, Counter

Check = True

Counter = 0

Do

Do While Counter < 20

Counter = Counter + 1

If Counter = 10 Then

Check = False

Exit Do

End If

Loop

Loop Until Check = False

Print Counter, Check

End Sub

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

A.15 0 B.20 -1

C.10 True D.10 False

5.假定有以下循环结构

Do Until 条件

循环体

Loop

则正确的描述是

A.如果“条件”是一个为0的常数,则一次循环体也不执行

B.如果“条件”是一个为0的常数,则无限次执行循环体

C.如果“条件”是一个不为0的常数,则至少执行一次循环体

D.不论“条件”是否为“真”,至少要执行一次循环体

6.假定有以下程序段

For i = 1 To 3

For j = 5 To 1 Step -1

Print i * j

Next j, i

则语句Print i*j的执行次数是

A.15 B.16 C.17 D.18 7.以下程序段的输出结果为

x = 1

y = 4

Do Until y > 4

x = x * y

y = y + 1

Loop

Print x

A.1 B.4 C.8 D.20

8.执行下面的程序段后,x的值为

x = 5

For i = 1 To 20 Step 2

x = x + i \ 5

Next i

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

9.在窗体上画一个命令按钮,然后编写如下事件过程:

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

Next j

Next i

Print x

End Sub

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

A.7 B.15 C.157 D.538 10.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

x = 0

Do Until x = -1

a = InputBox("请输入 A 的值")

a = Val(a)

b = InputBox("请输入 B 的值")

b = Val(b)

x = InputBox("请输入 C 的值")

x = Val(x)

a = a +

b + x

Loop

Print a

End Sub

程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,则输出结果为

A.2 B.3 C.14 D.15

11.阅读下面的程序段:

For i = 1 To 3

For j = 1 To i

For k = j To 3

a = a + 1

Next k

Next j

Next i

执行上面的三重循环后,a的值为

A.3 B.9 C.14 D.21

12.在窗体上画一个文本框(其Name属性为Text1),然后编写如下事件过程:

Private Sub Form_Load()

Text1.Text = ""

Text1.SetFocus

For i = 1 To 10

Sum = Sum + i

Next i

Text1.Text = Sum

End Sub

上述程序的运行结果是

A.在文本框Text1中输出55 B.在文本框Text1中输出0

C.出错D.在文本框Text1中输出不定值

13.在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其

Name属性为Command1),然后编写如下事件过程:

Private Sub Command1_Click()

x = 0

Do While x < 50

x = (x + 2) * (x + 3)

n = n + 1

Loop

Text1.Text = Str(n)

Text2.Text = Str(x)

End Sub

程序运行后,单击命令按钮,在两个文本框中显示的值分别为

A.1和0 B.2和72 C.3和50 D.4和168

14.在窗体上画一个命令按钮,名称为Command1。然后编写如下程序:

Private Sub Command1_Click()

For i = 1 To 4

For j = 0 To i

Print Chr$(65 + i);

Next j

Print

Next i

End Sub

程序运行后,如果单击命令按钮,则在窗体上显示的内容是

A.BB B.A C.B D.AA

CCC BB CC BBB

DDDD CCC DDD CCC

EEEEE DDDD EEEE DDDDD

15.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Private Sub Command1_Click()

Dim i As Integer, j As Integer

Dim a(10, 10) As Integer

For i = 1 To 3

For j = 1 To 3

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

Print a(i, j);

Next j

Print

Next i

End Sub

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

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

2 4 6

3

4

5 2 5 8 4 5 6

3 6 9

4

5

6 3 6 9

7

8 9

二、填空题

1.在上一题的二重循环中,如果把外层循环中的Until关键字改为While,要求输

出结果相同,请填空。

Do

Do While Counter < 20

Counter = Counter + 1

If Counter = 10 Then

Check = False

Exit Do

End If

Loop

Loop While

2.阅读程序:

Private Sub Form_Click()

Dim i As Integer, sum As Integer

For i = 2 To 10

If i Mod 2 <> 0 Then

Print i

Else

sum = sum + i

End If

Next i

Print sum

End Sub

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

3.阅读程序:

Private Sub Form_Click()

Dim num As Integer, digit As Integer

num = InputBox("")

While num <> 0

digit = num Mod 10

num = num \ 10

Print digit

Wend

End Sub

程序运行后,如果从键盘上输入9876,则输出结果为。

4.以下程序的功能是,从键盘上输入若干学生的成绩,统计并输出最高分数和最低

分数,当输入负数时结束输入,请填空。

Private Sub Command1_Click()

Dim x As Single

Dim amax As Single, amin As Single

x = InputBox("请输入分数")

amax = x

amin = x

Do While

If x > amax Then

amax = x

End If

If Then

amin = x

End If

x = InputBox("请输入分数")

Loop

Print amax, amin

End Sub

5.执行下面的程序段后,s的值为。

s = 5

For i = 2.6 To 4.9 Step 0.6

s = s + 1

Next i

6.以下程序段的输出结果是。

num = 0

While num <= 2

num = num + 1

Print num

Wend

7.设有以下的循环:

x = 1

Do

x = x + 2

Print x

Loop Until

程序运行后,要求执行3次循环体,请填空。

8.阅读以下程序:

Private Sub Form_Click()

Dim k, n, m As Integer

n = 10

m = 1

k = 1

Do While k <= n

m = m * 2

k = k + 1

Loop

Print m

End Sub

程序运行后,单击窗体,输出结果为。9.以下循环的执行次数是。

k = 0

Do While k <= 10

k = k + 1

Loop

10.阅读程序:

Private Sub Form_Click()

num = 0

Do

num = num + 1

Print num

Loop Until num > 2

End Sub

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

11.在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

a = 0

For i = 1 To 2

For j = 1 To 4

If j Mod 2 <> 0 Then

a = a + 1

End If

a = a + 1

Next j

Next i

Print a

End Sub

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

12.在窗体上画一个名称为Command1、标题为“计算”的命令按钮;画两个文本框,

名称分别为Text1和Text2,然后画4个标签,名称分别为Label1、Label2、Label3和Label4,Caption属性分别为“操作数1”、“操作数2”、“运算结果”和空白;

再建立一个含有4个单选钮的控件数组,名称为Option1,Caption属性分别为“+”、“-”、“*”和“/”。程序运行后,在Text1、Text2中输入两个数值,选中一个单选钮后单击命令按钮,相应的计算结果显示在Label4中,程序运行情况

如图所示,请将程序补充完整。 Private Sub Command1_Click() For i = 0 To 3

If = True Then opt = Option1(i).Caption End If Next i

Select Case Case "+"

result = Val(Text1.Text) + Val(Text2.Text) Case "-"

result = Val(Text1.Text) - Val(Text2.Text) Case "*"

result = Val(Text1.Text) * Val(Text2.Text) Case "/"

result = Val(Text1.Text) / Val(Text2.Text) End Select

= result End Sub 三、编程题

1.一个两位的正整数,如果将它的个位数字与十位数字对调,则产生另一个正整数,我们把后者叫做前者的对调数。现给定一个两位的正数,请找到另一个两位的正整数,使得这两个两位正整数之和等于它们各自的对调数之和。例如,12+32 = 21+23。编写程序,把具有这种特征的一对对两位正整数都找出来。下面是其中的一种结果: 56+(10)=(1)+65 56+(65)=(56)+65 56+(21)=(12)+65 56+(76)=(67)+65 56+(32)=(23)+65 56+(87)=(78)+65 56+(43)=(34)+65 56+(98)=(89)+65

56+(54)=(45)+65

2.编写程序,用近似公式:∏/4≈1-1/3+1/5-1/7+1/9-…±1/n

求∏的近似值,直到最后一项的绝对值小于10-4为止。

10

-4

10-6

3.我国现有人口为12亿,设年增长率为1%,编写程序,计算多少年后增加到16

亿。

4.编写程序,演示列表框控件的基本操作。在窗体上建立两个列表框,两个命令按

钮。程序运行后,在第一个列表框中选择所需要的项目,单击“===>”按钮,可把所选择的项目移到第二个列表框。如果单击“<===”按钮,则执行相反的操作。程序的运行情况如图所示。

5.假定有以下每周工作安排:

星期一、三:讲计算机课

星期二、四:讲程序设计课

星期五:进修英语

星期六:政治学习

星期日:休息

试编写一个程序,对上述工作日程进行检索。程序运行后,要求输入一周里的某一天,程序将输出这一天的工作安排。在输入时用0~6分别表示星期日到星期六,如果输入0~6之外的数,则程序结束运行。

5.编写程序,打印如下所示的“数学金字塔”:

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

……

1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1

6.从键盘上输入两个正整数M和N,求最大公因子。

7.编写程序,打印如下的乘积表:

* 3 6 9 12

15 ……

16 ……

17 ……

18 ……

第三章数组

一、选择题

18.在窗体上画一个命令按钮,然后编写如下程序:

Option Base 1

Private Sub Command1_Click(Index As Integer)

Dim Arr1(12) As Integer, Arr2(3) As Integer

Dim Sum As Integer

Sum = 2

For i = 1 To 12

Arr1(i) = i

Next i

For i = 1 To 3

Arr2(i) = Arr1(i * i)

Next i

For i = 1 To 3

Sum = Sum + Arr2(i)

Next i

Print Sum

End Sub

程序运行后,单击命令按钮,在窗体上的输出结果是

A.16 B.24 C.32 D.36 19.在窗体上画一个文本框,然后编写如下代码:

Option Base 1

Private Sub Form_Click()

Dim arr

Dim Start As Integer, 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.10 C.12 D.16 20.阅读程序:

Option Base 1

Private Sub Form_Click()

Dim Arr(4, 4) As Integer

For i = 1 To 4

For j = 1 To 4

Arr(i, j) = (i - 1) * 2 + j

Next j

Next i

For i = 3 To 4

For j = 3 To 4

Print Arr(j, i);

Next j

Print

Next i

End Sub

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

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

6 8

7 9

8 10 8 11

21.用下面的语句所定义的数组的元素个数是

Dim A(-3 To 5) As Integer

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

22.用下面的语句所定义的数组的元素个数是

Dim arr(3 To 5, -2 To 2)

A.20 B.12 C.15 D.24

23.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim Arr1(10), Arr2(10) As Integer

n = 3

For i = 1 To 5

Arr1(i) = i

Arr2(n) = 2 * n + i

Next i

Print Arr2(n); Arr1(n)

End Sub

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

A.11 3 B.3 11 C.13 3 D.3 13

24.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Option Base 1

Private Sub Command1_Click()

Dim a(10), p(3) As Integer

k = 5

For i = 1 To 10

a(i) = i

Next i

For i = 1 To 3

p(i) = a(i * i)

Next i

For i = 1 To 3

k = k + p(i) * 2

Next i

Print k

End Sub

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

A.35 B.28 C.33 D.37

25.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Option Base 1

Private Sub Command1_Click()

Dim a

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.4321 B.12 C.34 D.1234

26.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Option Base 1

Private Sub Command1_Click()

Dim Arr(3) As Integer

For i = 1 To 3

For j = 1 To 3

Arr(j) = Arr(i) + 1

Next j

Next i

Print Arr(3)

End Sub

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

A.7 B.6 C.5 D.4

27.在窗体上画一个名称为List1的列表框,一个名称为Label1的标签框。列表框中显示若干城市的名称,当单击列表框中的某一城市名时,在标签中显示选中城市的名称。下列能正确实现上述功能的程序是

A.Private Sub List1_Click() B.Private Sub List1_Click()

Label1.Caption = List1.ListIndex https://www.wendangku.net/doc/7618201418.html, = List1.ListIndex End Sub End Sub

C.Private Sub List1_Click() D.Private Sub List1_Click()

https://www.wendangku.net/doc/7618201418.html, = List1.Text Label1.Caption = List1.Text

End Sub End Sub

28.为了使列表框中的项目分为多列显示,需要设置的属性为

A.Columns B.Style C.List D.MultiSelect

29.要想不使用Shift或Ctrl键就能在列表框中同时选择多个项目,则应把该列表框的MultiSelect属性设置为

A.0 B.1 C.2 D.其他

30.删除列表框中指定的项目所使用的方法为

A.Move B.Remove C.Clear D.RemoveItem

31.用户在组合框中输入或选择的数据可以通过一个属性获得,这个属性是A.List B.ListIndex C.Text D.ListCount

二、填空题

1.在窗体上画一个文本框,然后编写如下程序:

Option Base 1

Private Sub Form_Click()

Dim Arr(10) As Integer

For i = 6 To 10

Arr(i) = i - 3

Next i

Text1.Text = Str(Arr(6) + Arr(Arr(6) + Arr(10)))

End Sub

程序运行后,单击窗体,在文本框中显示的内容是。

2.以下程序的功能是产生10个0~1000的随机整数,放入数组Arr中,然后输出其中的最大值。请填空。

Option Base 1

Private Sub Form_Click()

Dim Arr(10) As Integer

Dim Max As Integer

Randomize

For i = 1 To 10

Arr(i) = Int(Rnd * 1000)

Next i

Max =

For i = 2 To 10

If Then

Max = Arr(i)

End If

Next i

Print Max

End Sub 3.以下程序的功能是,程序运行后,单击命令按钮,输出结果为:

1 4 7

2 5 8

3 6 9

请填空。

Private Sub Command1_Click()

Dim Arr(3, 3) As Integer

For i = 1 To 3

For j = 1 To 3

Arr(i, j) =

Print Arr(i, j);

Next j

Print

Next i

End Sub

4.控件数组的名字由属性指定,而数组中的每个元素由属性指定。

5.由Array函数建立的数组必须是类型。

6.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim n() As Integer

Dim a, b As Integer

a = InputBox("Enter the first number")

b = InputBox("Enter the second number")

ReDim n(a To b)

For k = LBound(n, 1) To UBound(n, 1)

n(k) = k

Print "n("; k; ")="; n(k)

Next k

End Sub

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

7.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim a(5)

For i = 0 To 4

a(i) = i + 1

t = i + 1

If t = 3 Then

Print a(i);

a(t - 1) = a(i - 2)

Else

a(t) = a(i)

End If

If i = 3 Then a(i + 1) = a(t - 4)

a(4) = 1

Print a(i);

Next i

End Sub

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

8.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim M(10) As Integer

For k = 1 To 10

M(k) = 12 - k

Next k

x = 6

Print M(2 + M(x))

End Sub

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

9.在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:Private Sub Command1_Click()

Dim a(5, 5)

For i = 1 To 3

For j = 1 To 4

a(i, j) = i * j

Next j

Next i

For n = 1 To 2

For M = 1 To 3

Print a(M, n);

Next M

Next n

End Sub

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

10.组合框有三种不同的类型,这三种类型是、、,分别通过把属性设置为、、来实现。11.在三种不同类型的组合框中,只能选择而不能输入数据的组合框式。12.在窗体上画一个列表框,然后编写如下两个事件过程:

Private Sub Form_Click()

List1.RemoveItem 1

List1.RemoveItem 3

List1.RemoveItem 2

End Sub

Private Sub Form_Load()

List1.AddItem "ItemA"

List1.AddItem "ItemB"

List1.AddItem "ItemC"

List1.AddItem "ItemD"

List1.AddItem "ItemE"

End Sub

运行上面的程序,然后单击窗体,列表框中所显示的项目为。

13.在窗体上画一个列表框、一个命令按钮和一个标签。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表框当前的项目数,运行情况如图所示。下面是实现上述功能的程序,请填空。

Private Sub Form_Load()

List1.AddItem "AAAAA"

List1.AddItem "BBBBB"

List1.AddItem "CCCCC"

List1.AddItem "DDDDD"

End Sub

Private Sub Command1_Click()

Dim L As Integer

L =

If ind >= 0 Then

List1.RemoveItem

Label1.Caption =

Else

MsgBox "请选择要删除的项目"

End If

End Sub

三、编程题

1.编写程序,输出魔方阵。

魔方阵是一个n×n的二维数组,其中n为奇数。它由1~n×n的正整数组成,其中每行、每列及对角线上所有数字的总和都相同。

产生魔方阵的算法由很多种,下面的程序用“右上斜行法”产生魔方阵,其算法如下:

a)把“1”放在第一行的中间一列。

b)从“1”往右上方走放下“2”,但已超出方阵范围,故将其置于同列第n行。

c)从“2”往右上方走放下“3”,也超出方阵范围,将其置于同行第一列。

d)由于3是n的倍数,接下来的数字“4”置于同行下一列。

e)重复上述步骤,直到填满n×n个数为止。

2.编写程序,用选择法对数组中的数据按由小到大的顺序进行排序。

3.从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第一个元素与第十个元素互换,第二个元素与第九个元素互换……第五个元素与第六个元素互换。分别输出数组原来各元素的值和对换后各元素的值。

4.设有如下两组数据:

A:2,8,7,6,4,28,70,25

B:79,27,32,41,57,66,78,80

编写一个程序,把上面两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,……,25+80,并把相应的结果放入第三个数组中,最后输出第三个数组的值。

5.有一个n×m的矩阵,编写程序,找出其中最大的那个元素所在的行和列,并输出其值及行号和列号。

6.某单位开运动会,共有10人参加男子100米短跑,运动员号和成绩如下:

207号14.5秒077号15.1秒

156号14.2秒231号14.7秒

453号15.2秒276号13.9秒

096号15.7秒122号13.7秒

339号14.9秒302号14.5秒

编写程序,按成绩排出名次,并按如下格式输出:

名次运动员号成绩

1 …………

2 …………

3 …………

………………

10 …………7.编写程序,输出“杨辉三角形”。

第四章过程

一、选择题

1.编写如下通用过程:

Sub Proc(x As Single, y As Single)

t = x

x = t / y

y = t Mod y

End Sub

在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim a As Single

Dim b As Single

a = 5

b = 4

Proc a, b

Print a, b

End Sub

程序运行后,如果单击命令按钮,则输出结果为

A.5 4 B.1.25 1 C.4 5 D.1.25 5 2.阅读程序:

Function func(n As Integer) As Integer

Sum = 0

For i = 1 To n

Sum = Sum + (i + 1) * i

Next i

func = Sum

End Function

Private Sub Command1_Click()

Dim a As Integer

a = 5

s = func(a)

Print s

End Sub

程序运行后,单击命令按钮,输出结果为

A.80 B.60 C.70 D.15

3.阅读下面的程序:

Function Func(x As Integer, y As Integer) As Integer

Dim n As Integer

Do While n <= 4

x = x + y

n = n + 1

Loop

Func = x

End Function

Private Sub Command1_Click()

Dim x As Integer, y As Integer

Dim n As Integer, z As Integer

x = 1

y = 1

For n = 1 To 6

z = Func(x, y)

Next n

Print z

End Sub

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

A.16 B.21 C.26 D.31 4.以下正确的描述是

在Visual Basic应用程序中

A.过程定义可以嵌套,但过程的调用不能嵌套

B.过程定义不可以嵌套,但过程的调用可以嵌套

C.过程的定义和过程的调用均可以嵌套

D.过程的定义和过程的调用均不能嵌套

5.阅读程序

Function F(a As Integer)

b = 0

Static c

b = b + 1

c = c + 1

F = a + b + c

End Function

Private Sub Command1_Click()

Dim a As Integer

a = 2

For i = 1 To 3

Print F(a)

Next i

End Sub

运行上面的程序,单击命令按钮,输出结果为

A.4 B.4 C.4 D.4

4 5 6 7

4 6 8 9

6.阅读程序:

Sub subP(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

subP a()

For i = 1 To 4

Print a(i)

Next i

End Sub

运行上面的程序,单击命令按钮,输出结果为

A.2 B.5 C.10 D.出错

4 6 12

6 7 14

8 8 16

7.假定有以下两个过程:

Sub S1(ByVal x As Integer, ByVal y As Integer)

Dim t As Integer

t = x

x = y

y = t

End Sub

Sub S2(x As Integer, y As Integer)

Dim t As Integer

t = x

x = y

y = t

End Sub

则以下说法正确的是

A.用过程S1可以实现交换两个变量的值的操作,S2不能实现

B.用过程S2可以实现交换两个变量的值的操作,S1不能实现

C.用过程S1和S2都可以实现交换两个变量的值的操作

D.用过程S1和S2都不能实现交换两个变量的值的操作

8.假定有下面的过程:

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

Static m As Integer, i As Integer

m = 0

i = 2

i = i + m + 1

m = i + a + b

Func = m

End Function

在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim k As Integer, m As Integer

Dim p As Integer

k = 4

m = 1

p = Func(k, m)

Print p;

p = Func(k, m)

Print p

End Sub

程序运行后,单击命令按钮,输出结果为

A.8 17 B.8 16 C.8 20 D.8 8

9.设有一个工程文件,包含Form1、Model1、Model2等模块。在Form1的通用部分声明一个变量Public x as Interger,Form1中包含若干事件过程和一个通用过程GetFile。以下关于x作用域的描述中正确的是

A.在Model1中可以使用x

B.x的作用范围不包含Form1中的GetFile

C.x的作用范围是Form1

D.x的作用范围是整个工程

10.以下关于VB程序模块的描述中正确的是

A.标准模块中的所有过程可以在整个工程文件的范围内被调用

B.窗体模块Form1中的过程可以调用其他窗体中被声明为Public的通用过程

C.若工程文件中包含Sub Main过程,则运行该工程文件时,一定先执行Sub Main 过程。

D.若工程文件中不包含Sub Main过程,则程序从第一个创建的窗体开始运行。

二、填空题

1.编写如下通用过程:

Sub proc(ByVal num As Long, ByRef ren As Long)

Dim k As Long

k = 1

num = Abs(num)

Do While num

k = k * (num Mod 10)

num = num \ 10

Loop

ren = k

End Sub

在窗体上画一个命令按钮,然后编写如下事件过程:

Private Sub Command1_Click()

Dim n As Long, r As Long

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

n = CLng(n)

proc n, r

Print r

End Sub

程序运行后,单击命令按钮,在输入对话框中输入345,输出结果是。

2.阅读程序:

Option Base 1

Dim arr2() As Integer

Private Function FindMax(a() As Integer) As Integer

Dim Start As Integer

Dim Finish As Integer, i As Integer

Start = Lbound

Finish = Ubound

Max =

For i = Start To Finish

If a(i) > Max Then Max =

Next i

FindMax = Max

End Function

Private Sub Command1_Click()

Dim arr1

arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43)

b = UBound(arr1)

ReDim arr2( ) As Integer

For i = 1 To b

arr2(i) = CInt( )

Next i

m = FindMax(arr2())

Print "最大值是:"; m

End Sub

以上程序的功能是,在命令按钮事件过程中定义一个数组,把这个数组作为参数传送到通用过程FindMax,并返回该数组的最大值。请填空。

3.在过程定义中出现的变量名叫做参数,而在调用过程时传送给过程的

、、或叫做参数。

4.在窗体上画一个命令按钮,然后编写如下程序:

Sub inc(a As Integer)

Static x As Integer

x = x + a

Print x;

End Sub

Private Sub Command1_Click()

inc 2

inc 3

inc 4

End Sub

程序运行后,第一次单击命令按钮时的输出结果为。

5.在窗体上画一个命令按钮,然后编写如下程序:

Function fun(ByVal num As Long) As Long

Dim k As Long

k = 1

num = Abs(num)

Do While num

k = k * (num Mod 10)

num = num \ 10

Loop

fun = k

End Function

Private Sub Command1_Click()

Dim n As Long

Dim r As Long

n = InputBox("请输入一个数")

n = CLng(n)

r = fun(n)

Print r

End Sub

程序运行后,单击命令按钮,在输入对话框中输入234,输出结果为。

6.在窗体上画一个命令按钮,然后编写如下程序:

Function M(x As Integer, y As Integer) As Integer

M = IIf(x > y, x, y)

End Function

Private Sub Command1_Click()

Dim a As Integer, b As Integer

a = 1

b = 2

Print M(a, b)

End Sub

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

7.VB应用程序通常由3类模块组成,即______、_______和______。

8.能在整个工程范围内使用的全局变量应该在_______模块中定义。

9.工程文件的扩展名是______,标准模块文件的扩展名是______,窗体模块文件的扩展名是______。若干工程构成工程组文件,其扩展名为______。

三、编程题

4.用随机数函数Rnd生成一个8行8列的数组(各元素值在100以内),然后找出某个指定行内值最大的元素所在的列号。要求:查找指定行内值最大的元素所在列号的操作,通过一个过程来实现。

相关文档