《VB程序设计》综合复习资料 第一章 Visual Basic程序设计概述
一、填空题
1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。
2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。
3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。 4、Visual Basic 6.0用于开发__________环境下的应用程序。 二、选择题
1、下面不是VB工作模式的是(C )
A.设计模式
B.运行模式
C.汇编模式
D.中断模式
2、可视化编程的最大优点是(C )
A.具有标准工具箱
B.一个工程文件由若干个窗体文件组成 C.不需要编写大量代码来描述图形对象 D.所见即所得
3、下列不能打开属性窗口的操作是(C )
A.执行“视图”菜单中的“属性窗口”命令 B.按F4键 C.按Ctrl+T D.单击工具栏上的“属性窗口”按钮 4、下列可以打开立即窗口的操作是(D )
A.Ctrl+D
B.Ctrl+E
C.Ctrl+F
D.Ctrl+G
5、Visual Basic的编程机制是(D )
A.可视化 B.面向对象 C.面向图形 D.事件驱动 三、简答题
1、代码窗口主要包括哪几部分?
2、在工程资源管理器窗口中,主要列出了哪三类文件?
第 1 页
3、窗体布局窗口的主要用途是什么? 4、VB的基本特点是什么? 5、怎样理解可视化设计? 6、怎要理解事件驱动编程?
第二章 简单的VB程序设计
一、填空题
1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。
2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。 3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。
4、设置控件背景颜色的属性名称是______________________。 5、所有控件都具有的共同属性是__________________属性。
6、一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。
7、VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。
8、通常情况下,VB中一个工程主要包括如下四个文件:窗体文件、工程文件、类模块文件和_____________文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序。
9、VB有三种工作模式,分别是设计(Design)模式、_____________和中断(Break)模式。 二、选择题
1、以下能够触发文本框Change事件的操作是(D )
A.文本框失去焦点 C.设置文本框的焦点
B.文本框获得焦点
D.改变文本框的内容
2、应用程序设计完成后,应将程序保存,保存的过程是(D )
A.只保存窗体文件即可 B.只保存工程文件即可
C.先保存工程文件,之后保存窗体文件
D.先保存窗体文件(或标准模块文件),之后还要保存工程文件
第 2 页
3、VB应用程序的运行模式是( C)
A.解释运行模式
B.编译运行模式
C.两者都有
D.汇编模式
4、任何控件都具有的属性是(C )
A.TEXT
B.CAPTION
C.NAME
D.FORECOLOR
5、决定控件上文字的字体、字形、大小及效果的属性是(D )
A.TEXT
B.CAPTION
C.NAME
D.FONT
6、在窗体上建立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的(B )设置为0
A.INDEX
B.TABINDEX
C.TABSTOP
D.ENABLED
7、运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的TEXT属性进行赋值从而改变了文本框的TEXT属性值时,将触发文本框的( D)事件
A.CLICK
B.DBLCLICK
C.GOTFOCUS
D.CHANGE
8、在运行时,按TAB键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(D )
A.该控件的TABSTOP属性值为TRUE C.该控件的ENABLED属性值为TRUE
B.该控件的TABINDEX属性值为FALSE D.该控件的ENABLED属性值为FALSE
9、为了防止用户随意将光标置于控件上,应(D )
A.将控件的TABINDEX属性设置为0 B.将控件的TABSTOP属性设置为TRUE C.将控件的TABSTOP属性设置为FALSE D.将控件的ENABLED属性设置为FALSE
10、若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的(D )属性
A.BACKCOLOR C.FORECOLOR
B.BORDERSTYLE D.BACKSTYLE
11、如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是(B )
A.文本框的MULTILINE属性值为TRUE B.文本框的LOCKED属性值为TRUE
第 3 页
C.文本框的MULTILINE属性值为FALSE D.文本框的LOCKED属性为FALSE
12、在运行阶段,要在文本框TEXT1获得焦点时选中文本框中所有内容,对应的事件过程是( A)
A.Private Sub Text1_GotFocus( )
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text) End Sub
B.Private Sub Text1_LostFocus( )
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text) End Sub
C.Private Sub Text1_Change( )
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text) End Sub
D.Private Sub Text1_SetFocus( )
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text) End Sub
13、Visual Basic继承了Basic语言简单易用的语法特点,同时支持面向对象的编程机制,其中构成其控件(对象)的三要素是( D)
A.属性、事件、事件过程 C.属性、过程、方法
B.控件、窗体、事件 D.属性、事件、方法
14、决定标签(Label)显示的属性是(C )
A.Text B.Name C.Caption D.Alignment 15、命令按钮的标题文字由(B )属性来设置。
A.Text B.Caption C.Name D.(名称) 16、若要设置文本的显示颜色,则可用(B )属性来实现。
A.BackColor
B.Forecolor C.FillColor D.Backstyle
17、在运行时,若要调用某命令钮的Click事件过程,则可设置该命令钮对象的(B )属性为Ture来实现。
A.Enabled B.Value C.Default D.Cancel
18、在运行时,若要获得用户在文本框中所选择的文本,可通过访问( D)属性来实现。
第 4 页
A.SelStart 三、简答题
B.SelLenght C.Text D.SelText
1、事件驱动的含意是什么?举例说明。
2、交互式开发方法和传统的应用程序开发过程有什么不同? 3、文本框在什么情况下使用? 4、什么是工程?
5、结构化程序设计的三种基本结构是什么? 6、对象的三要素是什么?并分别进行简单的解释。 7、为什么要生成可执行文件和制作安装盘? 8、使用变量前先声明有什么好处? 9、如何使用帮助功能?
10、结构化程序设计的特点是什么?
11、为了把焦点移到某个指定的控件,在代码中应使用的方法是什么?
12、启动Visua Basic后,只创建了一个窗体,若此时保存,需要保存几个文件?各是什么文件?先保存的是哪一个?
13、为了防止文本框中的信息运行后被用户修改,应设置什么属性?
第三章 VB语言基础
一、填空题
1、一般可以使用__________关键字声明常量。
2、______类型也称变体类型,是一种通用的、可变的数据类型,它可表示或存储任何一种数据类型。 3、变量的声明分为两种方法:___隐式_______和____显示________。
4、在VB中,用___________________语句设定数组的下界,用_____________和__________________语句分别返回数组的上、下界。
5、在代码模块中加入Option Explicit的目的是_____________________。
6、function aa (a1 as date,optional a2 as boolean) as single,写出optional命令的作用__________________。 7、在VB中,我们用一个简单的______语句就能实现退出程序。
8、生成消息框的命令是____________,生成输入框的命令是____________。
第 5 页
9、通用对话框(commondialog)属activex控件,它可以显示多个标准对话框,包括打开/另存为、字体、打印等对话框,若要显示所有文件,则应设置其属性filter=____________,若要使它显示为打印对话框,则应使用什么方法____________。
10、从字符串中任意位置截取字符的函数是__________。 11、语句For j = 3 To 20 Step 3 使循环体执行了______次。
12、对于正在使用的动态数组Arraya(),要增加一个单元,但不能破坏数组内的数据,则应使用语句__________________________________。
13、在Visual Basic中声明静态变量的关键字是_________________。 14、表达式10 Mod 6 \\ 4的值为______。 15、表达式chr(Asc(\的值为_________。
16、VB中使用注释有2种方法,即________和________。
17、VB中的数据以四种形式存储:常量、_________、_________和记录。
18、为了在VB中存储一个4行5列的二维矩阵,需要定义一个整型的数组,请把数组定义语句补充完整:Dim Juzhen(_ _) as Integer。
19、控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名,但是每个控件都有一个唯一的下标来区分,我们使用属性__ __来设置下标。
20、在过程调用中,实现调用过程的实参和被调用过程的形参之间的数据传递有两种方式:按值传递和__ __。
21、为了保证程序中必须对变量的强制性定义,需要在代码模块的声明部分加入______________语句。 22、分析For……Next循环结构的实例:For i = 5 To 30 Step 2 中,循环体一共执行了______次。 23、表达式Mid(\的值为_________。 24、常量分为普通常量和____符号______常量。
25、要将大写字母转换为小写字母,可使用____________函数。
26、不管焦点在哪个控件上,按___ ESC _______键相当于按了取消按钮。 27、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。 28、__________是程序中VB停止执行的地方。 29、逻辑常量为True或__________。
第 6 页
30、使用了__________________的声明后,当程序中使用未经声明的变量时,程序运行时会报错。 31、要将小写字母转换为大写字母,可使用____________函数。
32、自字符串N1位开始向右取N2个字符,要使用_________________函数。 33、日期常量表示时,用符号__________将日期型数据括起来。 34、局部变量只能在__________中声明和使用。 35、模块级变量的声明关键字是Dim或__________。 36、函数Abs(x)的功能是__________。 37、表达式3/6*5的值是__________。 二、选择题
1、以下哪个是合法的变量( D )
A.right
B.abc@123
C.123_abc
D.ab123c
2、下列说法错误的是( B )
A.在同一模块不同过程中的变量可以同名 B.不同模块中定义的全局变量不可以同名
C.引用另一模块中的全局变量时,必须在变量名前加模块名 D.同一模块中不同级的变量可以同名
3、把MsgBox的返回值转换为数值应该使用的函数是(D )
A.Log B.Str C.Len D.Val
4、语句DIM AA(3,4,5)中定义的数组有( C )个元素
A.12 B.60 C.120 D.345 5、下面程序运行后输出的结果是( B )
A$=\ B$=STRING$(3,A$) PRINT B$ END
A.CHI B.CCC C.INA D.AAA 6、以下语句的输出结果是( C )
第 7 页
Print Format$(32548.5, \
A.32548.5 B.325,485.00 C.032,548,50 D.32,548,50 7、以下叙述中错误的是(D )
A.如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B.Sub过程中不能嵌套定义Sub过程 C.Sub过程中可以嵌套调用Sub过程
D.事件过程可以像通用过程一样由用户定义过程名
8、Visual Basic提供的On Error Resume next错误陷阱语句表示( C )
A.当发生错误时,使程序转跳到语句标号为0的程序块 B.当发生错误时,不使用错误处理程序块 C.当发生错误时,忽略错误行,继续执行下一语句 D.当发生错误时,终止本过程执行,继续执行下一过程
9、在Visual Basic中,若要将控制权交给操作系统则通过( D )的语句。
A.End B.Exit Do C.Exit Sub D.DoEvents 10、在Visual Basic 中语句的续行号采用( A )
A.空格与下划线
B.下划线与空格 C.空格与短线 D.短线与空格
11、假定有以下程序段:
For i=1 to 3 For j=5 to 1 Step –1
Print i*j
Next j,i
则语句Print i*j的执行次数是( A ) A.15 B..16 C.17 D.18
12、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是( D )
A.Left B.Mid C.String D.Instr
13、如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为(B )
第 8 页
A.0 B.-1 C.TRUE D.FALSE
14、下列叙述不正确的是(B )
A.注释语句是非执行语句,仅对程序的内容起注释作用,它不被解释和编译 B.注释语句可以放在代码中的任何位置 C.注释语句不能放在续行符的后面
D.代码中加入注释语句的目的是提高程序的可读性
15、语句PRINT “INT(-13.2)”;INT(-13.2)的输出结果为( D)
A.INT(-13.2)= -13.2 C.INT(-13.2)= -13
B.INT(-13.2)= 13.2 D.INT(-13.2)= -14
16、如果TAB函数的参数小于1,则打印位置在第( B)列
A.0
B.1
C.2
D.3
17、变量未赋值时,数值型变量的值为( A)
A、0
B.空
C.1
D.无任何值
18、下列语句中正确的是(D )
A.txt1.text+txt2.text=txt3.text C.12label.caption=1234
B.command1.name=cmdok D.a=inputbox(“hello”)
19、假设变量BOOLVAR是一个布尔型变量,则下面正确的赋值语句是( D)
A.BOOLVAR=?TRUE? C.BOOLVAR=#TRUE#
B.BOOLVAR=.TRUE D.BOOLVAR=3<4
20、以下( )程序段可以实施X、Y变量值的变换(C )
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
21、语句PRINT “SGN(-26)=”;SGN(-26)的输出结果为(D )
A.SGN(-26)=26 C.SGN(-26)= +1
B.SGN(-26)= -26
D.SGN(-26)= -1
22、读下面程序段,判断变量Str2的取值是( B)
Dim Str1, Str2 as String
第 9 页
Str1=\Str2=STRING$(3,Str1) A.Uni C.ity
B.UUU D.yyy
23、VB支持自定义数据类型,在某程序中我们定义了如下类型:
Student
string As String As Integer Type
针对上述定义,如下几项用法正确的是(B )
A.Student.name=\张三\ B.Dim s As Student
s.name=\张红\
C.Dim s As Type Student D.Dim s As Type s.name=\张三\ s.name=\张三\
24、一个工程中包含两个名称分别为Form1、Form2的窗体,一个名称为mdlFunc的标准模块。假定在Form1、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:
Form1中定义的过程: Private Sub frmfunction1() End Sub
Form2中定义的过程: Public Sub frmfunction2() End Sub
mdlFunc中定义的过程: Public Sub mdlFunction() End Sub
在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是(B )
第 10 页
A.上述三个过程都可以在工程中的任何窗体或模块中直接被调用 B.只有mdlFunction过程能够被工程中各个窗体或模块直接被调用
C.frmfunction1只能在form1中调用,而frmfunction2 则可以在所有模块或窗体中被直接调用 D.上述三个过程都只能在各自被定义的模块中直接调用
25、VB中Do……Loop结构既可以构成当型循环,也可以构成直到型循环,根据下面的代码:
Dim i,n as Integer n = 20 i = 1 Do Print i; i = i + 2 Loop Until i >20
判断循环结构的类型和循环体的执行次数,正确的选项是( B) A.当型循环,20次 C.当型循环,10次
B.直到型循环,10次 D.直到型循环,20次
26、在程序中,使用InputBox函数可以接受用户的输入,如果要把它的返回值转换为数值型的数据,应该使用的函数是(A )
A.Val
B.Len
C.Str D.Log
27、动态数组因为在程序运行前无法确定数组的大小,所以经常根据程序的运行情况,对数组进行重新定义,以下关于VB中动态数组的叙述中不正确的是( B)
A.可以用ReDim语句重新定义动态数组,并且可以进行多次重定义 B.首次用Dim进行动态数组声明的时候,必须指明它的类型和上下界 C.Preserve为ReDim语句的可选参数,用于保留动态数组原来的内容 D.当对动态数组使用Erase语句进行释放操作时,将释放其内存
28、VB中的控件也叫做部件或组件,主要包括三类,以下哪一项不属于VB控件的分类(C )
A.控件
B.可插入对象
C.ADO控件 D.ActiveX控件
第 11 页
29、表达式4+5 \\ 6 * 7 / 8 Mod 9 的值是(B )
A.4
B.5
C.6
D.7
30、可以同时删除字符串前导和尾部空白的函数是( C)
A.Ltrim 三、简答题
1、全局变量声明有哪些限制?
2、字符串是否可以自动转换为数字类型?
3、用Format函数格式化后的字符格式在不同区域环境下的输出是否相同?为什么? 4、在InputBox函数中,哪一个参数是必需的? 5、在MsgBox函数中哪一个参数是必须的? 6、在什么情况下使用过程? 7、为什么要进行程序调试? 8、调试程序有哪些手段?
9、用语句Dim A(-3 To 5) As Integer定义的数组的元素个数是多少?
10、设有如下的Visual Basic表达式:5*x^2-3*x-2*Sin(a)/3,与它对应的数学式是什么? 11、数学式(2x?a)(3y?b)对应的VB表达式是什么? 12、表达式2>3 And 4<=5 Or 4>4的值是什么? 13、怎样在程序中设置断点? 14、在什么情况下可以设置断点? 15、程序出错的类型有哪几种?
16、在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?为什么? 17、什么情况下会出现“数组下标越界错误”? 18、逐语句和逐过程有什么区别? 19、表达式2.75 * 2 \\ 3.45的值是什么? 20、在程序设计中为什么尽量不用GoTo语句? 四、读程序题
B.Rtrim
C.Trim
D.Mid
第 12 页
1、分析以下程序,写出运行结果。
Private Sub Form_Click() score = Int(Rnd * 10) + 80 Select Case score Case Is < 60 A$ = \ Case 60 To 69 A$ = \ Case 70 To 79 A$ = \ Case 80 To 89 A$ = \ Case Else A$ = \ End Select Print A$ End Sub
2、读下面的程序,分析其功能,写出运行结果。
在窗体上有一个命令按钮,名称为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
第 13 页
程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么? 3、阅读下面的程序,分析并写出其功能。
Sub insert(a() As Single,ByVal x As Single) Dim m as integer,n as integer n=1
Do While n<20 And x>a(n)
n=n+1
Loop
For m=20-1 To n Step –1
a(m+1)=a(m)
Next m a(n)=x End Sub
4、分析以下程序,写出运行结果。
Sub subP(b() As Integer)
For i =1 To 4 b(i)=2*i Next i End Sub
Private Sub Commandl_Click() Dim a(1 To 4)As Integer a (1)=5 a (2)=6 a (3)=7 a (4)=8 subP a()
第 14 页
For i =1 To 4 Print a(i) Next i End Sub
运行上面的程序,单击命令按钮,输出结果是什么?
5、分析以下程序,写出运行结果。
Sub sele()
Dim n as Integer i=21:n=3 Do While i>n i=i-n Loop Print i End Sub
6、分析以下程序,写出运行结果。
Sub selectPrint() Dim a as Integer Dim b as Integer Dim c as Integer a=2:b=5:c=2
If(a>=b)and(a>=c) or (b>c) Then Print a a=a+2
Else
Print b EndIf Print a;b;c
第 15 页
End Sub
7、分析以下程序,写出运行结果。
Sub swap() Dim x as Integer Dim y as Integer Dim z as Integer x=1:y=2:z=0 Print x;y;z x=x+y x=x*z Print x,y,z End Sub
8、分析以下程序,写出运行结果。
Sub selectPrint() Dim a as Integer Dim b as Integer Dim c as Integer a=3:b=3:c=2
If(a>=b)and(a>c)Then Print a Print a,b,c End Sub
五、编程题
1、输入一年号,判断它是否是闰年。界面如下图所示,包括两个标签、一个文本框和一个命令按钮。提示:如果此年号能被400整除或者不能被400除尽,也不能被100除尽,但能被4整除,则它是闰年;否则,不是闰年。
2、输入两个正整数m、n,求m和n的最大公约数。要求建立如下图所示的窗体,其中主要的控件包括:两个标签(Lable1、Lable2)、两个文本框(Text1、Text2)和一个按钮(Command1)。
第 16 页
3、输入某学生成绩(百分制),若是100≥成绩≥90输出优秀;若是90>成绩≥80输出良好;若是80>成绩≥70输出中等;若是70>成绩≥60输出及格;若是60>成绩≥0,输出不及格;若是其他数则输出error信息。
4、在窗体中显示从9号字型到16号字型。
5、在有序序列中插入一个数,使插入后的数列仍然有序(设按由小到大排列)。 6、编程实现二维数组转置。
7、随机输入10个100以内的整型数,计算其和及平均值。
8、找出所有的水仙花数。水仙花数是个三位数,它的各位数字的立方和等于这个三位数本身。例如371=33+73+13,则371是水仙花数。
9、从键盘输入一个大于2的正整数,判断该数是否是素数。 10、求二维数组中的最小值及其所在行号、列号。 11、求一元二次方程ax2+bx+c=0的根(包括实根和复根)。 12、输入一个正整数n,计算出n!并输出。
13、Faibonacci数列为0,1,1,2,3,5,8,13 ?,计算并输出第20项以及前20项的和。
第四章 常用控件与窗体
一、填空题
1、向列表框控件添加新项目的方法是__________。
2、在VB中,最主要的两种对象是____________和____________。 3、当窗体启动时可通过__________属性控制窗体位于所有者的中心位置。 4、若要将窗体Form1隐藏起来,则可通过执行代码_________________来实现。
5、要使装入到列表框中的数据项能自动按字母顺序排序,应设置该控件的_________属性为__________。 6、窗体上放置了若干个文本框和命令按钮,当窗体装入后,要将焦点自动定位到文本框Text1上,则在设计时需要将__________控件的_________属性设置为__________。
第 17 页
7、在标签控件中通过编程使文字换行用的代码是______ chr(10)_____________。 8、设置计时器控件只能触发______________________事件。
9、设置计时器对象触发事件的时间间隔用_____________________属性。 10、滚动条控件主要支持两个事件,它们是_______________事件。
11、要使鼠标停留在按钮上显示特殊的鼠标形状,应设置的属性值是_________________。 12、设某列表框共有10项,按题目要求补齐程序,完成相应的功能。 (1)按下命令按钮Command1时将列表框第8项的内容显示在窗体上:
Private Sub Command1_Click( )
List.__________(7)=True Print List1.______________ End Sub
(2)单击列表框某一项时立即将该项打印在窗体上:
Private Sub List1_Click( )
Print_______________ End Sub
(3)按下命令按钮Command1时在窗体上删除第1、3、5、7、9项:
Private Sub Command1_Click( )
For I=1 To 5
List1.____________ Next I End Sub
(4)在列表框的每一项之后插入一个新的项:
Private Sub Command1_Click( )
For I=1 to 10
X=InputBox(“请输入插入的第” & I & “项内容”) List1.AddItem____________ Next I
第 18 页
End Sub
13、设在界面上放置了一个滚动条Hscroll1和一个标签控件Label1,要使每次单击滚动条两端箭头时,或单击滚动条滑块与两端箭头之间的空白区域时,标签内容能够反映滚动条的值,补齐以下代码。
Private Sub Hscroll1.__________________( )
Label1.Caption = Hscroll1.___________________ End Sub
要使拖动滚动条滑块时标签内容能够反映滚动条的值,补齐以下代码。
Private Sub Hscroll1.________________( )
Label1.Caption = Hscroll1.__________________ End Sub
14、列表框(ListBox)用于列出可供选择的项目的列表,用户可以选择一个或多个项目。它具有几个非常重要的数组属性,其中__ List __属性存放了列表框中所有项目的值。
15、菜单项一般由标题、访问键、快捷键和复选标志等构成,通过对相应的属性进行设置可以改变这些项目的状态,其中与复选标志相对应的属性是__ __。
16、keydown与keypress事件各有其参数,若需获得用户按下 \还是 \需用____________事件。 17、控件________组合了文本框和列表框的功能,是VB中一种功能非常强大的选择类控件。 18、若需要将窗体Form2以模态窗口的形式显示出来,可通过执行代码_________________来实现。 19、菜单中的分隔条是一种菜单控件,不响应__________事件,不能被选中。 二、选择题
1、当程序运行时,在窗体上单击鼠标,以下哪个事件是窗体不会接收到( )
A.MouseDown
B.MouseUp
C.Load
D.Click
2、窗体Form1的Name属性是Frm1,它的单击事件过程名是( )
A.Form1_Click B.Form_Click C.Frm1_Click D.Me_Click 3、用于设置通用对话框控件显示文件类型的属性是( )
A.Filter B.Path C.Partern D.FoleName 4、用于从内存删除窗体的命令是( )
A.Move B.Hide C.Unload D.Delete
第 19 页
5、用于返回窗体可用区域宽度的属性是( )
A.ScaleWidth B.ScaleLeft C.ScaleHeight D.ScaleTop 6、下列关于属性设置的叙述错误的是:( )
A.一个控件具有什么属性是VB预先设计好的,用户不能改变 B.一个控件具有什么属性是VB预先设计好的,用户可以改变 C.一个控件的属性即可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置,还可以利用程序代码为其设置新值 7、下列说法正确的是( )
A.对象属性只能在“属性窗口”中设置 B.一个新的工程可以在“工程窗口”中建立 C.必须先建立一个工程,才能开始设计应用程序 D.只能在“代码窗口”中编写程序代码 8、下列关于窗体上控件的基本操作错误的是( )
A.按下一次DEL键只能删除一个控件 B.按下一次DEL键可以同时删除多个控件
C.按住SHIFT键,然后单击每个要选择的控件,可以同时选中多个控件 D.按住ALT键,然后单击每个要选择的控件,可以同时选中多个控件 9、下列关于设置控件属性的叙述正确的是( )
A.用户必须设置属性值
B.所有的属性值都可以由用户随意设定 C.属性值不必一一重新设置 D.不同控件的属性项都完全一样
10、不可以通过下列( )操作将焦点赋给对象
A.运行时使用TAB键
B.在代码中用CALL语句调用
C.在代码中用SETFOCUS方法 D.用访问键或用鼠标单击选择对象
11、要在FORM_LOAD事件过程中使用PRINT方法在窗体上输出一定的内容,应( )
A.设置窗体的VISIBLE属性
B.设置窗体的CAPTION
第 20 页
C.调用窗体的SHOW方法 D.设置窗体ENABLED属性
12、下面( )对象无CAPTION属性
A.FORM
B.COMMANDBUTTON
C.TEXTBOX
D.LABEL
13、通用对话框控件和文件列表框控件中,都能根据文件的类型对要显示的文件进行筛选过滤,后者使用( )属性进行该项设置。
A.Pattern
B.Path
C.Filter
D.FileName
14、对于复选框控件chkBoy,如果在程序中设置它为选中状态,下面语句正确的是( )
A.chkBoy.Checked = true C.chkBoy.Selected = true
B.chkBoy.Value = true D.chkBoy.Value = 1
15、计时器(Timer)控件用于每隔一段时间自动触发一次Timer事件,可以有规律地重复执行一段程序,它用于设置两次事件时间间隔的属性是( )
A.Interval
B.SmallChange D.Max
C.LargeChange
16、以下关于VB中窗体(Form)的说法中,不正确的描述为( )
A.执行Unload Form语句后,窗体Form消失,但仍在内存中
B.当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止 C.窗体的Height、width属性用于设置窗体的高和宽 D.窗体的load事件在加载窗体时发生 17、关于滚动条控件,下面说法错误的是( )
A.点击滚动条的箭头,可以改变它的value值,从而引发Change事件 B.拖动滚动框,可以触发Scroll事件
C.通常,水平滚动条的值从左向右递增,垂直滚动条的值自上而下递增 D.拖动滚动框,可以触发Change事件,而且是连续触发的
18、在窗体上放置一个命令按钮,名称为Command1。单击命令按钮时,执行如下事件过程:
PriVate Sub Command1_C1ick()
a$=\b$=Right(a$,8)
第 21 页
c$=Mid(a$,1,8) Msgbox a$,b$,c$,1 End Sub
则在弹出的信息框的标题栏中显示的信息是( ) A.softWare and hardware C.hardwafe
B.software
D.出现错误
19、在多重窗体程序设计中,关键的问题是要解决不同窗体之间的衔接和窗体的显示、关闭等问题,以下关于窗体的相关语句和方法的叙述中,错误的是( )
A.Load语句用于加载指定窗体,即在内存中创建该窗体 B.Show方法兼具Load语句的功能,可以将窗体显示出来 C.Hide方法用于将窗体隐藏起来
D.Unload语句用来释放窗体,但窗体并没从内存中消 20、滚动条控件的属性中,表示取值范围最大值的属性是( )
A.Max C.Min
B.LargeChange D.Value
21、程序中如果需要检测和控制鼠标的位置和状态的改变,就需要使用鼠标事件,其中下面哪个选项用于表示拖动事件( )
A.DragDrop C.MouseUp
B.MouseDown
D.MouseMove
22、为了使用通用对话框进行打开文件的操作,应将通用对话框的Action属性设定为( )。
A.0 三、简答题
1、什么是单选按钮?什么是复选框?在使用上有什么不同? 2、滚动条的change事件和scroll事件有什么不同? 3、快捷键和访问键有什么区别?
4、在程序运行期间,如果拖动滚动条上的滚动块(即滑块),则触发滚动条的什么事件?
5、假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用什么语句?
第 22 页
B.1
C.2
D.3
6、为了暂时关闭计时器(即时钟控件),应把该计时器的什么属性设置为False? 7、单选按钮和复选框(即检查框)各用于什么情况? 8、如何为一个菜单项设置热键和快捷键? 9、菜单的形式有哪两种?
10、在KeyPress事件中,如何取消用户刚输入的字符? 11、框架的作用是什么?
12、如果要计时器每秒钟发生4个Timer事件,则Interval属性值应设多少?
13、在一个窗体的程序代码中能否访问另一个窗体上控件的属性?若不行则请说明理由;若行则请说明如何访问。
14、如何在框架中建立控件? 15、组合框有哪几种类型? 四、读程序题
1、对窗体编写如下代码:
Option Base 1
Private Sub Form_KeyPress(KeyAscii As Integer) a = Array(237,126,87,48,498) m1 = a(1) m2 = 1
If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(j) m2 =i End If Next i End If Print m1
第 23 页
Print m2 End Sub
程序运行后,按回车键,输出结果是什么? 2、阅读下面的程序,写出执行结果。
Private Sub Form_load() Form1.show d = 0 For a = 1 To 2 For b = 1 To a
For c = b To 5 d = d + 1 Next c Next b Next a Print d End Sub
五、编程题
1、在窗体上有一个文本框控件,名称为TxtTime;一个计时器控件,名称为Timer1,要求每一秒在文本框中显示一次当前的时间,请编程实现。
2、在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在文本框Text2中显示出所有输入的英文字母及其ASCII码值,如下图所示。
第 24 页
Text1
Command1 Text2
3、编写一个程序,能够实现任意个整数的排序。
4、编程实现以下功能:用户首先分别在两个文本框中输入两个数,然后在具有“加、减、乘、除”等四个菜单项的“计算”菜单中单击某一项,即可在标签中显示出相应的结果或者错误提示。 5、编程实现任意两个数的“加、减、乘、除”。
6、编写一个程序,能够求任意个正整数的最大值和最小值。 7、编程求任意两个正整数的最大公约数。 六、程序分析填空题
1、建立一个如图所示的简单编辑器。用户在文本框(text1)中输入正文后,选中某些文本时可进行“剪切”、“复制”和“粘贴”操作。假设在窗体声明部分定义了一个变量str1,用于保存复制和剪切的内容,请把剪切按钮(btnCut)的Click事件补充完整。
程序运行界面:
第 25 页
Private Sub btnCut_Click() ?请补充 End Sub
2、计算1 + 2 + 3 + …… + 100的和并输出。请把下面用Do While ……Loop循环结构实现这一功能的代码补充完整。
Private Sub Form_Load()
Dim sum,count as Integer ?请补充
Do while count <=100 ?请补充 Loop
Text1.Text = sum End Sub
3、列表框控件(ListBox)支持多项选择,这项功能在对用户的兴趣爱好进行调查的时候显得非常好用,在下图所示的界面中列表框List1用于列出爱好选项,供用户进行多项选择。
请把下列代码补充完整,能够取得用户的所选爱好选项: Private Sub Command1_Click() Dim i As Integer
第 26 页
Dim s As String
s = txtname.Text & \爱好\ For i = 0 To List1.ListCount - ?请补充 Next
Label3.Caption = s End Sub
4、要求利用计时器Timer1,在窗体Form1上每隔1秒钟打印一个1到10的随机整数,请把下列代码补充完整:
Private Sub Form_Load() Show
?请补充 End Sub
Private Sub Timer1_Timer()
?请补充 End Sub
第五章 文件
一、填空题
1、文件按存取方式及其组成结构可分为________________文件、__________文件和______________文件。 2、为了使文件列表框List1和目录列表框Dir1之间能产生同步效果,必须在______________事件过程中加入语句__________________________。
3、文件系统控件的作用是向用户显示系统中的文件,方便用户选择,它是一组控件的组合,包括:驱动器列表框、__ __和文件列表框。 二、选择题
第 27 页
1、利用下面哪个函数可判定访问文件时是否已到文件尾( )
A.LOF B.LOC C.EOF D.BOF
2、用于设置文件列表框控件显示文件类型的属性是( )
A.Filter B.Path C.Partern D.FileName 三、简答题 1、什么是文件?
2、文件存取分成几类,几种模式?
3、顺序文件、随机文件和二进制文件各有什么特点和用途? 4、文件有哪几种类型?它们的区别是什么? 5、请说明PRINT #和WRITE #语句的区别 6、EOF函数的功能是什么? 四、编程题
1、实现二进制方式文件的复制。
2、如下图所示,实现一个简单的文件管理器。
第六章 图形操作
一、填空题
第 28 页
1、使用____________方法可在窗体中进行文本的输出,用____________方法可画圆,用____________方法可画直线。
2、用____________函数可加载图形。
3、为了使一个Picture控件能自动根据装入的图片调整大小,应设置该控件的________________属性为True。 二、选择题
1、下列关于控件画法的叙述错误的是( )
A.单击一次工具箱中的控件图标,只能在窗体上画出一个相应的控件
B.按住CTRL键后单击一次工具箱中的控件图标,可以在窗体上画出多个相同类型的控件 C.双击工具箱中的控件图标,所画控件的大小和位置是固定的
D.不使用工具箱中的控件工具,不可以在窗体上画出图形对象,但可以写入文字字符
2、当一个对象(如窗体或图片框)被移动或改变大小之后,或当一个覆盖该窗体被移开之后,如果要保持该所画图形的完整性,可以选择触发( )事件来完成图形的重画工作
A.Paint 三、简答题
1、在什么情况下使用Image控件而不使用PictureBox控件? 2、在程序运行时怎样在图形框中装入和删除图形? 3、颜色函数主要有哪些? 四、编程题
1、如下图显示当前目录下的图片文件列表,并能够预览选定的图片。
B.Load
C.Click
D.Active
第 29 页
第七章 面向对象的编程
一、填空题
1、类是具有相同性质的对象的_________。
2、语句DIM TEMP AS Object的作用是________________________________。 二、简答题 1、什么是模块?
第八章 界面设计
一、简答题
1、什么是多文档界面(MDI)?
2、说明菜单栏、菜单、选项和工具栏之间的关系。 3、结束MDI应用程序时,需要注意什么?
第九章 Visual Basic与数据库
一、简答题
1、表间的关系类型有哪几种?
2、Visual Basic中的记录集有哪几种类型? 二、编程题
1、请编程实现每两秒在标签中显示一次当前的时间。 2、找出被3、5、7整除,余数为1的最小的2个正整数。
第 30 页
3、有一个m×n的实型矩阵A(m,n),找出其中最大的那个元素所在的行和列。 4、找出能同时被5和7整除的最小的10个正整数。 5、编写一个程序,能够输出100~1000之间所有的素数。
6、从键盘上任意输入100个整数,统计负数的个数,并计算正数的和。
7、有一种数,正序读与反序读都相同,这种数叫回文数,如88、858、2332等。求出4位数以内(0~9999)的所有回文数。
8、输出“九九乘法表
参考答案
第一章 Visual Basic程序设计概述
一、填空题
1、对象、事件驱动 2、Vbp、frm、bas 3、部件 4、WINDOWS 二、选择题
1、C 2、C 3、C 4、D 5、D
第二章 简单的VB程序设计
一、填空题
1、Tabstop 2、Left、top、height、width 3、enabled 4、backcolor 5、name 6、name和caption 7、属性 8、标准模块文件 9、运行模式 二、选择题
1、D 2、D 3、C 4、C 5、D 6、B 7、D 8、D 9、D 10、D 11、B 12、A 13、D 14、C 15、B 16、B 17、B 18、D
第三章 VB基本语言
一、填空题
1、Const 2、Variant 3、隐式声明、显示声明 4、option base、ubound、lbound 5、强制变量声明 6、表示a2是一个可选参数 7、End 8、Msgbox、Inputbox 9、*.*、showprint 10、Mid() 11、6 12、redim preserve arraya(ubound(arraya())+1) 13、static 14、0 15、f 16、rem、? 17、变量、数组 18、1 to 4,1 to 5 19、Inde 20、按地址 21、Option Explicit 22、13 23、ityo 24、符号 25、LCase 26、
第 31 页
ESC 27、部件 28、断点 29、False 30、Option Explicit 31、UCase 32、Mid 33、# 34、过程 35、private 36、求x的绝对值 37、2.5 二、选择题
1、D 2、B 3、D 4、C 5、B 6、C 7、D 8、C 9、D 10、A 11、A 12、D 13、B 14、B 15、D 16、B 17、A 18、D 19、D 20、C 21、D 22、B 23、B 24、B 25、B 26、A 27、B 28、C 28、B 30、C 四、读程序题 1、结果如下:B
2、结果如下:BB CCC DDDD EEEEE
3、功能如下:
在20个由小到大排列的数据中插入一个数,插入数据后的数据仍按由小到大的顺序排列。
4、输出结果为: 2 4 6 8
5、输出结果为:3 6、输出结果为:2 452 7、输出结果为:120
0 2 0
8、输出结果为:3
3 3 2
五、编程题
1、参考代码如下:
Private Sub Command1_Click() Dim year, x As Integer year = Val(Text1.Text) If year Mod 400 = 0 Then Label2.Caption = \是闰年\ Else
' 下面是嵌套块If语句
第 32 页
If year Mod 4 = 0 And year Mod 100 <> 0 Then Label2.Caption = \是闰年\ Else
Label2.Caption = \不是闰年\ End If End If End Sub
2、程序参考代码如下:
Private Sub Command1_Click() Dim m, n, r As Integer m = Val ( Text1.Text ) n = Val ( Text2.Text )
If m < 0 Or n < 0 Then ? 若判断为非法数据,Then子句输出相应信息 Label2.Caption = \输入数据有错!\
Else ? 若判断为合法数据,Else子句用辗转相除法求余数 r = m Mod n Do While r <> 0 m = n n = r r = m Mod n Loop
? 循环结束后n中存放的就是最大公约数,输出n值 Label2.Caption = \最大公约数为:\ End If End Sub
3、参考代码如下:
Private Sub Command1_Click()
第 33 页
Dim x As Single x = Val(Text1.Text) If x > 100 Or x < 0 Then Text2.Text = \ ElseIf x < 60 Then
Text2.Text = \不及格\ ElseIf x < 70 Then Text2.Text = \及格\ ElseIf x < 80 Then Text2.Text = \中等\ ElseIf x < 90 Then Text2.Text = \良好\ Else
Text2.Text = \优秀\End If End Sub
4、参考代码如下:
Private Sub Form_Load() Dim i As Integer Show '使输出可见 Form1.Font = \新宋体\ For i = 9 To 16 Step 1 Form1.FontSize = i Print i; \号字型\ Next i End Sub
5、参考代码如下:
第 34 页
Private Sub Command1_Click()
Dim a(1 To 11) As Single '定义静态数组a含11个元素 Dim i, j As Integer Dim num As Single
' 给数组元素赋初值,即原始队列
a(1) = 3: a(2) = 5: a(3) = 7: a(4) = 8: a(5) = 9 a(6) = 13: a(7) = 16: a(8) = 19: a(9) = 33 a(10) = 38 ' 输出原始队列 For i = 1 To 10
Label2.Caption = Label2.Caption & a(i) & \ Next i
num = Val(Text1.Text) ' 把输入的数插入队列中 For i = 10 To 1 Step -1 If num < a(i) Then
a(i+1) = a( i ) ' 元素后移一个位置 else
a(i+1) = num
Exit For ' 退出循环 End If Next i ' 输出新队列 For i = 1 To 11
Label3.Caption = Label3.Caption & a(i) & \ Next i End Sub
第 35 页
6、参考代码如下:
Option Base 1
Private Sub Form_Load()
Const N = 4 ' 常量N决定二维数组大小 Dim a(N, N) As Integer Dim i, j, Temp As Integer Show ' 数组初始化
For i = 1 To N For j = 1 To N a(i, j) = i * 10 + j Next j Next i ' 输出原始数组
Print \转置前的数组:\
For i = 1 To N For j = 1 To N Print a(i, j); Next j Print Next i ' 数组转置
For i = 1 To N For j = 1 To i Temp = a(i, j) a(i, j) = a(j, i) a(j, i) = Temp
' For循环 i从1变化到N ' For循环 i从1变化到N ' For循环 i从1变化到N ' 交换 第 36 页
Next j Next i
' 输出转置后的数组 Print \转置后的数组:\
For i = 1 To N ' For循环 i从1变化到N For j = 1 To N Print a(i, j); Next j Print Next i End Sub
7、参考代码如下:
Private Sub Form_Click()
Dim a(10) As Integer, i As Integer Dim sum As Integer, ave As Integer sum = 0 For i = 1 To 10
a(i) = Int(Rnd * 101) sum = sum + a(i) Next i ave = sum / 10 Print sum, ave End Sub
8、参考代码如下:
Private Sub Form_Load() Dim i, j, k, Flower As Integer Show
第 37 页
For i = 1 To 9 For j = 0 To 9 For k = 0 To 9
Flower = i * 100 + j * 10 + k
If Flower = i ^ 3 + j ^ 3 + k ^ 3 Then Print Flower ; \是水仙花数\ Next k Next j Next i End Sub
9、程序参考代码如下:
Private Sub Command1_Click() Dim m, i, y As Integer m = Val(Text1.Text) If m <= 2 Then
Label2.Caption = \输入数据有错\ Else
k = Sqr(m) + 1 For i = 2 To k y = m Mod i If y = 0 Then Exit For Next i If y = 0 Then
Label2.Caption = m & \不是素数\ Else
Label2.Caption = m & \是素数\ End If End If
第 38 页
End Sub
10、程序参考代码如下:
Option Base 1
Private Sub Form_Load()
Const N = 5 ' 常数 N 确定数组的大小 Dim a(N, N) As Integer
Dim i, j, row, line, min As Integer Show
For i = 1 To N ' For循环 i从1变化到N For j = 1 To N ' For循环 j从1变化到N a(i, j) = Int(100 * Rnd) + 1 ' 产生N*N个1~100间的随机数 Next j Next i ' 输出二维数组 Print \数组内容是:\ For i = 1 To N For j = 1 To N Print a(i, j); Next j
Print ' 输完一行元素后输出一个换行 Next i ' 设定初始值
min = a(1, 1): row = 1: line = 1 ' 寻找最小数 For i = 1 To N For j = 1 To N
If a(i, j) < min Then
第 39 页
min = a(i, j) row = i line = j End If Next j Next i ' 输出结果
Print \最小值是:\
Print \在第\行第\列\End Sub
11、参考代码如下:
Private Sub Command1_Click()
Dim a, b, c, delt, realpart, imagpart As Single
a = Val(Text1.Text): b = Val(Text2.Text): c = Val(Text3.Text): delt = b * b - 4 * a * c If a = 0 Then
Label2.Caption = \是一元一次方程:\ If b<>0 then
Text4.Text = \ Else
If c=0 then
Text4.Text = \有无穷根\ Else
Text4.Text = \无根\ End if End if Else
第 40 页
' 下面嵌套块If语句 If delt = 0 Then
Label2.Caption = \有两个相等的实根:\ Text4.Text = \ Text5.Text = \ ElseIf delt > 0 Then
Label2.Caption = \有两个不等的实根:\ Text4.Text = \ Text5.Text = \ Else
Label2.Caption = \有两个共轭复根:\ realpart = -b / (2 * a) imagpart = Sqr(-delt) / (2 * a)
Text4.Text = \ Text5.Text = \ End If ' 此行End If部分与内层的块If语句对应 End If ' 此行End If部分与外层的块If语句对应 End Sub
12、参考代码如下:
Private Sub Command1_Click() Dim n, i, t As Long n = Val(Text1.Text) i = 1: t = 1 If n < 0 Then
Label2.Caption = \ ElseIf n = 0 Then
Label2.Caption = \
第 41 页
Else
Do While i <= n t = t * i i = i + 1 Loop
Label2.Caption = n & \ End If End Sub
13、参考代码如下:
Private Sub Form_Load()
Dim Prev, Last, NewOne, sum As Long Dim i As Integer
Prev = 0: Last = 1: sum = Prev + Last For i = 3 To 20
NewOne = Prev + Last sum = sum + NewOne Prev = Last Last = NewOne Next i
Label1.Caption = \第20项为\ Label2.Caption = \前20项的和为\End Sub
第四章 常用控件与窗体
一、填空题
1、AddItem 2、窗体、控件 3、StartUpPostion 4、form1.hide 5、sorted、ture 6、text1、tabindex、0 7、chr(10) 8、timer 9、interval 10、scroll和change事件 11、mousepointer 12、selected、text、list1.text、removeitem 2*i-1、x,2*i-1 13、change、value、scrol、value 14、List 15、Checked 16、keypress
第 42 页
17、组合框 18、Form2.Show 1 19、Click(或鼠标单击) 二、选择题
1、C 2、B 3、A 4、C 5、A 6、A 7、C 8、A 9、C 10、B 11、C 12、C 13、A 14、D 15、A 16、A 17、D 18、D 19、D 20、A 21、C 22、B 三、简答题
1、单选按钮用来显示一个可以打开或关闭 选项,而且在同一组中的单选按钮控件,用户只能选择其中的一项。
2、主要是用鼠标拖动滑块时对Value属性的影响不同。
3、快捷键是执行某一个菜单项的键盘命令,常用形式Ctrl+字母,访问键是打开一个菜单的键盘命令,常用形式Alt+字母。 4、Scroll事件
5、MenuItem.Enabled=False 6、Interval属性
7、单选按钮用于只能选择一个的情况下,复选框(即检查框)用于可以选择多个的情况下 8、为一个菜单项设置热键时需要在相应字符前面加&,设置快捷键需要在菜单编辑器中选择 9、菜单的形式有两种:下拉式菜单和弹出式菜单
10、在KeyPress事件中,若想取消用户刚输入的字符,只要将该事件的参数设置为0即可 11、框架主要是用作容器,可以实现多组单选按钮,并且可以美化界面 12、250
13、在一个窗体的程序代码中可以访问另一个窗体上控件的属性,在访问时只要写上窗体名称即可 14、先建立框架,然后再在其中建立控件 15、下拉式组合框、简单组合框、下拉式列表框 四、读程序题 1、输出结果为:
498 5
2、结果如下:
第 43 页
14
五、编程题
1、参考代码如下:
Private Sub Form_Load() Timer1.Interval = 1000 End Sub
Private Sub Timer1_Timer() Txttime.text = Time End Sub
2、参考代码如下:
Private Sub Command1_Click() Dim Char As String * 1 Char = Trim(Text1.Text)
Text2.Text = Text2.Text & Spc(5) & Char & _ Spc(10) & Str(Asc(Char)) & chr(13)&chr(10) Text1.SetFocus Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text) End Sub
3、4、5、6、7具体代码略。 六、程序分析填空题 1、结果如下:
Private Sub btnCut_Click() ?请补充
Str1 = text1.selText text1.selText = “” End Sub
第 44 页
2、结果如下:
Private Sub Form_Load()
Dim sum,count as Integer ?请补充 Sum = 0 Count = 0 Do while count <=100 ?请补充
Count = count + 1 Sum = sum + count Loop
Text1.Text = sum End Sub
3、结果如下:
Private Sub Command1_Click() Dim i As Integer Dim s As String
s = txtname.Text & \爱好\ For i = 0 To List1.ListCount - 1 ?请补充
If List1.Selected(i) Then S = s & List1.List(i) End If Next
Label3.Caption = s End Sub
4、结果如下:
第 45 页
Private Sub Form_Load() Show
?请补充
Timer1.Interval = 1000 End Sub
Private Sub Timer1_Timer()
?请补充
Form1.Print Int(Rnd*10) + 1 End Sub
第五章 文件
一、填空题
1、顺序、随机、二进制 2、dir1的chang、list1.path=dir1.path 3、目录列表框 二、选择题 1、C 2、C 三、简答题
1、存放在外部存储介质上的数据和程序等。
2、文件的存取分为顺序型、随机型、二进制型,其编码方式分为ASCⅡ码文件和二进制文件。
3、顺序文件:文件中每一个字符都被假设为代表一个文本字符或者文本格式序列,数据被存储ANSI字符,这类文件的信息按照顺序从头到尾排列,只提供第一条记录的存储位置,因而顺序文件只用于要求少量空间,不经常进行数据修改的有规律的文件。
随机文件:随机文件由记录组成,能够随机存取相同长度的数据记录,每一数据记录内可以设计各种栏位,以容纳不同的数据,各数据记录长度相同,数据类型可以不同,随机文件有一定的磁盘空间的浪费。
二进制文件:二进制文件与随机文件类似,但不必限制记录的长度,可以用喜欢的方式存取文件,二进制访问能提供对文件的完全控制,通过使用二进制型访问可使磁盘空间的使用降到最小。 4、参见教材
5、Print #语句用来将一个或多个格式化的数据写入顺序文件,Write #语句的用法和Print #语句相似,不同的是:
第 46 页
? ?
输出的数据采用紧凑格式存放,数据项之间自动用逗号分开; 输出的字符串自动用引号扩起来。
6、在读取数据时,如果已到达文件结尾,继续读会被终止并产生一个错误。为了避免出错,常在读操作前用EOF函数检测是否已经达到文件末尾 四、编程题
1、参考代码如下:
Private Sub Command1_Click() Dim if1 As Integer, if2 As Integer Dim sf1 As String, sf2 As String Dim buffer() As Byte
?使用动态数组
sf1 = InputBox(\请输入源文件名:\源文件\sf2 = InputBox(\请输入目标文件名:\目标文件\If sf1 = \if1 = FreeFile
Open sf1 For Binary As if1 '打开源文件 if2 = FreeFile
Open sf2 For Binary As if2 '创建目标文件 ReDim buffer(1 To LOF(if1)) '分配内存 Get #if1, , buffer '读源文件 Put #if2, , buffer '写目标文件 Close '关闭所有打开的文件 MsgBox \完成复制。\End Sub
2、参考代码如下:
Private Sub cmdCopy_Click() Dim destFile As String
If fSource.FileName = \ '先选定文件
第 47 页
destFile = InputBox(\输入目标文件名:\
If destFile <> \ '不为空 FileCopy fSource.FileName, destFile '复制文件 End If End Sub
Private Sub cmdExit_Click() End End Sub
Private Sub cmdKill_Click() Dim res
If fSource.FileName = \ '首先选定文件
res = MsgBox(\确定要删除文件 \了吗?\If res = vbOK Then ' 确认操作 Kill fSource.FileName '删除文件 End If End Sub
Private Sub cmdName_Click() Dim destFile As String
If fSource.FileName = \ '首先选定文件 destFile = InputBox(\输入新文件名:\If destFile <> \
Name fSource.FileName As destFile '命名(移动)文件 End If End Sub
Private Sub dirSource_Change()
fSource.Path = dirSource.Path '与文件列表关联 End Sub
第 48 页
Private Sub drvSource_Change()
dirSource.Path = drvSource.Drive '与文件夹关联 End Sub
第六章 图形操作
一、填空题
1、print、circle、line 2、loadpicture 3、autosize 二、选择题 1、D 2、A 三、简答题
1、Image控件中图形可以伸展以适应控件的大小,而在PictureBox控件中权可通过调整控件的大小以适合图形的大小,图形本身单不伸缩,因此,当需要调整图形大小时,应使用Image控件。
2、程序运行时,在图形框中装入和删除图形是利用LoadPicture函数,只要参数为空或为零长度字符串,即可删除图形;否则,即为装入图形 3、颜色函数主要有:RGB、QBColor 四、编程题
1、参考代码如下:
Private Sub drvList_Change()
dirList.Path = drvList.Drive ' 设置当前驱动器 End Sub
Private Sub dirList_Change() fileList.Path = dirList.Path End Sub
Private Sub fileList_Click() Dim s As String
' s为所选文件的全称 ' 设置当前目录
If Right(fileList.Path, 1) = \ s = fileList.Path & fileList.FileName Else
第 49 页
s = fileList.Path & \ End If
Label4.Caption = s
If Right(s, 1) <> \' 显示图片 End Sub
Private Sub Form_Load()
fileList.Pattern = txtFile.Text ' 初始化文件列表框 End Sub
Private Sub txtFile_LostFocus() fileList.Pattern = txtFile.Text End Sub
第七章 面向对象的编程
一、填空题
1、集合 2、定义了一个对象类型的变量TEMP 二、简答题
1、模块是具有一定功能的代码的集合,VB中提供了三种类型的模块:窗体模块、标准模块、类模块。
第八章 界面设计
一、简答题
1、多文档界面是指在一个父窗口下面可以同时打开多个子窗口。子窗口归属于父窗口,如果父窗口关闭,则所有子窗口全部关闭。
2、窗体的顶部一般含有菜单栏和工具栏,菜单栏中是菜单,菜单中含有菜单项,工具栏上有工具按钮,工具栏上的工具按钮实际上就是菜单中某一菜单选项的功能,工具栏上的工具体现了大部分菜单的功能。 3、应关闭所有窗体,防止数据丢失。
第九章 Visual Basic与数据库
一、简答题 1、表间的关系类型有三种:一对一、一对多和多对多 2、Visua Basic中的记录集有三种类型
第 50 页 ' 改变筛选条件