VB课后习题2

更新时间:2023-03-17 09:30:01 阅读量: 综合文库 文档下载

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

习 题 1

注:各章题目前加有“(2011年3月)”字样的,代表该题目为2011年3月全国计算机等级考试二级Visual Basic考题,其他年月字样类推。

一、选择题

1.在Visual Basic 集成环境中,可以列出工程中所有模块名称的窗口是( )。

A. 工程资源管理器窗口

B. 窗体设计窗口 C. 属性窗口

B. 属性窗口 D. 代码窗口 B. 属性窗口 D. 工具箱窗口

D. 代码窗口

3.在Visual Basic集成环境的设计模式下,用鼠标双击窗体上的某个控件打开的窗口是( )。

A. 工程资源管理器窗口 C. 工具箱窗口 A. 代码窗口

4.(2008年9月)在设计窗体时双击窗体的任何地方,可以打开的窗口是( )。

C. 工程资源管理器窗口

5.下列关于Visual Basic特点的叙述中,错误的是( )。

A. Visual Basic是采用事件驱动编程机制的语言 B. Visual Basic程序既可以编译运行,也可以解释运行 C. 构成Visual Basic程序的多个过程没有固定的执行顺序

D. Visual Basic程序不是结构化程序,不具备结构化程序的3种基本结构 6.退出Visual Basic 的快捷键是( )。

A. Ctrl + Q

B. Shift + Q

C. Alt +Q

D. Ctrl + Alt + Q

7.Visual Basic的特点不包括下面的( )。

A. 不需要编程

B. 面向对象的程序设计 D. 事件驱动的程序设计 B. 事件驱动编程机制 D. 结构化程序设计 C. 状态栏

D. 工具栏 D. 显示文字

C. 可视化程序设计 A. 程序开发环境 C. 程序调试技术 A. 标题栏

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

9.Visual Basic 6.0集成开发环境的主窗口中不包括( )。

B. 菜单栏

10.Visual Basic集成环境中窗体设计器的主要功能是( )。

A. 建立用户界面

B. 编写源程序代码

C. 添加图像

11.下列不能打开属性窗口的操作是( )。

A. 执行“视图”菜单中的“属性窗口”命令 B. 按F4键 C. 按Ctrl+T 12.下列可以打开立即窗口的操作是( )。

A. Ctrl+D

D. 单击工具栏上的“属性窗口”按钮。 C. Ctrl+F

D. Ctrl+G

B. Ctrl+E

1

13.用工具栏中的工具按钮不能执行的操作是( )。

A. 添加工程

B. 打印源程序

C. 运行程序

D. 打开工程

14.Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是( )。

A. 属性、控件和方法 C. 窗体、控件和过程

B. 属性、事件和方法 D. 控件、过程和模块

二、填空题

1.Visual Basic是以_______作为运行机制的新一代面向对象程序设计语言。 2.可以通过_______快捷键或_______快捷键退出Visual Basic。

3.Visual Basic开发环境中,在标题栏的方括号内能指出目前正处在______状态、_______状态或_______状态。

4.在设计模式下,工程中的某个窗体没有出现,可通过双击_______窗口中的相应窗体名来使之出现。

5.Visual Basic开发环境中,当属性窗口在界面上没有出现时,可使用_______菜单中的_______选项让它显示出来。

6.在属性窗口中,属性显示方式分为两种,即按_______顺序和按_______顺序,分别通过单击相应的按钮来实现。

7.调试窗口中的_______窗口用来显示当前过程中的所有变量的值。 8.Visual Basic工程文件的扩展名是_______,窗体文件的扩展名是_______。

9.在Visual Basic 集成开发环境中,可以编辑程序代码,但不能修改用户界面的工作状态是_______。

习 题 2

一、选择题

1.(2011年3月)假定编写了如下4 个窗体事件的事件过程,则运行应用程序并显示窗体后,已经执行的事件过程是( )。 A.Load

B.Click

C.LostFocus

D.KeyPress

2.以下叙述正确的是( )。

A. 窗体的Name属性指定窗体的名称,用来标记一个窗体 B. 窗体的Name属性的值是显示在窗体标题栏中的文本 C. 可以在运行期间改变对象的Name属性的值 D. 对象的Name属性值可以为空

3.下面对窗体属性设置描述错误的是( )。

A. Caption属性既可以通过属性窗口设置,又可以在事件过程中通过程序代码设置。 B. BorderStyle属性既可以通过属性窗口设置,又可以在事件过程中通过程序代码设置。 C. Enabled属性既可以通过属性窗口设置,又可以在事件过程中通过程序代码设置。 D.字形属性既可以通过属性窗口设置,又可以在事件过程中通过程序代码设置。 4.在界面设计时,要求改变窗体的标题时,应当在属性窗口中改变的属性是( )。

2

A.Caption

B.Name

C.Text

D.Label

5.若想要清除文本框Text1中的文本内容,其正确方法是( )。

A.Text1.Text = \ B.Text1.Cls

C.Text1.Text=Null D.Text1.Clear

6.在Visual Basic 工程运行状态,单击窗体上的关闭按钮,将触发( )事件。

A.Form_Unload( ) B.Form_Load( ) C.Form_Initialize( ) D.Form_Click( ) 7.保存新建的工程时,默认的路径是( )。

A.My Documents B.VB98 C.Windows D. \\ 8.Visual Basic工程文件的扩展名是( )。

A..exe A.Caption

B..frm C..vbp B.Alignment B.FontBold

C.BackStyle C.Fontslope

D..bas D.AutoSize D.FontItalic

9.(2011年3月)为了使标签具有“透明”的显示效果,需要设置的属性是( )。 10.(2009年9月)用来设置文字字体是否斜体的属性是( )。

A.FonUnderline

11.(2009年9月)在程序运行时,下面的叙述中正确的是( )。

A.用鼠标右键单击窗体中无控件的部分,会执行窗体的Form_load事件过程。 B.用鼠标左键单击窗体的标题栏,会执行窗体的Form_Click事件过程。 C.只装入而不显示窗体,也会执行窗体的Form_Load事件过程。

