VB期末复习资料.docx

上传人:小飞机 文档编号:3168426 上传时间:2023-03-11 格式:DOCX 页数:24 大小:48.47KB
返回 下载 相关 举报
VB期末复习资料.docx_第1页
第1页 / 共24页
VB期末复习资料.docx_第2页
第2页 / 共24页
VB期末复习资料.docx_第3页
第3页 / 共24页
VB期末复习资料.docx_第4页
第4页 / 共24页
VB期末复习资料.docx_第5页
第5页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VB期末复习资料.docx》由会员分享,可在线阅读,更多相关《VB期末复习资料.docx(24页珍藏版)》请在三一办公上搜索。

1、VB期末复习资料“Visual Basic编程与应用”期末复习资料 第一章Visual Basic 6.0程序设计概述 重点掌握的内容: 对象与事件驱动 对象:世界上存在的任何具体的事物都可以称之为对象。对象是具体存在的,每个对象都是唯一的,有着自己独特的个性。 类:是具有相同性质的对象的集合。 对象和类的区别在于前者是具体的,而后者则是抽象的。 属性、方法和事件:VB采用一种所谓的事件驱动的编程机制,由用户来掌握程序的运行流向。可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。对象的属性的设置可以通过两种方法来实现: 通过属性窗口直接设置; 在程序代码中通过赋值实现,

2、其格式为: 对象.属性=属性值 事件过程: 事件即对象相应的动作,是Visual Basic预先定义好的对象能识别的动作,如Click、DbClick、LostFocus等等。 事件过程是指附在该对象上的程序代码,是事件的处理程序,即用来完成事件发生后所要做的动作 创建 Visual Basic 应用程序有三个主要步骤: 1创建应用程序界面。 2设置属性。 3编写代码。 窗体的属性和方法 窗体属性: 重点掌握:Name,Caption,BorderStyle,MinButton,MaxButton等属性。 Print方法: 在Visual Basic 中,Print方法是用来输出信息的专用过程

3、,Print方法应重点掌握如下: 语法结构 对象.Print 表达式列表 表达式列表中的分隔符: 若用分号:输出的各表达式的值中间没有空格,数值型前留有一个符号位。例如 Print “1”;“2”;“3” 输出格式为 123 若用逗号:输出的各表达式的值将被分配在各个区段内,例如 Print “1”,“2”,“3” 输出格式为 1 2 3 Spc(n)函数,用于产生空格,这里n为要插入的空格数,例如Print “1”;Spc(3);“2” 输出格式为 1 2 Tab(n)函数,用于将插入点定位在绝对列号上,这里n为列号。例如Print “1”;Tab(20);“2” 输出格式为 1 2 自测与

4、练习题 一、判断题 1、为了使一个控件在运行时不可见,应对该控件的Visable属性值设置为False。 2、当用Load命令将窗体装入内存时,一定触发窗体的load事件和Activate事件。 3、面向对象程序设计是一种以对象为基础,由事件驱动对象执行的设计方法。 4、将焦点主动设置到指定的控件或窗体上,应采用Setfocus方法。 5、方法是VB对象可以响应的用户操作。 6、对象是基本的运行时实体,它既包括了数据,也包括作用于对象的操作和对象的响应动作。 7、属性是用来描述和反映对象特征的参数,对象的所有属性都可以在属性窗口中设置。 8、VB中将一些通用的过程和函数编写好并封装作为方法供用

5、户直接调用。 9、每个对象都有一系列预先定义好的事件,但要使对象能响应具体的事件,则应编写该对象相应的事件过程。 10、属性是VB对象性质的描述,对象的数据就保存在属性中。 11、同一个窗体文件只能用于一个工程中。 12、当打开一个VB工程后要另存为一个版本,单击“工程另存为”就行,因为其同时会保存窗体文件。 13、标签的Capton 属性用于设置标签框中显示的文本内容,该内容可以编辑。 14、标签的Alignment属性值为1,表示标签中的文本右对齐。 15、文本框既用于输出,又可在其中输入、编辑文本。 16、要想在文本框中输入或显示多行文本,必须将该文本框的MultiLine属性设置为Fa

6、lse。 17、要想一个文本框中文本长度或宽度超过文本框的长度或宽度时既有水平滚动条又有垂直滚动条,应将该文本框的ScrollBars属性设置为3。 18、要想让一个命令按钮无效,应将该命令按钮的Visable属性设置为False。 19、某控件的Visable属性设置为True,表示该控件在程序运行时是可见的。 参考答案: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 二、填空题 1为了在窗体上输出具有相同的字体格式,应对 的 属性进行设置。 2在代码窗口对窗体的BorderStyle、MaxButton属性进行了设置,但运行后没有效果,原因

