




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual Basic 复习第一部分 选择题选择题关键:掌握知识点、考点;注意关注点。第一章 Visual Basic概述一、知识点及考点分析1、对象、属性、方法、事件的概念;2、VB各个窗口的功能;3、创建应用程序的一般步骤;4、VB各种文件的扩展名及其功能;(.frm、.vbp、.bas等)第二章 创建用户界面一、知识点及考点分析1、窗体的常用属性、方法、事件;(Name、Caption、AutoRedraw、Hide、Show、Print、Cls、Load、UnLoad、Click、Activate等)2、VB对象的公共属性;(Name、Top、Left、Width、Height、Enabled、Visible等)3、文本框控件;(PasswordChar、Text、MultiLine、SetFocus、LostFocus、Change、KeyPress等)3、标签控件(Caption;AutoSize等);4、命令按钮;(Default、Cancel、Style、Click等)5、单选按钮;(Value、Style、Click等)true false6、复选框;(Value、Style、Click等)0 1 2 7、列表框;(List、ListCount、ListIndex、Text、AddItem、RemoveItem、Clear、Click、DblClick等)8、组合框;(List、ListCount、ListIndex、Text、Style、AddItem、RemoveItem、Clear、Click、Change等)9、图片框;(AutoSize、Picture、AutoRedraw、Print、Cls、LoadPicture等)Pic1.LoadPicture(“d:myfilea.bmp”)10、图像控件(Picture、Stretch、LoadPicture等);11、计时器(Interval、Timer);12、滚动条;(Value、Max、Min、LargeChange、SmallChange、Change、Scroll等)13、菜单(下拉式、弹出式、PopupMenu)二、关注点1、对象名称与事件过程名要对应;2、容器对象;Form PictureBoxc Frame3、有些属性值只能在设计时设置,还有些属性只能在运行时设置;4、属性窗口中并没有列出对象的全部属性;ListCount5、结果输出在不同对象上的方法不同,窗体和图片框中用Print方法;文本框中用text属性连接;列表框中AddIrem添加方法。对象窗体(Form1)图片框(P1)文本框(Text1)列表框(List1)输出Print nP1.Print nText1=Text1 & nList1.AddItem n换行PrintP1.PrintText1=Text1 & VbCrLf自动清空CLSP1.CLSText1=”List1.Clear第三章 Visual Basic语言基础一、知识点及考点分析1、模块、过程与代码的书写;2、数据类型与类型说明符;3、常量与变量,变量的命名规则、作用域与生命期;4、运算符与表达式;5、常用系统函数;sin log len mid str cstr int cint fix date now time二、关注点1、Integer类型数据的表示范围;(-3276832767)2、使用不同的关键字声明变量时,变量作用域有何不同;(Dim、Private、Public、Static)3、变量声明后的初始值;(字符串型为空串,数值型为0,布尔型为False,变体型为Null,日期时间型为#1899-12-30 0:0:0#)4、声明变量时,必须对每个需要说明的变量逐个加As Type;5、过程中不能用Public、Private声明变量;6、用Static声明变量时只能出现在过程中;7、常数、定长字符串、数组在窗体模块中不能用Public定义;8、乘方()、除法(/)运算结果为双精度,求余(MOD)、整除()运算要求数据必须为整型,其他运算符运算时,若两个运算对象类型相同,则结果类型也与之相同,否则结果类型为存储长度相对较长的那个类型;9、非整数转换成整数的原则:四舍六入五成双;(Format函数中除外)10、InputBox函数返回值与文本框的Text属性类型相同,为字符串类型;11、熟练掌握常用函数的使用;Str(x) 和Cstr(x)的区别CInt(x) Fix(x)和Int(x)的区别12、运算符的优先级;13、同名变量的访问;第四章 算法基础及Visual Basic基本语句一、知识点及考点分析1、程序的三种结构;2、If语句;3、Select Case语句;4、For-Next语句;5、Do-Loop语句;6、注释语句;7、Exit语句。二、关注点1、两种注释方法的不同;2、Select Case中条件的三种写法;3、FOR循环是先检查再循环;4、FOR语句中初值、终值与步长在开始循环时就固定,不会受循环中语句影响;5、Do While循环是条件为真时循环;6、Do Until循环是条件为假时循环;7、结构嵌套不要出错;8、Exit语句只能退出当前的一层结构第五章 数组一、知识点及考点分析1、数组的定义;2、数组的维界;3、动态数组;4、数组操作语句与函数;Erase Lbound UBound5、控件数组。二、关注点1、数组必须先声明再使用,有无Option Base 1语句时,声明数组时注意缺省下界的值;2、声明数组时,维的上、下界必须是常数(表达式),不可使用变量;3、数组维界必须是整数,若不是整数,系统自动转换;4、数组是按页按列存储的;5、使用Array函数时,只能将集合赋给变体类型变量,会自动创建一个一维数组;6、动态数组使用前必须使用ReDim重新声明,且不能改变类型;7、动态数组重新声明时,维界可以使用变量;8、使用Preserve子句时,只能改变最后一维下标的上界;9、Erase语句将固定大小数组元素值初始化为默认值,而将动态数组的全部空间都被释放;10、For Each循环中循环变量必须是变体类型。11、数组输出在不同对象上的方法,以输出4行5列的数组X(4,5)为例:窗体Form1图片框Picture1文本框Text1For i = 1 To 4 For j = 1 To 5 Print X(i, j); NextPrintNextFor i = 1 To 4 For j = 1 To 5 Picture1.Print X(i, j); Next Picture1.PrintNextFor i = 1 To 4 For j = 1 To 5 Text1.Text = Text1.Text & X(i, j) & Next Text1.Text = Text1.Text+ Chr(13) + Chr(10) (或)Text1.Text = Text1.Text+vbCrlfNext三、例题解析1、下列有关数组的说法中_是错误的。(200701)A. 在模块中由于未使用Option Explicit语句,所以数组不用先定义就可以使用,只不过是Variant类型B. 过程定义中,形参数组可以是定长字符串类型C. Erase语句的作用是对固定大小数组的值重新初始化或收回分配给动态数组的存储空间D. 定义数组时,数组维界可以不是整数2、下列有关数组的说法中正确的是_。(200602)A. 数组是有序变量的集合,序列中的变量类型可以不同B. 数组下标用以确定数组元素在数组中的位置,下标取值只能是0或1C. 在一定条件下,动态数组可以反复改变其维数与大小D. 固定大小数组也可以使用ReDim语句改变其大小3、下列有关数组的说法错误的是_。(200601)A. 数组必须先定义后使用B. 数组形参可以是定长字符串类型C. Erase语句的作用是对已定义的数组的值重新初始化D. 定义数组时,数组维界可以不是整数4、以下有关ReDim语句用法的说明错误的是_。(200402)A. ReDim可用于定义一个新数组B. ReDim语句既可以在过程中使用,也可以在模块的通用声明处使用C. 无Preserve关键字的ReDim语句可重新定义动态数组的维数D. 在ReDim语句中,可使用变量说明动态数组大小5、下列有关数组的说法错误的是_。(200401)A. 在窗体模块不可以定义全局数组B. 可以使用Erase语句释放所有数组所占据的存储空间C. 语句Dim X(3.6+2) As Integer定义了一个维上界是6的一维整型数组D. 形参数组的类型可以是定长字符串类型6、有关控件数组的说法错误的是_。(200302)A. 控件数组由一组具有共同名称和相同类型的控件组成B. 控件数组中的每一个控件共享同样的事件过程C. 控件数组中的每个元素的下标由控件的Index属性指定D. 同一控件数组中的元素只能有相同的属性设置值7、下面有关数组处理的叙述中错误的是_。(200301)(1)在过程中用ReDim语句定义的动态数组,其下标的上下界可为赋了值的变量(2)在过程中,可以使用Dim、Private和Static语句定义数组(3)用ReDim语句重新定义动态数组时,不得改变该数组的数据类型(4)可用Public语句在窗体模块的通用说明处定义一个全局数组A. (1)(2)(3)(4)B. (1)(3)(4)C. (1)(2)(3)D. (2)(4)8、在窗体通用声明处有语句“Dim A() As Single”,以下在某事件过程中重定义此数组的一组正确语句是_。(200202)A. ReDim A(3,3) B. ReDim A(3,3) ReDim A(4,4) As Integer ReDim Preserve A(4,4)C. ReDim A(3,3) D. ReDim A(3,3) ReDim A(3,3) As Integer ReDim Preserve A(3,4)第六章 程序调试一、知识点及考点分析1、VB程序的错误类型;2、VB程序的三种状态;3、调试程序的窗口;4、单步调试;5、断点;6、强制程序中断的方法;二、关注点在程序调试时,如果出现死循环,可以使用Ctrl+Break中断。第七章 文件一、知识点及考点分析1、文件相关的控件;2、VB文件类型;3、文件号;4、操作文件的语句与函数;5、顺序文件的操作;6、随机文件的操作;7、二进制文件的操作;二、关注点1、文件号的取值范围为1511;2、打开文件语句OPEN;3、读取顺序文件的语句与函数;4、随机文件、二进制文件的读写语句;5、文件控件的属性、方法、事件;6、在关闭文件或结束程序之前,必须使用Unlock语句对先前锁定的文件解锁,否则会出现难以预料的错误。三、例题解析1、下列控件中,不具有Change事件的有_个。(200701)(1)DriveListBox(2)DirListBox(3)FileListBox(4)ListBoxA. 0B.1C. 2D. 32、下列有关文件的说法错误的是_。(200701)A. 在Open语句中缺省FOR子句,则按Random方式打开文件B. 可以用Binary方式打开一个顺序文件C. 在Input方式下,可以使用不同文件号同时打开一个顺序文件D. 用Binary方式打开一个随机文件,每次读写数据的字节长度取决于随机文件的记录长度分析:参见教科书P1553、执行赋值语句_后,会触发相应控件的Change事件。(200601)A. Dir1.ListIndex=-2B. Drive1.ListIndex=2C. List1.ListIndex=3D. File1.ListIndex=3分析:ListBox FileListBox没有Change事件,ListIndex属性取值最小为-14、下列说法错误的是_。(200502、200302)A. 当程序正常结束时,所有没用Close语句关闭的文件都会自动关闭B. 在关闭文件或程序结束之前,可以不用UnLock语句对已锁定的记录解锁C. 可以用不同的文件号同时打开一个随机文件D. 用Output模式打开一个顺序文件,即使不对它进行写操作,原来内容也被清除5、下列有关文件管理控件的说法正确的是_。(200501)A. ChDir语句的作用是指明新的缺省工作目录,同时也改变目录列表框的Path属性值B. 改变文件列表框的FileName属性值,仅改变列表框中显示的文件名,不会引发其他事件C. 改变驱动器列表框的ListIndex属性值,会改变Drive属性并触发Change事件D. 单击目录列表框中某一项,会触发Change事件分析:改变文件列表框的FileName属性值将产生PathChange事件6、有关文件的说法正确的是_。(200402)A. 打开随机文件时,参数Len的值可任意设置B. 若以Output、Append、Random或Binary方式打开一个不存在的文件,系统会出错C. 在Input方式下,不能使用不同文件号打开同一个文件D. 在一个过程中,一个文件号有可能被用于打开不同的文件7、窗体上有名为Drive1与Dir1的驱动器列表框与文件夹列表框,在选定驱动器列表框中的列表项时,文件夹列表框中的内容会随之改变,则正确的语句及语句位置是_。(200401)A. Dir1.Path=Drive1.Path位于Drive1_Change()过程B. Dir1.Path=Drive1.Path位于Dir1_Change()过程C. Dir1.Path=Drive1.Drive位于Drive1_Change()过程D. Dir1.Path=Drive1.Drive位于Dir1_Change()过程8、下面能够正确打开文件的一组语句是_。(200002)A. Open “data1” For Output As #5B. Open “data1” For Output As #5 Open “data1” For Input As #5 Open “data1” For Input As #6C. Open “data1” For Input As #5D. Open “data1” For Input As #5 Open “data1” For Input As #6 Open “data1” For Random As #59、VB文件访问的类型有_。(200001)A. 顺序、随机、二进制B. 顺序、随机、字符C. 顺序、十六进制、随机D. 顺序、记录、字符10、要对顺序文件写操作,下列打开文件语句中正确的是_。(199902)A. Open “file1.txt” For Output As #1B. Open “file1.txt” For Input As #1C. Open “file1.txt” For Random As #1D. Open “file1.txt” For Binary As #111、下面对语句Open “Text.Dat” For Output As # FreeFile的功能的说明中错误的是_。(1998模拟)A. 以顺序输出模式打开文件Text.DatB. 如果文件Text.Dat不存在,则建立一个新文件C. 如果文件Text.Dat已存在,则打开该文件,新写入的数据将增添到该文件中D. 如果文件Text.Dat已存在,则打开该文件,新写入的数据将覆盖原有数据第八章 过程一、知识点及考点分析1、过程的种类;2、Sub过程的创建与调用;3、Function过程的创建与调用;4、形参与实参;5、参数的传递方式;(按地址、按值)6、递归;二、关注点1、过程定义不能嵌套;2、形参是在Sub,Function的定义行中出现的变量名、数组名。变量的类型可以是Integer、Long、Single、String等,但不能是定长字符串类型。数组的类型可以是定长字符串数组,也可以是不定长字符串数组。3、实参是在调用Sub或Function时传送的常量、变量、表达式、数组名、数组元素或对象名。4、“形参结合”原则:参数的个数相同、类型一致。5、按值传递:在形参前加ByVal,将实参的值赋给形参,若类型不一致,VB将自动转换。实参的值不变。6、按地址传递: 在形参前加ByRef或省略,若实参为简单变量、数组元素、数组,则将实参地址传给形参,实参的值可能改变。实参和形参的类型必须完全一致,否则出错。 当实参为常量、表达式时,VB用“按值传递”方式处理。类型不一致则自动转换。 对于简单变量M,加括号即(M)则变为表达式7、数组只能按地址传递,且类型要一致;8、若形参数组类型是变长字符串型,则实参数组必须是变长字符串型;若形参数组类型是定长字符串型,则实参数组必须是定长字符串型,但长度可以不同;9、形参数组不用再定义,但如果是动态数组,可以使用ReDim重新改变维界,返回时,实参的维界也随之改变;10、递归必须要有结束条件;11、参数传递时,如果一个算术表达式中调用了函数,且有实参出现在函数中,函数有可能会改变算术表达式中变量的值;三、例题解析1、下列定义Sub过程的语句正确的是_。(200701)A. Private Sub Sub1(A()B. Private Sub Sub1(A As String *5)C. Private Sub Sub1(ByVal A() As Integer)D. Private Sub Sub1(A(10) As Integer)2、有关过程的说法错误的是_。(200602)A. 在Sub或Function过程中不能再定义其他Sub或FunctionB. 调用过程时形参为数组的参数对应的实参既可以是固定大小数组,也可以是动态数组C. 过程的形参不能再在过程中用Dim语句说明D. 使用ByRef说明的形参在形实结合时,总是按地址传递方式进行结合的3、下列定义Sub过程的各个语句正确的是_。(200601)(1)Private Sub Sub1(A() As String)(2)Private Sub Sub1(A(1 To 10) As String *8)(3)Private Sub Sub1(S As String)(4)Private Sub Sub1(S As String * 8)A. (1)(2)(3)(4)B. (1)(2)(3)C. (1)(3)(4)D. (1)(3)分析:数组作为形式参数时,数组名后直接跟一对空括号。4、程序中有两个过程Private Sub Fun1(S As String)和Private Sub Fun2(A() As String * 6),在调用过程中用Dim St(6) As String * 6定义了一个字符串数组,下列调用正确的是_。(200502)(1)Call Fun1(St(3) (2)Call Fun2(St) (3)Call Fun1(St) (4)Call Fun2(St(6)A. (1)(2)B. (1)(3)C. (2)(3)D. (2)(4)分析:形式参数实在参数A( ) As StringB( ) As StringA( ) As String * NB( ) As String * MA As StringB As String 或 B As String * N特别注意:A As String * N不能作为形式参数5、下列关于过程参数的说法错误的是_。(200501)A. 过程的形参不可以是定长字符串类型的变量B. 形参是定长字符串数组,则对应的实参也必须是定长字符串数组,且长度相同C. 若形参是按地址传递的参数,形参和实参也能以值传递方式进行形实结合D. 按值传递参数,形参和实参的类型可以不同,只要相容即可6、下列有关事件过程的说法错误的是_。(200402)A. 标准模块中不能包含事件过程B. 事件过程都是无参(没有形式参数)的过程C. 事件过程也可以通过 Call语句调用执行D. 在事件过程中不能声明全局变量7、有关过程的说法错误的是_。(200302)A. 在Sub或Function过程中不能再定义其他Sub或FunctionB. 在调用过程时,与使用ByRef说明的形参对应的实参只能按地址传递方式结合C. 递归过程既可以是递归Function也可以是递归Sub过程D. 在调用过程时,形参为数组的参数对应的实参也只能是数组8、定义两个过程“Private Sub1(St() As String)”和“Private Sub2(Ch() As String * 6)”,在调用过程中用“Dim S(3) As String *6,A(3) As String”定义了两个字符串数组。下面调用语句中正确的有_。(200301)(1)Call Sub1(S)(2)Call Sub1(A)(3)Call Sub2(A)(4)Call Sub2(S)A. (1)(2)B. (1)(3)C. (2)(3)D. (2)(4)9、在窗体Form1中用“Public Sub Fun(x As Integer, y As Single)”定义过程Fun,在窗体Form2中定义了变量i为Integer,j为Single,若要在Form2的某事件过程中调用Form1中的Fun过程,则下列语句中正确的语句有_个。(200202)(1)Call Fun(i,j) (2)Call Form1.Fun(i,j) (3)Form1.Fun (i),j (4)Form1.Fun i+1,(j)A. 1B. 2C. 3D. 410、下列定义Sub过程的语句中正确的语句是_。(200202)(1)Private Sub Test(St As String * 8) (2)Private Sub Test(Sarray() As String * 5)(3)Private Sub Test(Sarray() As String)(4)Private Sub Test(St As String)A. (1)(2)B. (1)(3)C. (1)(2)(3)D. (2)(3)(4)11、若在应用程序中用“Private Sub Sub1(X As Integer, Y As Single)”定义了子程序Sub1,调用程序中的变量I、J均为Integer型,则正确调用子程序Sub1的Call语句是_。(200002)(1)Call Sub1(I, J) (2)Call Sub1(3.1415,I)(3)Call Sub1(3.14,234)(4)Call Sub1(“245”,”231.5”)A. (1)(3)B. (3)(4)C. (1)(2)(3)D. 无12、以下有关把数组作为形参的说明中错误的是_。(1998模拟)A. 形参数组只能按地址传递B. 调用过程时,只需要把传递的数组名填入实参表C. 使用动态数组时,可用ReDim语句改变形参数组的维界D. 在过程中也可以用Dim语句对形参数组进行说明 第二部分 读程序写结果解题方法: 一步一步分析,记录每一步的变量值与输出内容 循环次数多的程序,注意总结规律;注意变量的作用范围; 注意参数的传递方式。考点1:For循环的初值、终值和步长一开始就确定好,不受循环体中语句的改变。1、下面的事件过程执行结束后,A(2)的值是 1 、A(7)的值是 0 。程序中第二个循环被执行了 4 次。(200701)Option ExplicitOption Base 1Private Sub Command1_Click() Dim A(10) As Integer Dim i As Integer, k As Integer For i = 1 To 10 A(i) = 1 Next i k = 1 For k = 1 To 10 Step k A(k) = 0 k = k + 2 Next kEnd Sub2、执行下面程序,当单击窗体时,显示在窗体上第一行的内容是 200 ,第二行的内容是 10 。(200601)Private Sub Form_Click() Dim i As Integer, sum As Integer For i = 0.5 To 8.5 Step 2.5 sum = sum + i * 10 Next i Print sum Print iEnd Sub3、执行下面程序,当单击Command1时,列表框List1的第二列表项内容是 3 ,第四列表项内容是 15 ,第五列表项内容是 28 。(200502)Private Sub Command1_Click() Dim i As Integer, j As Integer For i = 1 To 10 j = i + j List1.AddItem j Next i For i = 1 To 4 List1.RemoveItem List1.ListCount - i Next iEnd Sub4、执行下面的程序,单击窗体,则在窗体上显示的第一行是 1 2 3 ,第二行是 4 5 。(200202)Private Sub Form_Click() Dim a(3, 3) As Integer, i As Integer, j As Integer For i = 1 To 3 For j = 1 To 3 a(i, j) = (i - 1) * 2 + j Next j Next i For j = 1 To 3 For i = j To 3 Print a(j, i); Next i Print Next jEnd Sub5、执行下面的程序,单击命令按钮Command1,则窗体上显示的第一行是 C ,第二行是 CW ,第三行是 8 。(200202)Private Sub Command1_Click() Dim s As String, t As String Dim k As Integer, m As Integer s = BASICY k = 1: m = k For k = 1 To Len(s) Step m + 1 t = t & Chr(Asc(Mid(s, m, 1) + k) k = k + 1 If Mid(s, k, 1) = Y Then Exit For m = m + k Print t Next k Print mEnd Sub考点2:参数的按值、按地址、Static静态变量-必考无疑1、执行下面的程序,在窗体上显示的输出结果的第二行是 4 9 13 ,第三行是 19.5 。(200102)Option ExplicitDim a As Integer, b As IntegerPrivate Sub Form_Click() Dim c As Integer a = 1: b = 3: c = 5 Print fun(c) Print a, b, c Print fun(c)End SubPrivate Function fun(x As Integer) As Single fun = a + b + x / 2 a = a + b b = a + x x = b + aEnd Function2、执行下面程序,当单击Command1时,窗体上显示的内容的第一行是 3 ,第二行是 9.6。(200402)Option ExplicitDim a As SinglePrivate Sub Command1_Click() Dim a As Single, b As Integer如果没有a As Single又会如何? a = 1.2: b = 3 Print Fun1(a, b) Print aEnd SubPrivate Function Fun1(X As Single, Y As Integer) As Integer Dim i As Integer For i = 1 To Y X = X * 2 a = a + 1 Next i Fun1 = aEnd Function在读程序写结果时一定要注意出现的窗体级的变量、同名变量和静态变量。3、执行下面程序,当单击Command1时,窗体上显示的内容的第二行是 1 1 1 ,第三行是 3 1 4 ,第四行是 1 3 1 。(200701)Option ExplicitPrivate Sub Command1_Click() Dim a As Integer, b As Integer, z As Integer a = 1: b = 1: z = 1 Call P1(a, b) Print a, b, z Call P1(b, a) Print a, b, zEnd SubPrivate Sub P1(x As Integer, ByVal y As Integer) Static z As Integer x = x + z: y = x - z: z = x + y Print x, y, zEnd Sub4、执行下面程序,当单击Command1时,窗体上显示的内容的第一行是 15 ,第二行是 36 ,第三行是 26 。(200602)Option ExplicitPrivate Sub Command1_Click() Dim i As Integer, n As Integer For i = 5 To 15 Step 2 n = Fun1(i, i) Print n Next i Print iEnd SubPrivate Function Fun1(ByVal a As Integer, b As Integer) As Integer b = a + b Fun1 = a + bEnd Function5、执行下面程序,当单击Command1时,窗体上显示的内容的第一行是 34 ,第二行是 26 ,第三行是 8 。(200701)Option ExplicitA B fun1 i X Y A fun11 2 1 2 1 2 3 5 2 6 4 10 3 1410 4 14 14 4 1 15 5 20 2 16 6 22 3 17 7 24 4 18 8 26 5 3426 8 34Dim A As IntegerPrivate Sub Command1_Click() Dim B As Integer A = 1: B = 2 Print fun1(fun1(A, B), B) Print A Print BEnd SubPrivate Function fun1(X As Integer, Y As Integer) As Integer Dim i As Integer For i = 1 To Y Y = Y + 1 X = X + 1 A = X + Y Next i fun1 = A + YEnd Function6、执行下面程序,当单击Command1时,窗体上显示的内容的第一行是 10 4 6 ,第二行是 56 28 28 ,最后一行是 K=66 。(200302)Private Sub Command1_Click() Dim A As Integer, K As Integer A = 2 K = Fun(A), A) + Fun(A, A) Print K=; KA K K X Y fun12 2 2 4 4 6 106 10 6 6 16 12 28 5628 56 66End SubPrivate Function Fun(X As Integer, Y As Integer) As Integer Static K As Integer K = K + X + Y X = X + Y Y = Y + K Fun = X + Y Print Fun; X; YEnd Functioni N i A B X N Sum fun3 0 3 0 0 0 1 1 1 1 2 3 2 3 3 5 4 7 4 4 114 11 2 11 2 11 11 11 1 23 23 23 2 36 35 58 3 3 613 611 61 1 61 72 1 134 134 2 2 1362 136 0 7、执行下面程序,当单击Command1时,窗体上显示的内容的第一行是 11 ,第二行是 61 ,最后一行是 136 。(200601)Option ExplicitDim N As IntegerPrivate Sub Command1_Click() Dim i As Integer, j As Integer For i = 3 To 1 Step -2 N = Fun(i, N) Print N Next iEnd SubPrivate Function Fun(A As Integer, B As Integer) As Integer Static X As Integer Dim Sum As Integer, i As Integer X = X + N For i = 1 To A B = B + X + i N = N - i 2 Sum = Sum + B Next i A = A + 1 Fun = Sum + AEnd Function考点3:递归1、执行下面程序,单击窗体后,窗体上显示的内容的第一行是 2 ,第三行是 4 ,第五行是 5!=120 。Private Function Fact(ByVal N As Integer) As Long If N = 0 Or N = 1 Then Fact = 1 Else Fact = N * Fact(N - 1) Print “N=”;N End IfEnd FunctionPrivate Sub Form_Click() Dim F As Long F=Fact(5) Print “5!=”;FEnd SubX Y S A B K X Recur12 18 18 12 1 1 17 1315 15 26 0 17 13 1 2 15 15 0 15 15 2 4 26 0 3、执行下面程序,当单击Command1时,窗体上显示的内容的第一行是 X=4 ,第二行是 26 ,第三行是 15 15 。(200402)Private Sub Command1_Click() Dim X As Integer, Y As Integer, S As Integer X = 12: Y = 18 If X Y Then S = Recur(X, Y, 1) Else S = Recur(Y, X, 1) End If Print S Print X, YEnd SubPrivate Function Recur(A As Integer, B As Integer, K As Integer) Static X As Integer X = X + K If A = B Then Recur = A + B - X Print X=; X Else A = A - X B = B + X Recur = Recur(A, B, X) End If X = 0如果加一个语句Print “X=”;X,输出结果如何?End Function4、执行下面程序,在文本框
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江双鸭山饶河县竞聘农场社区工作者笔试考前自测高频考点模拟试题及完整答案详解1套
- 2025广东深圳市烟草专卖局(公司)应届高校毕业生招聘22人模拟试卷及答案详解(名师系列)
- 2025年福建省龙岩市武平县事业单位招聘5人考前自测高频考点模拟试题(含答案详解)
- 2025年嘉兴海宁市中心医院公开招聘高层次急需卫技人员4人考前自测高频考点模拟试题及1套参考答案详解
- 2025中铁财务有限责任公司公开招聘1人笔试题库历年考点版附带答案详解
- 2025中国钢研科技集团有限公司人工智能新业务招聘笔试题库历年考点版附带答案详解
- 2025标准的合同协议范本
- 宝鸡安全员培训课件
- 2025综合合同租赁协议范本汇编
- 2025居间服务合同协议范本
- 虚拟现实技术在物流管理中的应用
- 志愿者安全培训课件
- 私募基金管理人尽职调查清单
- 前列腺剜除术手术技巧
- 居民自建桩安装告知书回执
- 科普:农药毒性分类
- 陈阅增普通生物学第1篇3细胞结构与细胞通讯教学课件
- 【执业药师考试】执业药师历年真题
- FZ/T 81004-2022连衣裙、裙套
- GB/T 34875-2017离心泵和转子泵用轴封系统
- 故障录波器课件
评论
0/150
提交评论