D.装入窗体后,每次显示该窗体时,都会执行窗体的Form_Click事件过程。

12.(2011年3月)窗体Form1 上有一个名称为Command1 的命令按钮,以下对应窗体单击

事件的事件过程是( )。 A. Private Sub Form1_Click()

? End Sub

B. Private Sub Form_Click()

? End Sub

C. Private Sub Command1_Click()

? End Sub

D. Private Sub Command_Click()

? End Sub

13.(2009年9月)名称为Command1的命令按钮和名称为Text1的文本框

Private Sub Command1_Click() Text1.Text = \程序设计\ Text1.SetFocus End Sub

Private Sub Text1_GotFocus() Text1.Text = \等级考试\

3

End Sub

运行以上程序,单击命令按钮后( )。

A. 文本框中显示的是“程序设计”,且焦点在文本框中。 B. 文本框中显示的是“等级考试”,且焦点在文本框中。 C. 文本框中显示的是“程序设计”,且焦点在命令按钮上。 D. 文本框中显示的是“等级考试”,且焦点在命令按钮上。

14.(2010年9月)在窗体上画一个文本框(名称为Text 1)和一个标签(名称为Label 1),程

序运行后,如果在文本框中输入文本,则标签中立即显示相同的内容。以下可以实现上述操作的事件过程是( )。 A. Private Sub Text1_Change()

Label1.Caption=Text1.Text End Sub

B. Private Sub Label1_Change()

Label1.Caption=Text1.Text End Sub

C. Private Sub Text1_Click()

Label1.Caption=Text1.Text End Sub

D. Private Sub Label1_Click()

Label1.Caption=Text1.Text End Sub

15.(2010年3月)设窗体中有一个文本框Text1,若在程序中执行了Text1.SetFocus,则触发( )。

A.Text1的SetFocus事件 C.Text1的LostFocus事件

B.Text1的GotFocus事件 D.窗体的GotFocus事件

16.(2010年9月)以下说法中错误的是( )。

A. 如果把一个命令按钮的Default属性设置为True,则按回车键与单击该命令按钮的作用相同 B. 可以用多个命令按钮组成命令按钮数组 C. 命令按钮只能识别单击(Click)事件

D. 通过设置命令按钮的Enabled属性,可以使该命令按钮有效或禁用

17.(2009年3月)在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运

行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数,以下可以实现上述操作的事件过程是( )。 A.Private Sub Text1_Change()

Label1.Caption=str(Len(Text1.Text)) End Sub

B.Private Sub Text1_Click()

Label1.Caption=str(Len(Text1.Text)) End Sub

4

C.Private Sub Text1_Change()

Label1.Caption=Text1.Text End Sub

D.Private Sub Label1_Change()

Label1.Caption=str(Len(Text1.Text)) End Sub

18.(2008年4月)为了使文本框同时具有垂直和水平滚动条,应先把MultiLine属性设置为

True,然后再把ScrollBars属性设置为( )。 A.0

B.1

C.2

D.3

19.(2008年4月)若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click

事件过程被调用的操作是( )。 A. 用鼠标右键单击此按钮 C. 按键盘上的回车键

B. 按键盘上的Esc键 D. 用鼠标右键双击此按钮

21.(2010年9月)在窗体上画一个图片框,在图片框中画一个命令按钮,位置如图2-26所示。

则命令按钮的Top属性值是( )。 A.200

B.300

C.500

D.700

23.Visual Basic中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光标在Text1文本框中,

则每输入一个字母( )。 A.这3个事件都会触发

B.只触发KeyPress事件 D.不触发其中任何一个事件

C.只触发KeyDown、KeyUp事件 程名是( )。

A.Form1_MouseDown C.Form_MouseDown

B.Win_MouseDown D.MouseDown_Form1

24.(2010年3月)设窗体的名称为Form1,标题为Win,则窗体的MouseDown事件过程的过

25.(2010年3月)要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。

下面能正确实现上述功能的事件过程是( )。

A.Private Sub P1_MouseMove(Button AS Integer,Shift As Integer, X As Single,Y As Single)

Print X,Y End Sub

B.Private Sub P1_MouseDown(Button AS Integer,Shift As Integer, X As Single,Y As Single)

Print X,Y End Sub

C.Private Sub P1_MouseMove(Button AS Integer,Shift As Integer, X As Single,Y As Single)

P1.Print X,Y End Sub

D.Private Sub Form_MouseMove(Button AS Integer,Shift As Integer, X As Single,Y As Single)

P1.Print X,Y End Sub

26.(2009年9月)若看到程序中有以下事件过程,则可以肯定的是,当程序运行时( )。

5

Private Sub Click_MouseDown(Button As Integer, Shift As Integer, X As Single,Y As Single) Print \End Sub

A. 用鼠标左键单击名称为“Command1”的命令按钮时,执行此过程 B. 用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程 C. 用鼠标右键单击名称为“MouseDown”的命令按钮时,执行此过程 D. 用鼠标左键或右键单击名称为“Click”的控件时,执行此过程 27.(2009年3月)以下说法中正确的是( )。

A. 当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程 B. 因为窗体不接受焦点,所以窗体不存在自己的KeyPress事件过程

C. 若按下的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中的KeyCode参数的值也相同

D. 在KeyPress事件过程中,KeyAscii参数可以省略

二、填空题

1.Visual Basic的对象是_______和_______的总称。

2.Visual Basic程序设计中,对象的特征称为_______,对象能够执行的操作称为_______,对象能够识别的操作称为_______。

3.要把窗体 Forml的标题改为“欢迎你”,可使用的语句是_______。

4.在Visual Basic中,要将一个窗体装载到内存进行变量初始化等预处理,应选用的事件是_______。

5.在Visual Basic中,一个控件在窗体上的位置由_______和_______属性决定,其大小由_______

和_______属性决定。

6.在刚建立工程时,要使窗体上的所有控件具有相同的字体格式,应对_______的_______属性进行设置。

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

8.(2008年9月)为了在运行时把d:\\pic 文件夹下的图形文件a.jpg 装入图片框Picture1,所使用的语句为__________。