7、是这些属性 。 3在文本框中,通过 属性能获得当前插入点所在的位置。 4要对文本框中已有的内容进行编辑,按下键盘上的键,就是不起作用,原因是设置了 属性为True。 5在窗体上已建立多个控件如Text1、Labell、Command1,若要使程序一运行焦点就定位在Command1控件上,应对Command1控件设置 属性的值为 。 6在用Show方法后显示自定义对话框时,如果Show方法后带 参数就将窗体作为模式对话框显示。 7每当一个窗体成为活动窗口时触发 事件,当另一个窗体或应用程序被激活时在原活动窗体上产生事件 。 8VB中可作为其它控件的容器的除窗体外还有 和 控件。 参考答案: 1

8、窗体 font 2 不能在代码中设置 3 selstart 4 Locked 5 TabIndex 0 6 vbModal或 1 7 Activate Deactivate 8 PictureBox Frame 三、选择题 1对于窗体,下面 属性在程序运行时对于其在屏幕上的位置起作用。 MaxButton BorderStyle Name Left 2要使Print方法在Form_Load事件中起作用,要对窗体的 属性进行设置。 BackColor ForeColor AutoRedraw Caption 3若要使标签控件显示时不覆盖其背景内容,要对 属性进行设置。 BackColor Bor

9、derStyle ForeColor BackStyle 4若要使命令按钮不可操作,要对 属性设置。 Enabled Visible BackColor Caption 5文本框没有 属性。 Enabled Visible BackColor Caption 6不论何对象,都具有 属性。 Text Name ForeColor Caption 7要使某控件在运行时不可显示,应对 属性进行设置。 Enabled Visible BackColor Caption 8要使窗体在运行时不可改变窗体的大小和没有最大化和最小化按钮,只要对下列 属性设置就有效。 MaxButton Borderstyle

10、 Width MinButton 9当运行程序时,系统自动执行启动窗体的 事件过程。 Load Click UnLoad MinButton 10改变控件在窗体中的上下位置应修改该控件的 属性。 Top Left Width Right 参考答案: 1、D 2、C 3、D 4、A 5、D 6、B 7、B 8、B 9、A 10、A 四、编程题: 在窗体上建立5个命令按钮Command1、Command2、Command3、Command4、 Command5和1个标签Label1。将这些控件作适当布置,如下图。编程序完成如下要求: 程序运行后,4个命令按钮显示分别为:“放大”、“加粗”,“下画线

11、”、“还原”“移动”,标签显示为“VB程序设计” 单击“放大”,标签显示的文字放大3倍,单击“加粗”,标签显示的文字则加粗,单击“下画线”则标签显示的文字加下画线、单击“还原”,则标签显示的文字格式回到起初状态。 每单击“移动”命令按钮一次,标签则向左移动一定距离,单击10次,则移动到最左边。 代码如下: Dim size As Integer, ft As Double, bd As Boolean, dl As Boolean Private Sub Command1_Click Label1.FontSize = Label1.FontSize * 3 End Sub Private S

12、ub Command2_Click Label1.FontBold = True End Sub Private Sub Command3_Click Label1.FontUnderline = True End Sub Private Sub Command4_Click Label1.FontSize = size Label1.FontBold = bd Label1.FontUnderline = bl Label1.Left = ft End Sub Private Sub Command5_Click Label1.Left = Label1.Left - ft / 10 End

13、 Sub Private Sub Form_Load size = Label1.FontSize bd = Label1.FontBold bl = Label1.FontUnderline ft = Label1.Left End Sub 第二章 Visual Basic 6.0语言基础 重点掌握的内容: 1、数据类型 Visual Basic 中的数据以四种形式存储:变量、常量、数组和记录。每一种形式都适合于不同的特定任务。 2、变量:变量的概念、命名、声明。 命名规则: 变量名的第一个字母必须是字母,后接字母、数字、下划线,但不可是小数点、空格。 变量名的最后一个字符可以是类型说明符,

14、但它们不能出现在变量名的其它位置。 例如: A% 说明了变量A是整型 B& 说明了变量B是长整型 C! 说明了变量C是单精度型 D # 说明了变量D是双精度型 E 说明了变量E是货币型 F$ 说明了变量F是字符串型 注意:变量名不能与保留字重名。 声明变量: 隐式声明 变量不经声明直接使用,如:A=123 其类型由赋值的类型所决定 显式声明 变量用 Dim 变量名 As 类型名 声明后再使用的方式就是显式声明。Option Explicit 的作用就是强制显式声明模块中的所有变量。 3、常量:常量的概念、分类、声明。 常量分为系统内在常量和自定义常量。 符号常量用Const语句声明。 例如 C

