《VB程序设计》综合复习资料
一、填空题
1.在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。
2.一个控件在窗体的位置由______和________属性决定,其大小由__________和_________属性决定。
3.变量的声明分为两种方法:__________和____________。
4.使用____________方法可在窗体中进行文本的输出,用____________方法可画圆,用
____________方法可画直线。
5.类是具有相同性质的对象的_________。
6.利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。
7.文件按存取方式及其组成结构可分为________________文件、__________文件和______________文件。
8.在VB中,用___________________语句设定数组的下界,用_____________和__________________语句分别返回数组的上、下界。
9.在窗体上画一个名称为“Command1”、标题为“计算”的命令按钮,再画7个标签,其中5个标签组成名称为Label1的控件数组;名称为Label2的标签用于显示计算结果,其Caption属性的初始值为空;标签Label3的标题为“计算结果”。运行程序时会自动生成5个随机数,分别显示在标签控件数组的各个标签中。单击“计算”按钮,则将标签数组各元素的值累加,然后计算结果显示在Label2中。请填空。
Private Sub Command1_Click()
Sum = 0
For i=0 To 4
Sum=Sum+____
Next i
_____=Sum
End Sub
10.在窗体上画两个名称分别为Command1和Command2、标题分别为“初始化”和“求和”的命令按钮。程序运行后,如果单击“初始化”命令按钮,则对数组a的各元素赋值;如果单击“求和”命令按钮,则求出数组a的各元素之和,并在文本框中显示出来。请填空。
Option Base 1
Dim a(3,2) As Integer
Private Sub Command1_Click() ‘“初始化”命令按钮
For i=1 To 3
For j=1 To 2
____=i+j
Next j
Next i
End Sub
Private Sub Command2_Click() ‘“求和”命令按钮
For j=1 To 3
For i=1 To 2
s=s+____
Next i
Next j
Text1.Text= ____
End Sub
11.语句For j = 3 To 20 Step 3 使循环体执行了______次。
12.若要将窗体Form1隐藏起来,则可通过执行代码_________________来实现。
13.要将焦点定位到命令按钮Command1上,需要使用代码__________。
14.为了使一个Picture控件能自动根据装入的图片调整大小,应设置该控件的________________属性为True。
15.要使装入到列表框中的数据项能自动按字母顺序排序,应设置该控件的_________属性为
__________。
16.在Visual Basic中声明静态变量的关键字是_________________。
17.表达式10 Mod 6 \ 4的值为______。
18.窗体上放置了若干个文本框和命令按钮,当窗体装入后,要将焦点自动定位到文本框Text1上,则在设计时需要将__________控件的_________属性设置为__________。
19.要使一个Picture控件不能自动根据装入的图片调整大小,应设置该控件的AutoSize属性为________________。
20.对于正在使用的动态数组Arraya(),要增加一个单元,但不能破坏数组内的数据,则必须在语句ReDim中包括__________。
21.函数Abs(x)的功能是__________。
22.表达式3/6*5的值是__________。
23.表达式chr(Asc("a") + 5)的值为_________。
24.VB中使用注释有2种方法,即________和________。
25.VB中的数据以四种形式存储:常量、_________、_________和记录。
26.在标签控件中通过编程使文字换行用的代码是___________________。
27.要使鼠标停留在按钮上显示特殊的鼠标形状,应设置的属性值是_________________。
28.设某列表框共有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
End Sub
29.设在界面上放置了一个滚动条Hscroll1和一个标签控件Label1,要使每次单击滚动条两端箭头时,或单击滚动条滑块与两端箭头之间的空白区域时,标签内容能够反映滚动条的值,补齐以下代码。
Private Sub Hscroll1.__________________( )
Label1.Caption = Hscroll1.___________________
End Sub
要使拖动滚动条滑块时标签内容能够反映滚动条的值,补齐以下代码。
Private Sub Hscroll1.________________( )
Label1.Caption = Hscroll1.__________________
End Sub
30.生成消息框的命令是____________,生成输入框的命令是____________。
二、选择题
1.以下叙述中错误的是()
A.事件过程是响应特定事件的一段程序
B.不同的对象可以具有相同名称的方法
C.对象的方法是执行指定操作的过程
D.对象事件的名称可以由编程者指定
2.以下合法的Visual Basic标识符是()
A.ForLoop B.Const C.9abc D.a#x
3.当一个复选框被选中时,它的Value属性的值是()
A.3 B.2 C.1 D.0
4.表达式5 Mod 3+3\5*2的值是()
A.0 B.2 C.4 D.6
5.设x=4,y=8,z=7,表达式x A.1 B.-1 C.True D.False 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.以下叙述中错误的是() A.如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B.Sub过程中不能嵌套定义Sub过程 C.Sub过程中可以嵌套调用Sub过程 D.事件过程可以像通用过程一样由用户定义过程名 8.从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是() A.Left B.Mid C.String D.Instr 9.以下能够触发文本框Change事件的操作是() A.文本框失去焦点B.文本框获得焦点 C.设置文本框的焦点D.改变文本框的内容 10.假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为() A.MenuItem.Enabled=False B.MenuItem.Enabled=True C.MenuItem.Visible=True D.MenuItem.Visible=False 11.为了使用通用对话框进行打开文件的操作,应将通用对话框的Action属性设定为()A.0 B.1 C.2 D.3 12.为了检测到用户按下键盘上的所有键,应该使用的键盘事件为() A.KeyPress B.MouseDown C.KeyDown D.MouseUp 13.用于从内存删除窗体的命令是() A.Move B.Hide C.Unload D.Delete 14.用于设置文件列表框控件显示文件类型的属性是() A.Filter B.Path C.Partern D.FileName 15.用于返回窗体可用区域宽度的属性是() A.ScaleWidth B.ScaleLeft C.ScaleHeight D.ScaleTop 三、读程序题 1.分析以下程序,写出运行结果。Private Sub Form_Click() score = Int(Rnd * 10) + 80 Select Case score Case Is < 60 A$ = "F" Case 60 To 69 A$ = "D" Case 70 To 79 A$ = "C" Case 80 To 89 A$ = "B" Case Else A$ = "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 程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么? 3.阅读下面的程序,写出执行结果。 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 4.阅读下面的程序,分析并写出其功能。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 5.分析以下程序,写出运行结果。 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 End Sub 6.阅读下面的程序,写出执行结果。 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.在程序设计中为什么尽量不用GoTo语句? 2.框架的作用是什么? 3.滚动条的change事件和scroll事件有什么不同? 4.颜色函数主要有哪些? 3.如何为一个菜单项设置热键和快捷键? 4.表达式2>3 And 4<=5 Or 4>4的值是什么? 8.为了防止文本框中的信息运行后被用户修改,应将什么属性设置为什么值?9.如何在框架中建立控件? 10.逐语句和逐过程有什么区别? 五、编程题(界面自行设计) 1.编程求任意两个正整数(利用两个文本框输入)的最大公约数,并利用标签输出结果。 2.编程实现对n个整数按由小到大的顺序排序。 3.输入一年号,判断它是否是闰年。界面如下图所示,包括两个标签、一个文本框和一个命令按钮。提示:如果此年号能被400整除或者不能被400除尽,也不能被100除尽,但能被4整除,则它是闰年;否则,不是闰年。 4.求一元二次方程ax2+bx+c=0的根(包括实根和复根)。 5.随机输入10个100以内的整型数,计算其和及平均值。 6.输入某学生成绩(百分制),若是100≥成绩≥90输出优秀;若是90>成绩≥80输出良好;若是80>成绩≥70输出中等;若是70>成绩≥60输出及格;若是60>成绩≥0,输出不及格;若是其他数则输出error信息。 7.实现二维数组(矩阵)转置。 8.实现二进制方式文件的复制。 《VB程序设计》综合复习资料参考答案 一、填空题 1.Vbp、frm、bas。 2.Left、top、height、width。 3.隐式声明、显示声明。 4.print、circle、line。 5.集合。 6.enabled。 7.顺序、随机、二进制。 8.option base、ubound、lbound。 https://www.doczj.com/doc/fa18665694.html,bel1(i).caption、label2.caption 10.a(i,j) 、a(j,i) 、s 11.6。 12.Form1.Hide。 https://www.doczj.com/doc/fa18665694.html,mand1.SetFocus。 14.AutoSize。 15.Sorted、Ture。 16.Static。 17.0。 18.Text1、TabIndex、0 19.False 20.preserve 21.求x的绝对值 22.2.5 23.f 24.rem、’ 25.变量、数组 26.chr(10) 27.mousepointer 28.selected、text、list1.text、removeitem 2*i-1、x,2*i-1 29.change、value、scrol、value 30.Msgbox、Inputbox 二、选择题 DACBD、ADDDA、BCCCA 三、读程序题 1、结果如下: B 2、结果如下: BB CCC DDDD EEEEE 3、结果如下: 14 4、功能如下: 在20个由小到大排列的数据中插入一个数,插入数据后的数据仍按由小到大的顺序排列。 5、结果如下: 2 452 6、结果如下: 3 3 3 2 四、简答题答案要点 1、主要是为了结构化。 2、框架主要是用作容器,可以实现多组单选按钮,并且可以美化界面。 3、主要是用鼠标拖动滑块时对Value属性的影响不同。 4、颜色函数主要有:RGB、QBColor。 3、为一个菜单项设置热键时需要在相应字符前面加&,设置快捷键需要在菜单编辑器中选择。 4、False。 8、应将Locked属性设为True。 9、先建立框架,然后再在其中建立控件。 10、逐语句和逐过程的区别:前者进入过程内部,而后者不进入过程内部。 五、编程题 说明:只要能完成指定的功能,界面怎么设计都行。也就是说,界面如何以及代码写在哪个事件中都没有关系,但前提是必须保证完成相应的功能。 1、参考程序如下: 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 Label2.Caption = "输入数据有错!" Else r = m Mod n Do While r <> 0 m = n n = r r = m Mod n Loop Label2.Caption = "最大公约数为:" & n End If End Sub 2、参考程序如下: Private Sub sort(arraya() As Integer, n As Integer) Dim p As Integer, i As Integer, j As Integer, temp As Integer For i = 1 To n - 1 p = i For j = i + 1 To n If arraya(p) > arraya(j) Then p = j Next j If p <> i Then temp = arraya(i) : arraya(i) = arraya(p) : arraya(p) = temp Next i End Sub 3、参考程序如下: Private Sub Command1_Click() Dim year, x As Integer year = Val(Text1.Text) If year Mod 400 = 0 Then Label2.Caption = "是闰年" Else If year Mod 4 = 0 And year Mod 100 <> 0 Then Label2.Caption = "是闰年" Else Label2.Caption = "不是闰年" End If End If End Sub