习 题 3

一、选择题

1.(2009年9月)以下变量名中合法的是( )。

A.x2-1

B.Print

C.Str_n

D.2x

2.(2010年3月)设窗体文件中有下面的事件过程:

Private Sub Command1_Click() Dim s a% = 100

6

Print a End Sub

其中变量a和s的数据类型分别是( )。 A.整型,整型

B. 变体型,变体型

C. 整型,变体型

D. 变体型,整型

3.(2009年3月)执行语句 Dim X,Y As Integer 后( )。

A.X和Y均被定义为整型变量 B.X和Y均被定义为变体类型变量

C.X被定义为整型变量,Y被定义为变体变量 D.X被定义为变体类型变量,Y被,定义为整型变量 4.以下关系表达式中,其值为True的是( )。

A.\ C.\A.Integer

B.\D.\C.Boolean

D.Variant

5.(2008年9月)若变量 a 未事先定义而直接使用(例如:a=0),则变量 a 的类型是( )。

B.String

6(.2008年9月)为把圆周率的近似值3.14159 存放在变量 pi 中,应该把变量 pi 定义为( )。

A.Dim pi As Integer C.Dim pi As Single A.a5b A.1 A.30

B.Dim pi(7) As Integer D.Dim pi As Long C.a_b C.3 C.49

D.andif D.出现错误提示

7.(2008年4月)以下选项中,不合法的Visual Basic变量名是( )。

B._xyz B.0 B.31

8.(2008年4月)在Visual Basic中,表达式3*2\\5 Mod 3 的值是( )。

9.(2008年9月)表达式2*3^2+4*2/2+3^2 的值是( )。

D.48 D.0

10.(2008年9月)设a=4,b=5,c=6,执行语句Print a

A.True

B.False

C.出错信息

11.(2011年3月)设a=2,b=3,c=4,d=5,则下面语句的输出是( )。

Print 3>2*b Or a=c And b<>c Or c>d A.False

B.1

C.True

D.-1

12.(2011年3月)下面可以产生20~30(含20 和30)的随机整数的表达式是( )。

A.Int(Rnd*10+20) C.Int(Rnd*20+30) A.-36 A.|x|

B.Int(Rnd*11+20) D.Int(Rnd*30+20) C.-1 C.x

D.-72 D.-x

D.(X*5+3)/(y*2-6)

13.(2010年9月)语句Print Sgn(-6^2)+ Abs(-6^2)+Int(-6^2)的输出结果是( )。

B.1

14.(2010年3月)设x是整型变量,与函数IIf(x>0,-x,x)有相同结果的代数式是( )。

B.-|x|

15.(2009年9月)把数学表达式(5x+3)/(2y-6)表示为正确的VB表达式应该是( )。

A.(5x+3)/(2y-6) A.Int (Rnd*21+30)

B.x*5+3/2*y-6

C.(5*X+3) B.Int(Rnd*20+30)

16.(2009年9月)可以产生30~50 (含30和50)之间的随机整数的表达式是( )。

7

C.Int(Rnd*50-Rnd*30)

D.Int(Rnd*20+50)

17.(2009年3月)执行以下程序段

a$=\

b$=\

C$=UCase(Left$(a$,7)) & b$ & Right$(a$,12)

后,变量C$的值为( )。

A.Visual BASIC Programming C.Visual C++ Programming

B.VISUAL C++ Programming D.VISUAL BASIC Programming

18.(2009年3月)在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text1),

并把窗体的KeyPreview属性设置为True,然后编写如下代码:

Dim SaveAll As String Private Sub Form_Load() Show

Text1.Text = \ Text1.SetFocus End Sub

Private Sub Command1_Click()

Text1.Text = LCase(SaveAll) + SaveAll End Sub

Private Sub Form_KeyPress(KeyAscii As Integer) SaveAll = SaveAll + Chr(KeyAscii) End Sub

程序运行后,直接用键盘输入:VB,再单击命令按钮则文本框中显示的内容为( )。 A.vbVB

B.不显示任何信息

C.VB

D.出错

19.(2008年9月)以下不能输出“Program”的语句是( )。