15、onst PI As Double=3.1415926 4、运算符与表达式:运算符是用来对运算对象进行各种运算的操作符号,而表达式是由多个运算对象和运算符组合在一起的合法算式。 Visual Basic 中的运算符分为五类:算术运算符、连接运算符、关系运算符、逻辑运算符和特殊运算符;主要有三种表达式,即算术表达式,关系表达式和逻辑表达式。 数学运算:运算符有 * / Mod。例如:a Mod b表示a被b整除以后的余数。 关系运算::关系运算也称比较运算,VB共提供六种运算符,分别是=,=,=,Like(模糊匹配)和Is。 逻辑运算: Not And Or 日期运算: 5、常见标准函数: 数学

16、函数:Sqr Rnd 转换函数:Asc Chr Int Val Str 字符串函数:Space Trim Mid 日期和时间函数:Date Time Now Year 交互式函数:Msgbox函数和InputBox 函数的使用。 自测与练习题 一、写出下列函数的值 Int(-3.14159) Chr$(Sqr(64) Fix(-3.1415926) Sgn(-72+2) Mid(Hello,2) Val(16 Year) Str(-459.65) Len(Hello) 参考答案: -4 退格符 -3 -1 “ello” 16 “-459.65” 5 二、填空题 1、整型变量X中存放了一个两位数

17、,要将两位数交换位置,例如,13变成31,实现的表达式是 。 2、表示x是5的倍数或是9的倍数的逻辑表达式为 。 3、表达式Ucase(Mid(abcdefgh,3,4)的值是 。 4、在直角坐标系中, x,y是坐标中任意点的位置,用x与y表示在第一或第三象限的表达式是 。 5、表示S字符变量是字母字符(大小写字母不区分)的逻辑表达式为 。 参考答案: 1、 (X mod 10)*10+X10 2、 x mod 5=0 OR x mod 9=0 3、 “CDEF “ 4、 x0 AND y0 OR x0 AND y=”A” AND s=”a” AND s=B And B=C And C0 B.

18、 A+CB And B+Ca And C0 C. (A+B=C or A-B 0 D. A+BC And A-B0 4、下面哪个是算术运算符: A. Imp B. Mod C. Not D. Like 5、下面的运算符中,优先级最高的是: A. Not B. Is C. Like D. & 6、下面的哪一条语句与Visual Basic 的默认设置相同: A. Option Base 1 B. Option Base 2 C. Option Cmpare Text D. Option Explicit 参考答案: C B B B D D 四、编程题 1在窗体上放1个标签Label1,1个命令按

19、钮Command1,当窗体启动时使标签居于窗体的中间,并显示系统的当前时间,命令按钮显示为“放大”,当单击命令按钮时,将标签中显示显示文字放大13倍,并重新显示系统当前时间。 Option Explicit Private Sub Command1_Click Label1.FontSize = Label1.FontSize * (Int(Rnd * 3 + 1) 放大字体 Label1.Caption = 当前时间为 & Time 显示时间 以下让Label1居中显示 Label1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2 Label1.

20、Top = Form1.ScaleHeight / 2 - Label1.Height / 2 End Sub Private Sub Form_Load Label1.Caption = 当前时间为 & Time Label1.Left = Form1.ScaleWidth / 2 - Label1.Width / 2 Label1.Top = Form1.ScaleHeight / 2 - Label1.Height / 2 End Sub 2编一模拟简易计算器的程序,运行界面如下图所示。 Option Explicit Private Sub Form_Load Label1.Capti

21、on = End Sub Private Sub Command1_Click 加法 Label1.Caption = Text3.Text = Val(Text1) + Val(Text2) End Sub Private Sub Command2_Click 减法 Label1.Caption = Text3 = Str$(Val(Text1) - Val(Text2) End Sub Private Sub Command3_Click 乘法 Label1.Caption = Text3 = Str$(Val(Text1) * Val(Text2) End Sub Private Sub

22、 Command4_Click 除法 Label1.Caption = Text3 = Str$(Val(Text1) / Val(Text2) End Sub Private Sub Command5_Click 清除 Text1.Text = Text2.Text = Text3.Text = Label1.Caption = End Sub 第三章 程序设计的3种基本结构 重点掌握的内容: InputBox:使用InputBox函数可以建立输入对话框并返回字符型数据。 MsgBox函数与语句:MsgBox函数产生的消息对话框可以看作是输出对话框。消息对话框能显示“错误”、“指示”、“警告

23、”之类的简短信息以及“确定”、“取消”等按钮。详见4.2节。 三种程序结构以及If条件语句、Select Case语句、ForNext语句、Do While Loop语句等。能够分析阅读程序,正确输出程序运行结果,能够编写简单的程序。 自测与练习题 一、判断题 1、使用MsgBox函数与MsgBox过程均可接受用户输入数据。 2、IF语句中的条件表达式中只能使用关系或逻辑表达式。 3、在Select Case情况语句中,各分支的先后顺序无关。 4、要实现同样的循环控制,在Do While-Loop和DO-Loop While循环结构中给定的循环条件是一样的。 5、Do-Loop While语句

24、实现循环时,不管条件真假,首先无条件地执行一次循环。 6、Do-Loop Until语句实现循环时,只要条件是假,循环将一直进行下去。 7、一个Do循环只能使用一个Loop关键字,但是可以使用多个Exit语句。 8、For 循环语句正常结束其循环控制变量的值一定大于“终值”,并等于“终值”+“步长”。 9、Print方法既可以在窗体中输出数据,又可以在图片框和立即窗口中输出数据。 参考答案: 1 2 3 4 5 6 7 8 9 二、选择题 1、下面程序段运行后,显示的结果是 。 Dim As Integer If x Then Print x Else Print x+1 1 0 -1 显示出

25、错信息 2、下面程序段求两个数中的大数, 不正确。 Max = Iif(xy,x,y) If xy Then Max = x Else Max=y Max=x If y=x Then Max =y If y=x Then Max=y Max = x 3、下段程序执行的输出结果是 。 S=0:T=0:U=0 For I=1 To 3 For J=1 To I For K=J To 3 S=S+1 Next K T=T+1 Next J U=U+1 Next I Print S;T;U 3 6 14 1 4 6 3 14 3 6 参考答案: 1A 2D 3B D)16 4 3 接收一周7天的温度,

26、程序进行处理后,利用MsgBox函数输出一周的平均温度。 Private Sub Command1_Click Dim i As Integer Dim t As Single, s As Single s = 0 For i = 0 To 6 t = Val(InputBox(请输入 & 周 & (i + 1) & 温度:, 输入) Label1(i).Caption = Label1(i).Caption & t & 度 s = s + t Next i s = s / 7 Print 七天的平均温度是: & s & 度 End Sub 4、规范整理英语文章,即对输入的任意大小写英语文章进

27、行整理。要求:句子开头应为大写字母,其它都是小写字母。 Option Explicit Dim Pre As Long 存放当前处理字符的前一个字符 Private Sub Form_Load Pre = 46 初始状态为“.” End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Dim ch As String ch = Chr(KeyAscii) If (Pre = 46 Or Pre = 63 Or Pre = 33 Or Pre = 13) And ch = a And ch = z Then 前一个字符是”.”或”!” 或”

28、?” 或回车 KeyAscii = KeyAscii - 32 End If If KeyAscii 32 Then Pre = KeyAscii 当前处理字符不是空格 End Sub 第四章 数组 重点掌握的内容: 一、数组的定义:数组必须先定义后使用 例如:Dim A(1 to 10) As Integer Dim B(10) As double 定义后数组A有10元素,分别为A(1),A(2),A(10);数组B的元素个数由系统的下标缺省值来决定,若没有Option Base 语句或使用Option Base 0,则B的元素个数为11,即B(0),B(1),B(10);若使用Option

29、 Base 1则B的元素个数为10,即B(1),B(10)。 二、定长数组的定义:数组定义时指定了大小,占用的内存大小是固定不变的数组称为定长数组,如上例数组A、数组B。 三、动态数组的定义:例如 Dim C As Integer,声明了C是一个动态数组,在使用C数组前,必须用ReDim语句定义它的大小,例如ReDim C(5)。用ReDim语句可以使用Preserve参数保留数组中原有的数据。例如:Dim C ReDim C(5):C(1)=20: ReDim Preserve C(10) 自测与练习题 一、判断题 1、在使用ReDim重定义动态数组时的下标可以用变量来表示。 2、使用ReD

30、im语句既可以改变数组的大小,也可以改变数组类型。 3、若要使定义数组下标下界缺省值时,下界值为2,则可用语句Option Base 2。 4、在VB中,用DIM定义数组时,数组元素也自动赋初值为0。 5、数组在内存中占据一片连续的存储空间。 参考答案: 1 2 3 4 5 二、选择题 以下程序输出的结果是 。 Dim a, i% a=array(1,2,3,4,5,6,7) For i =Lbound(a) to Ubound(a) a(i)=a(i) *a(i) next i print a(i) 49 0 不确定 以下程序输出的结果是 。 Option Base 1 Private Su

31、b Command1_Click Dim a%(3,3), i%, j% For i=1 to 3 for j=1 to 3 If j1 and i1 then a(i,j)=a(a(i-1,j-1),a(i,j-1)+1 Else D) 程序出错 1 2 3 1 2 3 2 3 1 1 2 3 3 2 3 1 2 3 1 2 3 1 1 1 2 4 6 2 2 2 3 6 9 3 3 3 3程序运行后,单击窗体,输入的数据为8 ,则输出结果为? Private Sub Form_Click Dim iA, i%, n%,t% n=InputBox(Enter N=?) iA=array(1,

32、2,3,4,5,6,7,8,9,10) For i =1 To n2 t=iA(i) : iA(i)=iA(n-i+1) : iA(n-i+1)=t Next i For i=0 to Ubound(iA) Print iA(i); Next i End Sub 1 2 3 4 5 6 7 8 9 10 10 2 3 4 5 6 7 8 9 1 1 9 8 7 6 5 4 3 2 10 10 9 8 7 6 5 4 3 2 1 参考答案: 1D 2A 3C 三、程序填空 1下面的程序是将输入的一个数插入到按递减的有序数列中,插入后使该序列仍有序。 Private sub form_click

33、Dim a,i%,n%,m% a=array(29,21,15,13,11,9,7,5,3,1) n=ubound(A) Redim m=val(inputbox(输入欲插入的数) For i = ubound(A) -1 to 0 step -1 If m=a(i) then if i = 0 then a(i) =m else exit for end if Next i For i = 0 to Print a(i) Next i End Sub 2. 在窗体上有1个命令按钮和1个文件框,名称分别为cmdstart、Textl。文本框Textl中的字符个数不超过200个。程序开始运行时,

34、单击“cmdstart”按钮后,将文本框Textl.Text中的字符按其ASCII码值由小到大自左到右重新组合,并在窗体上输出重组后的字符串。 Private Sub Cmdstart_Click Dim n As Integer, I As Integer ,j As Integer ,p As Integer Dim a (200) As String *1 ,strl As String, t As String strl = Textl .Text n = For i = l To n a(i) = Next i For i = l To n 1 p = i For j = i + l

35、 To n If Then pj Next j Next i For i= l To n Print a (i); Next i End Sub 参考答案: 1. Preserve a(n+1) a(i+1)=a(i) a(i+1)=m n+1或Ubound(a) 2. Len(str1) Mid(str,i,1) a(p)a(j) t=a(p) : a(p)=a(i) : a(i)=t 四、编写程序 编一程序,将一维数组中元素向右循环移位,移位次数键盘输入。例如,数组各元素的值依次为0,1,2,3,4,5,6,7,8,9,10;位移次后,各元素的值依次为8,9,10,0,1,2,3,4,5,

36、6,7。 Option Explicit Dim N As Integer Dim A As Integer Private Sub Form_Click Dim i As Integer, j As Integer, t As Integer, k As Integer N = Val(InputBox(请输入数组的大小) If N = 0 Then Exit Sub ReDim A(N - 1) Print 原始数组值 For i = 0 To N - 1 A(i) = Val(InputBox(A( & i & )=) Print A(i); Next i Print j = Val(I

37、nputBox(请输入循环的大小) For i = 1 To j t = A(N - 1) For k = N - 1 To 1 Step -1 A(k) = A(k - 1) Next k 循环右移 A(0) = t Next i Print 循环右移 & j & 位后的数组值 For i = 0 To N - 1 Print A(i); Next i Print End Sub 编一程序,用随机函数Rnd产生100个0,99范围内的随机整数,统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数。 Option Explicit Private Sub Form_Click

38、 Dim X(1 To 10) As Integer, A(1 To 100) As Integer Dim P As Integer, J As Integer, I As Integer For J = 1 To 100 A(J) = Rnd * 100 产生0,99的随机数 Print A(J); P = A(J) - Int(A(J) / 10) * 10 If P = 0 Then P = 10 个位为零存入数组a(10) X(P) = X(P) + 1 将对应的个位数存入对应数组 If J Mod 10 = 0 Then Print Next J Print For J = 1 To 10 P = J: I = J If J = 10 Then I = 0 Print 个位数是 & I & 有 & X(P) & 个 Next J End Sub 通过输入对话框输入100个数值数据放入数组a。将其中的整数放入数组b,然后运用选择分类法将数组b中的数据按从大到小的顺序排列,并以每行5个数据在窗体上输出。 Option Explicit Const NM = 100 Private Sub Form_Click D

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号