A.Print Mid(\ C.Print Mid(\

Private Sub Command1_Click() x=\ a=Right(x,11) b=Mid(x, 7, 5) c=MsgBox(a, , b) End Sub

B.Print Right(\D.Print Left(\

20.(2008年4月)窗体上有一个名称为Command1的命令按钮,其事件过程如下:

运行程序后单击命令按钮。以下叙述中错误的是( )。 A.信息框的标题是Basic C.c的值是函数的返回值 程如下:

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

Dim c As String

c=UCase(Chr(KeyCode)) Text2.Text=Chr(Asc(c)+2)

B.信息框中的提示信息是Programming D.MsgBox的使用格式有错

21.(2008年4月)窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp事件过

8

End Sub

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

B.a

C.C

D.c

22.(2008年4月)设窗体上有一个文本框Text1和一个命令按钮Command1,并有以下事件过程:

Private Sub Command1_Click() Dim s As String, ch As String s=\

For k=1 To Len(Text1) ch=Mid(Text1, k, 1) s=ch+s Next k

Text1.Text=s End Sub

程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是( )。 A.Basic 事件过程:

Private Sub Command1_Click() a$ = \ b$ = Right(a$, 8) c$ = Mid(a$, 1, 8) MsgBox a$, , b$, c$, 1 End Sub

B.cisaB C.BASIC D.CISAB

23.(2010年9月)在窗体上画一个名称为Commandl的命令按钮。单击命令按钮时执行如下

则在弹出的信息框标题栏中显示的标题是( )。 A.software and hardware A.MsgBox \ C.MsgBox (\

B.hardware

C.software

D.1

25.(2010年3月)下面不能在信息框中输出“VB”的是( )。

B.x=MsgBox(\D.Call MsgBox \

26.(2010年3月)下面程序运行时,若输入395,则输出结果是( )。

Private Sub Command1_Click()

Dim x%

x = InputBox(\请输入一个3位整数\ Print x Mod 10, x \\ 100, (x Mod 100) \\ 10 End Sub

A.3 9 5 B.5 3 9 C.5 9 3 D.3 5 9

27.(2009年3月)下列叙述中正确的是( )。

A.MsgBox语句的返回值是一个整数

B.执行MsgBox语句并出现信息框后,不用关闭信息框即可执行其他操作 C.MsgBox语句的第一个参数不能省略

D.如果省略MsgBox语句的第三个参数(Title),则信息框的标题为空 28.(2008年9月)执行下列语句:

strInput=InputBox (\请输入字符串\字符串对话框\字符串\

9

将显示输入对话框。此时如果直接单击“确定”按钮,则变量strInput 的内容是( )。 A.\请输入字符串\

B. \字符串对话框\

C.\字符串\

D.空字符串

二、填空题(每空2分,共30分)

2.(2008年9月)在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个事件过程:

Private Sub Command1_Click()

s$ = InputBox(\请输入一个字符串\ Text1.Text = s$ End Sub

Private Sub Text1_Change()

Label1.Caption = UCase(Mid(Text1.Text, 7)) End Sub

程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“VisualBasic”,则在标签中显示的内容是__________。

习 题 4

一、选择题

1.(2008年4月)窗体上有一个名称为Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下:

Private Type x

a As Integer b As Integer End Type

Private Sub Command1_Click Dim y As x

y.a=InputBox(\

If y.a\\2=y.a/2 Then y.b=y.a*y.a Else

y.b=Fix(y.a/2) End If

Text1.Text=y.b End Sub

对以上程序,下列叙述中错误的是( )。 A.x是用户定义的类型

B.InputBox函数弹出的对话框中没有提示信息 C.若输入的是偶数,y.b的值为该偶数的平方

D.Fix(y.a / 2)把y.a / 2的小数部分四舍五入,转换为整数返回

2.(2010年9月)设a=5, b=6, c=7, d=8,执行语句x=IIf((a>b)And (c>d), 10, 20)后,x的值是( )。

10

中错误的是______。

A. 数组中每个命令按钮的名称(Name属性)均为Command1 B. 若未做修改,数组中每个命令按钮的大小都一样 C. 数组中各个命令按钮使用同一个Click事件过程 D. 数组中每个命令按钮的Index属性值都相同 5.(2011年3月)设有如下程序段:

Dim a(10) …

For Each x In a Print x; Next x

在上面的程序段中,变量x 必须是______。 A. 整型变量

B. 变体型变量

C. 动态数组

D. 静态数组

6.(2011年3月)阅读程序

Private Sub Command1_Click() Dim arr

Dim i As Integer

Arr=Array (0,1,2,3,4,5,6,7,8,9,10) For i=0 To 2

Print arr(7 –i); Next End Sub

程序运行后,窗体上显示的是______。 A.8 7 6

B.7 6 5

C.6 5 4

D.5 4 3

7.(2009年9月)在窗体上面1个命令按钮,并编写如下事件过程:

Private Sub Command1_Click() Dim a(3, 3) For m = 1 To 3 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

运行程序单击命令按钮,窗体上显示的内容为______。 A. 2 0 0

B. 2 0 4

C.2 3 0

D. 2 0 0

0 4 0 0 4 0 3 4 0 0 4 5 0 0 6 4 0 6 0 0 6 0 5 6

8.(2008年9月)窗体上有Command1、Command2 两个命令按钮。现编写以下程序:

16

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 的是______。

Private Sub Command1_Click()

Dim count(25) As Integer, ch As String

ch=Ucase(InputBox(\请输入字母字符串\)) For k=1 To Len(ch)

n=Asc(Mid(ch,k,1))-Asc(\) If n>=0 Then

Count(n)=Count(n)+ 1 End If Next k

m=count(0) For k=1 To 25

If m

B.6 C.10 D.11

9.(2010年3月)下面程序运行时,若输入“Visual Basic Programming”,则在窗体上输出

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

10.(2009年3月)在窗体上画一个命令按钮,其名称为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

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

17

A.4321

B.1234

C.34

D.12

二、填空题

1.(2008年9月)在窗体上画一个命令按钮,其名称为Command1,然后编写如下代码:

Option Base 1

Private Sub Command1_Click( ) Dim Arr

Arr=Array(43, 68, -25, 65, -78, 12, -79, 43, -94, 72) pos=0 neg=0

For k=1 To 10

If Arr(k)>0 Then _______ Else

_______ End If Next k

Print pos, neg End Sub

以上程序的功能是:计算并输出数组Arr 中10 个数的正数之和pos 与负数之和neg,请填空。

2.(2006年9月)以下程序的功能是:将一维数组A中的100个元素分别赋给二维数组B的每个元素并打印出来,要求把A(1)~A(10)依次赋给B(1,1)~B(1,10),把A(11)~A(20)依次赋给B(2,1)~B(2,10),…,把A(91)~(100)依次赋给B(10,1)~B(10,10)。请填空。

Option Base 1

Private Sub Form_Click()

Dim i As Integer, j As Integer Dim A(1 To 100) As Integer

Dim B(1 To 10, 1 To 10) As Integer For i = 1 To 100

A(i) = Int(Rnd * 100) Next i

For i = 1 To _______ For j = 1 To _______ B(i, j) = _______ Print B(i, j); Next j Print Next i End Sub

3.(2011年3月)以下程序的功能是,先将随机产生的10 个不同的整数放入数组a 中,再将这10 个数按升序方式输出。请填空。

Private Sub Form_Click()

Dim a(10) As Integer, i As Integer Randomize i = 0

18 Do

num = Int(Rnd * 90) + 10

For j = 1 To i '检查新产生的随机数是否与以前的相同,相同的无效 If num = a(j) Then Exit For End If Next j

If j > i Then i = i + 1

a(i) = _______ End If

Loop While i < 10 For i = 1 To 9

For j = _______ To 10

if a(i)>a(j) then temp =a(i):a(i)=a(j): _______ Next j Next i

For i = 1 To 10 Print a(i) Next i End Sub

习 题 6

一、选择题

1.(2010年9月)以下关于局部变量的叙述中错误的是( )。

A. 在过程中用Dim语句或Static语句声明的变量是局部变量 B. 局部变量的作用域是它所在的过程

C. 在过程中用Static语句声明的变量是静态局部变量

D. 过程执行完毕,该过程中用Dim或Static语句声明的变量即被释放 2.(2010年3月)下面关于标准模块的叙述中错误的是( )。

A. 标准模块中可以声明全局变量

B. 标准模块中可以包含一个Sub Main过程,但此过程不能被设置为启动过程 C. 标准模块中可以包含一些Public过程 D. 一个工程中可以含有多个标准模块

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

A. 函数过程形参的类型与函数返回值的类型没有关系 B. 在函数过程中,过程的返回值可以有多个

C. 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递 D. 如果不指明函数过程参数的类型,则该参数没有数据类型 4.(2010年3月)下面是求最大公约数的函数的首部:

Function gcd(ByVal x As Integer, ByVal y As Integer) As Integer

19

若要输出8、12、16这3个数的最大公约数,下面正确的语句是( )。 A.Print gcd(8,12),gcd(12,16),gcd(16,8) B. Print gcd(8,12,16)

C. Print gcd(8),gcd(12),gcd(16) D. Print gcd(8,gcd(12,16))

5.(2009年9月)有如下过程代码:

Sub var_dim()

Static numa As Integer Dim numb As Integer numa = numa + 2 numb = numb + 1 Print numa; numb End Sub

连续3次调用var_dim过程,第3次调用时的输出是( )。 A.2 1

B.2 3

C.6 1

D.6 3

6.(2009年9月)标准模块中有如下程序代码:

Public x As Integer, y As Integer Sub var_pub()

x = 10: y = 20 End Sub

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

Private Sub Command1_Click() 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

7.(2008年9月)某人为计算n!(0

Private Function fun(n As Integer) As Long Dim p As Long p=1

For k=n-1 To 2 Step -1 p=p*k Next k fun=p End Function

在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3 种是正确的,错误的方案是( ) 。

A. 把p=1 改为p=n

B. 把For k=n-1 To 2 Step -1 改为For k=1 To n-1 C. 把For k=n-1 To 2 Step -1 改为For k=1 To n D. 把For k=n-1 To 2 Step -1 改为For k=2 To n

20

Print ascii Wend Close #1 End Sub

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

For k = 1 To _______

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

5.(2008 年9 月)在窗体上画一个文本框,名称为Text1,然后编写如下程序:

Private Sub Form_Load( )

Open \ Text1.Text=\End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then

If UCase(Text1.Text)= _______ Then Close #1 End Else

Write #1, _______ Text1.Text=\ End If End If End Sub

以上程序的功能是:在D 盘temp 文件夹下建立一个名为dat.txt 的文件,在文本框中输入字符,每次按回车键都把当前文本框中的内容写入文件dat.txt,并清除文本框中的内容:如果输入“END”,则不写入文件,直接结束程序。请填空。

6.(2008年4月)以下程序的功能是:把顺序文件smtext1.txt的内容全部读入内存,并在文本框Text1中显示出来。请填空。

Private Sub Command1_Click Dim inData As String Text1.Text=\

Open \ Do While _______ Input #2, inData

Text1.Text=Text1.Text & inData Loop Close # 2 End Sub

31 习 题 10

一、选择题

1.标准坐标系统和自定义坐标系统的ScaleMode属性值分别是( )。

A.0,1

B.1,0

C.1,2

D.2,1 D.Inch

2.在Visual Basic窗体中,默认的坐标单位为( )。

A.Pixel

B.Point

C.Twip

3.在Visual Basic中,坐标轴的度量单位可以通过( )来改变。

A.Scale方法

B.DrawStyle属性

D.ScaleWidth、ScaleHeight属性 C.一个扇形

D.一个圆

C.ScaleMode属性 A.一个椭圆

4.语句Circle( 1000,1000), 200, , , , 3 画出的是( )。

B.一段圆孤

5.语句Line(100,50)-(200,250),,B画出的是( )。

A.使用窗体的前景颜色绘制的一条直线 B.使用窗体的前景颜色绘制的一个矩形 C.使用窗体的背景颜色绘制的一条直线 D.使用窗体的前景颜色绘制的一个矩形

6.当使用Line方法绘制直线后,当前的坐标为( )。

A.直线的起点

B.直线的终点

C.坐标的原点

D.容器的中心

7.当窗体的AutoRedraw属性采用默认值时,若再窗体装入时要用绘图方法绘制图形,则应用程序应当放在( )。 A.Load事件

B.Initialize事件

C.Click事件

D.Paint事件

8.关于Cls方法,下面说法错误的是( )。

A. 可以清除所有使用绘图方法绘制的图形 B. 可以清除所有用Print方法显示的文本 C. 可以清除所有创建的控件 D. 不能清除界面的背景颜色

二、填空题

1.坐标系统由____________、____________和____________3个要素确定。 2.在标准坐标系统中,坐标原点位于____________。

3.Visual Basic中常用的绘图方法有___________、____________、____________、Point和Cls。 4.使用Circle方法绘制图形时,正向采用____________时针方向。

5.DrawStyle属性用于设置所画线的形状,此属性受到____________属性的限制。

32 习 题 11

一、选择题

1.Data数据控件中,( )属性用于指定要访问的数据库名称。

A.Connect A.Table类型

B.DatabaseName B.Snapshot类型

C.RecordSource C.Dynaset类型 B.Select、Where D.Select、All B. 被删除记录的上一条 D. 记录集的第一条

D.RecordType D.以上三者

2.Seek方法可在( )记录集中查找数据。 3.下列( )组关键字是Select语句中不可缺少的。

A.Select、From C.From、Order By A. 被删除记录上

4.在使用Delete方法删除当前记录后,记录指针位于( )。

C. 被删除记录下一条

5.使用ADO数据控件的ConnectionString属性与数据源建立连接相关信息,在属性页对话框

中可以有( )不同的连接方式。 A.1种

B.2种 C.3种

D.4种

6.将数据库和控件TextBox或ComboBox控件绑定,需设置控件的( )属性。

A.DataSource和DataField C.List和Text

B.RowSource和ListField D.DataSource和List B.DataSource和DataField

7.DataReport报表设计器中,RptTextBox控件与数据库的绑定通过属性( )实现。

A.DataMember和DataField

C.BoundColumn和BoundText D.DataSource和ListField

8.下列所显示的字符串中,字符串( )不包含在ADO数据控件的ConnectionString属性中。

A.Microsoft Jet 3.51 OLE DB Provider C.Persist Security Info=False

B.Data Source=C:\\Mydb.mdb D.2-adCmdTable0

二、填空题

1.要使绑定控件能通过数据控件Data1连接到Access数据库上,必须设置控件的_____属性为______,要使绑定控件能与有效的字段建立联系,则须设置控件的_____属性。

2.如果数据控件连接的是单表数据库,则_______属性应设置为数据库文件所在的子文件夹名,而具体文件名放在______属性中。

3.记录集的RecordCount属性用于对Recordset对象中的记录计数,为了获得准确值,应先使用_______方法,再获得RecordCount属性值。

4.要在程序中通过代码使用ADO对象,必须先为当前工程引用__________。

5.要使DataReport能访问DataEnvironment1所连接的数据库,必须设置DataReport的_______属性为______________。

33

8.(2011年3月)窗体上有一个名为Command1 的命令按钮,并有如下程序:

Private Sub Command1_Click() Dim a As Integer, b As Integer a = 8 b = 12

Print Fun(a, b); a; b End Sub

Private Function Fun(ByVal a As Integer, b As Integer) As Integer a = a Mod 5 b = b \\ 5 Fun = a End Function

程序运行时,单击命令按钮,则输出结果是( ) 。 A.3 3 2

B.3 8 2

C.8 8 12

D.3 8 12

9.(2008年4月)现有如下程序:

Private Sub Command1_Click() s = 0

For i=1 To 5 s=s+f(5 + i) Next Print s End Sub

Public Function f(x As Integer) If x>=10 Then t=x+1 Else

t=x+2 End If f=t

End Function

运行程序,则窗体上显示的是( ) 。 A.38

B.49

C.61

D.70

10.(2008年9月)设有如下通用过程:

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

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( )

21

Dim S1 As String S1=\

Print UCase(Fun(S1)) End Sub

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

B.abcdef

C.AFBECD D.DEFABC

二、填空题

1.(2009年9月)窗体上有名称为Command1的命令按钮。事件过程及2个函数过程如下:

Private Sub Command1_Click()

Dim x As Integer, y As Integer, z x = 3 y = 5 z = fy(y)

Print fx(fx(x)), y End Sub

Function fx(ByVal a As Integer) a = a + a fx = a End Function

Function fy(ByRef a As Integer) a = a + a fy = a End Function

运行程序,并单击命令按钮,则窗体上显示的2个值依次是_______和_______。 2.(2008年9月)在窗体上画一个名为Command1 的命令按钮,然后编写如下程序:

Private Sub Command1_Click( ) Dim i As Integer Sum=0

n=InputBox(\ n=Val(n) For i=1 To n

Sum= _______ Next i Print Sum End Sub

Function fun(t As Integer)As Long p=1

For i=1 To t p=p*i Next i _______ End Function

以上程序的功能是,计算1!+2!+3!+…+n!,其中n 从键盘输入,请填空。

3.(2008年4月)在窗体上画一个名称为Command1的命令按钮。然后编写如下程序:

Option Base 1

22

Private Sub Command1_Click() Dim a(10) As Integer For i=1 To 10 a(i)=i Next

Call swap(_______) For i=1 To 10 Print a(i); Next End Sub

Sub swap(b() As Integer) n= _______ For i=1 To n /2 t=b(i) b(i)=b(n) b(n)=t _______ Next End Sub

上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……。请填空。

习 题 7

一、选择题

2. (2010年3月)下面哪个属性肯定不是框架控件的属性( )。

A.Text

B.Caption

C.Left

D.Enabled

3. (2010年3月)窗体上有一个名称为Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程:

Private Sub Option1_C1ick(Index As Integer) … End Sub

下面关于此过程的参数Index的叙述中正确的是( )。 A. Index为1表示单选按钮被选中,为0表示未选中 B. Index的值可正可负

C. Index的值用来区分哪个单选按钮被选中 D. Index表示数组中单选按钮的数量

4. (2008年4月)要使两个单选按钮属于同一个框架,正确的操作是( )。

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

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

23

C. 先画两个单选按钮,再画框架将单选按钮框起来 D. 以上三种方法都正确

5. (2011年3月)为了在窗体上建立2 组单选按钮,并且当程序运行时,每组都可以有一个

单选按钮被选中,则以下做法中正确的是( )。 A. 把这2 组单选按钮设置为名称不同的2 个控件数组 B. 使2 组单选按钮的Index 属性分别相同 C. 使2 组单选按钮的名称分别相同

D. 使2 组单选按钮分别画到2 个不同的框架中

7.(2008年9月)设窗体上有一个列表框控件List1,含有若干列表项。以下能表示当前被选中

的列表项内容的是( )。 A.List1.List A.Caption

B.List1.ListIndex B.Text

C.List1.Text C.List

D.List1.Index D.Selected

8. (2008年4月)能够存放组合框的所有项目内容的属性是( )。

9. (2011年3月)窗体上有一个名称为Cb1 的组合框,程序运行后,为了输出选中的列表项,应使用的语句是( )。 A. Print Cb1.Selected

B. Print Cb1.List(Cb1.ListIndex) D. Print Cb1.List(ListIndex)

C. Print Cb1.Selected.Text

10. (2011年3月)设窗体上有一个名为List1 的列表框,并编写下面的事件过程:

Private Sub List1_Click() Dim ch AS String

ch=List1.List(List1.ListIndex) List1.RemoveItem List1.ListIndex List1.AddItem ch End Sub

程序运行时,单击一个列表项,则产生的结果是( )。 A. 该列表项被移到列表的最前面 C. 该列表项被移到列表的最后面 A. 列表框与组合框都有List属性 C. 列表框和组合框都有Style属性 A. 它的Y1、Y2 属性的值相等 B. 它的X1、X2 属性的值相等

C. 它的X1、Y1 属性的值分别与X2、Y2 属性的值相等 D. 它的X1、X2 属性的值分别与Y1、Y2 属性的值相等

14. (2011年3月)窗体上有一个名为Command 1 的命令按钮和一个名为Timer 1 的计时器,并有下面的事件过程:

Private Sub Command1_Click() Timer1.Enabled=True

B. 该列表项被删除

D. 该列表项被删除后又在原位置插入 B. 列表框有Selected属性,而组合框没有 D. 组合框有Text属性、而列表框没有

12. (2010年9月)下列叙述中错误的是( )。

13. (2011年3月)如果一个直线控件在窗体上呈现为一条垂直线,则可以确定的是( )。

24

End Sub

Private Sub Form_Load() Timer1.Interval=10 Timer1.Enabled=False End Sub

Private Sub Timer1_Timer()

Command1.Left=Command1.Left+10 End Sub

程序运行时,单击命令按钮,则产生的结果是( )。 A. 命令按钮每10 秒向左移动一次

B. 命令按钮每10 秒向右移动一次 D. 命令按钮每10 毫秒向右移动一次 C.Click

D.MouseDown

C. 命令按钮每10 毫秒向左移动一次 A.Load

B.Scroll

15. (2010年9月)滚动条可以响应的事件是( )。

16. (2011年3月)设窗体上有一个名称为HS1 的水平滚动条,如果执行了语句:

HS1.Value=(HS1.Max-HS1.Min)/2+HS1.Min 则( )。 A. 滚动块处于最左端 B. 滚动块处于最右端 C. 滚动块处于中间位置

D. 滚动块可能处于任何位置,具体位置取决于Max、Min 属性的值 17.(2009年9月)下面控件中,没有Caption 属性的是( )。

A. 复选框

B. 单选按钮

C. 组合框

D. 框架

18. (2009年9月)设窗体上有1个水平滚动条,已经通过属性窗口把它的Max属性设置为1,

Min属性设置为100。下面叙述中正确的是( )。

A. 程序运行时,若使滚动块向左移动,滚动条的Value属性值就增加。 B. 程序运行时,若使滚动块向左移动,滚动条的Value属性值就减少。 C. 由于滚动条的MAX属性值小于Min属性值,程序会出错。

D. 由于滚动条的Max属性值小于Min属性值,程序运行时滚动条的长度会缩为滚动块无法移动。

19. (2009年9月)窗体上有1个名称为Text1的文本框,1个名称为Timer1的计时器控件,

其Interval属性值为5000,Enabled属性值是True。Timer1的事件过程如下:

Private Sub Timer1_Timer()

Static flag As Integer If flag = 0 Then flag = 1 flag = -flag If flag = 1 Then

Text1.ForeColor = &HFF& '&HFF&为红色' Else

Text1.ForeColor = &HC000& '&HC000&为绿色' End If End Sub

以下叙述中正确的是( )。

25

A. 每次执行此事件过程时,flag的初始值均为0 B. Flag的值只可能取0或1

C. 程序执行后,文本框中的文字每5秒改变一次颜色 D. 程序有逻辑错误,Else分支总也不能被执行

二、填空题

2.(2010年3月)为了使复选框禁用(即呈现灰色),应把它的value属性设置为_______。

习 题 8

3.(2009年9月)在利用菜单编辑器设计菜单时,为了把组合键”Alt+X”设置为"退出(X)菜单项的访问键,可以将该菜单项的标题设置为( )。 A. 退出(X&)

B. 退出(&X)

C. 退出(X#)

D. 退出(#X)

4.(2009年3月)以下关于菜单的叙述中,错误的是( )。

A. 当窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器 B. 把菜单项的Enabled属性设置为False,则可删除该菜单项 C. 弹出式菜单在菜单编辑器中设计

D. 程序运行时,利用控件数组可以实现菜单项的增加或减少 6.下面关于菜单的叙述中错误的是( )。

A. 各级菜单中的所有菜单项的名称必须唯一 C. 弹出式菜单用PopupMenu方法弹出

B. 不同子菜单中的菜单项名称可以相同 D. 弹出式菜单也用菜单编辑器编辑

7.某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是( )。 A. 在工程属性对话框中把“启动对象”设置为Form2 B. 在Form1的Load事件过程中加入语句 Load Form2 C. 在Form2的Load事件过程中加入语句Form2.Show

D. 在Form2的TabIndex属性设置为1,把Form1的TabIndex属性设置为2

8.工程中有两个窗体,名称分别为Form1、Form2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令时显示Form2,则按钮的Click事年过程中应书写的语句是( )。 A.Form2.Show

B.Form2.Visible

C.Load Form2

D.Form2.Load

9.在Visual Basic工程中,可以作为“启动对象”的程序是( )。

A. 任何窗体或标准模块

B. 任何窗体或过程 D. Sub Main过程或任何窗体 C.Load

D.Unload

C. Sub Main过程或其他任何模块 A.Show

B.Hide

10.在Visual Basic中,要将一个窗体加载到内存进行预处理但不显示,应使用的方法是( )。

12.(2009年9月)下列关于通用对话框CommanDialog1的叙述中,错误的是( )。

26

A. 只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开 B. 使用CommonDialog1.ShowColor方法,可以显示“颜色”对话框

C. CancelError属性用于控制用户单击“取消”按钮关闭对话框时,是否显示出错警告 D. 在显示“字体”对话框前,必须先设置CommonDialog1的Flags属性,否则会出错 13.(2009年3月)以下叙述中错误的是( )。

A. 在程序运行时,通用对话框控件是不可见的

B. 调用同一个通用对话框控件的不同方法(如ShowOpen或ShowSave)可以打开不 同的对话框窗口

C. 调用通用对话框控件的ShowOpen方法,能够直接打开在该通用对话框中指定的文件 D. 调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口

二、填空题

2.运行程序后,要在某菜单项前添加一个“√”,只需将该菜单的____属性设置为True。 3.要将一个标准窗体设计成MDI子窗体,只需将其______属性设置为True。 4.菜单控件中包含一个事件,即_____。

5.在ToolBar控件的按钮上显示的所有图像都可以用________控件存储。 6.SDI是指______界面,MDI是指______界面。

7.工具栏的按钮单击之后引发的是工具栏的ButtonClick事件,需要识别具体被单击的按钮时,通过按钮的_______属性来标识。

8.一个应用程序最多可以有______个MDI父窗体。

9.运行程序时,要使工具栏控件ToolBar1中索引值为2的按钮无效(变成灰色),应使用的语句是:_________

10.(2008年4月)在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并编写如下事件过程:

Private Sub Command1_Click()

CommonDialog1.Filter=\ CommonDialog1.FilterIndex=1 CommonDialog1.ShowOpen

MsgBox CommonDialog1.FileName End Sub

程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是_______;如果在对话框中选择d盘temp目录下的tel.txt文件,然后单击“确定”按钮,则在MsgBox信息框中显示的提示信息是_______。

习 题 9

一、选择题

1. (2011 年3 月)假定用下面的语句打开文件:

Open“Filel.txt”For Input AS #1

则不能正确读文件的语句是( )。

27

A.Input #1,ch$ B.Line Input #1,ch$ C.ch$=Input$(5,#1) D.Read #1,ch$ 2. (2011 年3 月)为了从当前文件夹中读入文件File1.txt,某人编写了下面的程序:

Private Sub Command1_Click() Open \ Do While Not EOF(20) Line Input #20, ch$ Print ch Loop End Sub

程序调试时,发现有错误,下面的修改方案中正确的是( )。

A. 在Open 语句中的文件名前添加路径 B. 把程序中各处的“20”改为“1” C. 把Print ch 语句改为Print #20,ch D. 把Open 语句中的Output 改为Input 3.(2010年9月)下列可以打开随机文件的语句是( )。

A. Open \#1 B. Open\filel .dat\#1 C. Open\file1.dat\#1 D. Open\file1.dat\#1 Len=20 4. (2010年3月)某人编写了下面的程序,希望能把Text1文本框中的内容写到out.txt文件中。

Private Sub Comand1_Click()

Open \ Print \ Close #2 End Sub

调试时发现没有达到目的,为实现上述目的,应做的修改是( )。 A. 把Print \改为Print #2,Text1 B. 把Print \改为Print Text1 C. 把Print \改为Write \ D. 把所有#2改为#1

5. (2009年9月)下列有关文件的叙述中,正确的是( )。

A. 以Output方式打开一个不存在的文件时,系统将显示出错信息 B. 以Append方式打开的文件,既可以进行读操作,也可以进行写操作 C. 在随机文件中,每个记录的长度是固定的

D. 无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的 6. (2009年3月)设在工程文件中有一个标准模块,其中定义了如下记录类型:

Type Books

Name As String*10 TelNum As String*20 End Type

在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条Books类型的记录,下列能够完成该操作的事件过程是( )。

A. Private Sub Command1_Click()

Dim B As Books

Open \B.Name = InputBox(\输入姓名\

B.Name = InputBox(\输入电话号码\Write #1, B.Name, B.TelNum

28

Close #1

End Sub

B. Private Sub Command1_Click()

Dim B As Books

Open \ B.Name = InputBox(\输入姓名\

B.Name = InputBox(\输入电话号码\ Print #1, B.Name, B.TelNum Close #1 End Sub

C. Private Sub Command1_Click()

Dim B As Books

Open \ B.Name = InputBox(\输入姓名\

B.Name = InputBox(\输入电话号码\ Write #1, B Close #1

End Sub

D. Private Sub Command1_Click()

Dim B As Books

Open \ B.Name = InputBox(\输入姓名\

B.Name = InputBox(\输入电话号码\ Print #1, Name,TelNum Close #1

End Sub

二、填空题

1.(2011 年3 月)窗体上已有名称分别为Drive1、Dir1、File1 的驱动器列表框、目录列表框和文件列表框,且有1 个名称为Text1 的文本框。以下程序的功能是:将指定位置中扩展名为“.txt”的文件显示在File1 中,如果双击File1 中某个文件,则在Text1 中显示该文件的内容。请填空。

Private Sub Form_Load() File1.Pattern =_______ End Sub

Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub

Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub

Private Sub File1_DblClick() Dim s As String * 1

If Right(File1.Path, 1) = \

f_name = File1.Path + File1.FileName Else

f_name = File1.Path + \

29 End If

Open f_name _______ As #1 Text1.Text = \ Do While _______ s = Input(1, #1)

Text1.Text = Text1.Text + s Loop Close #1 End Sub

2.(2010年3月)在窗体上画一个文本框,其名称为Text1,在属性窗口中把该文本框的MultiLine属性设置为True,然后编写如下的事件过程:

Private Sub Form_Click()

Open \ Do While Not _______ Line Input #1, aspect$

whole$=whole$+aspect$+Chr$(13)+Chr$(10) Loop

Text1.Text=whole$ _______

Open \ Print #1, _______ Close #1 End Sub

运行程序,单击窗体,将把磁盘文件smtext1.txt的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt。请填空。

3.(2009年9月)窗体上有名称为Command1的命令按钮及名称为Text1、能显示多行文本的文本框。程序运行后,如果单击命令按钮,则可打开磁盘文件c:\\test.txt,并将文件中的内容(多行文本)显示在文本框中。下面是实现此功能的程序,请填空。

Private Sub Command1_Click() Text1 = \

Number = FreeFile

Open \ Do While Not EOF(_______) Line Input #Number, s

Text1.Text = Text1.Text +_______+ Chr(13) + Chr(10) Loop

Close #Number End Sub

4.(2009年9月)\是一个文本文件,其中有若干行文本。下面程序的功能是读入此文件中的所有文本行,按行计算每行字符的ASCII码之和,并显示在窗体上。请填空:

Private Sub Command1_Click() Dim ch$, ascii As Integer

Open \ While Not EOF(1) Line Input #1, ch

ascii = toascii(_______)

30

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

Top