《VB程序设计》综合复习资料

发布时间:2023-11-15 20:11:02浏览次数:6
《VB 程序设计》综合复习资料一、填空题1. 在 VB 中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。2. 一个控件在窗体的位置由______和________属性决定,其大小由__________和_________属性决定。3. 变量的声明分为两种方法:__________和____________。4. 使用____________方法可在窗体中进行文本的输出,用____________方法可画圆,用____________方法可画直线。5. 类是具有相同性质的对象的_________。6. 利用对象的属性 setfocus 可获得焦点,对于一个对象,只有其 visible 属性和____________属性为 true,才能接受焦点。7. 文件按存取方式及其组成结构可分为________________文件、__________文件和______________文件。8. 在 VB 中,用___________________语句设定数组的下界,用_____________和__________________语句分别返回数组的上、下界。第 1 页 共 23 页 Private Sub Form_load()Form1.showd = 0For a = 1 To 2For b = 1 To aFor c = b To 5d = d + 1Next cNext bNext aPrint dEnd Sub4.阅读下面的程序,分析并写出其功能。Sub insert(a() As Single,ByVal x As Single)Dim m as integer,n as integern=1Do While n<20 And x>a(n)n=n+1LoopFor m=20-1 To n Step –1a(m+1)=a(m)Next ma(n)=xEnd Sub5.分析以下程序,写出运行结果。Sub selectPrint()Dim a as IntegerDim b as IntegerDim c as Integer第 10 页 共 23 页 a=2:b=5:c=2If(a>=b)and(a>=c) or (b>c) Then Print aa=a+2ElsePrint bEndIfPrint a;b;cEnd Sub6.阅读下面的程序,写出执行结果。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,cEnd Sub四、简答题1.在程序设计中为什么尽量不用 GoTo 语句?2.框架的作用是什么?3.滚动条的 change 事件和 scroll 事件有什么不同?4.颜色函数主要有哪些?3.如何为一个菜单项设置热键和快捷键?4.表达式 2>3 And 4<=5 Or 4>4 的值是什么?第 11 页 共 23 页 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.实现二维数组(矩阵)转置。第 12 页 共 23 页 8.实现二进制方式文件的复制。《VB 程序设计》综合复习资料参考答案一、填空题1. Vbp、frm、bas。2. Left、top、height、width。3. 隐式声明、显示声明。4. print、circle、line。5. 集合。6. enabled。第 13 页 共 23 页 7. 顺序、随机、二进制。8. option base、ubound、lbound。9. label1(i).caption、label2.caption 10. a(i,j) 、a(j,i) 、s11. 6。12. Form1.Hide。13. Command1.SetFocus。14. AutoSize。15. Sorted、Ture。16. Static。17. 0。18. Text1、TabIndex、019. False20. preserve21. 求 x 的绝对值22. 2.523. f24. rem、’25. 变量、数组第 14 页 共 23 页 26. chr(10)27. mousepointer28. selected、text、list1.text、removeitem 2*i-1、x,2*i-129. change、value、scrol、value30. Msgbox、Inputbox二、 选择题题号1 2 3 4 5答案D A C B D题号6 7 8 9 10答案A D D D A题号11 12 13 14 15答案B C C C A三、读程序题1、结果如下:B2、结果如下:BBCCCDDDDEEEEE3、结果如下:第 15 页 共 23 页 144、功能如下:在 20 个由小到大排列的数据中插入一个数,插入数据后的数据仍按由小到大的顺序排列。5、结果如下:24526、结果如下:33 3 2四、简答题答案要点1、主要是为了结构化。2、框架主要是用作容器,可以实现多组单选按钮,并且可以美化界面。3、主要是用鼠标拖动滑块时对 Value 属性的影响不同。4、颜色函数主要有:RGB、QBColor。3、为一个菜单项设置热键时需要在相应字符前面加&,设置快捷键需要在菜单编辑器中选择。4、False。8、应将 Locked 属性设为 True。第 16 页 共 23 页 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 IfEnd Sub2、参考程序如下:Private Sub sort(arraya() As Integer, n As Integer)第 17 页 共 23 页 Dim p As Integer, i As Integer, j As Integer, temp As IntegerFor 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) = tempNext iEnd Sub3、参考程序如下: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 IfEnd Sub4、参考程序如下: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):第 18 页 共 23 页 delt = b * b - 4 * a * c If a = 0 Then Label2.Caption = "是一元一次方程:" If b<>0 then Text4.Text = "x1=" & -c / b Else If c=0 then Text4.Text = "有无穷根" Else Text4.Text = "无根" End if End if Else If delt = 0 Then Label2.Caption = "有两个相等的实根:" Text4.Text = "x1=" & -b / 2 / a Text5.Text = "x2=" & -b / 2 / b ElseIf delt > 0 Then Label2.Caption = "有两个不等的实根:" Text4.Text = "x1=" & (-b + Sqr(delt)) / (2 * a) Text5.Text = "x2=" & (-b - Sqr(delt)) / (2 * a) Else Label2.Caption = "有两个共轭复根:" realpart = -b / (2 * a) imagpart = Sqr(-delt) / (2 * a) Text4.Text = "x1=" & realpart & "+" & imagpart & "i"第 19 页 共 23 页 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 第 2 页 共 23 页 Text5.Text = "x2=" & realpart & "-" & imagpart & "i" End If End If End Sub5.参考代码如下:Private Sub Form_Click()Dim a(10) As Integer, i As IntegerDim sum As Integer, ave As Integersum = 0For i = 1 To 10 a(i) = Int(Rnd * 101) sum = sum + a(i)Next iave = sum / 10Print sum, aveEnd Sub6.参考代码如下:Private Sub Command1_Click()Dim x As Singlex = Val(Text1.Text)If x > 100 Or x < 0 Then Text2.Text = "error" ElseIf x < 60 Then Text2.Text = "不及格" ElseIf x < 70 Then Text2.Text = "及格" ElseIf x < 80 Then第 20 页 共 23 页 Text2.Text = "中等" ElseIf x < 90 Then Text2.Text = "良好" Else Text2.Text = "优秀"End IfEnd Sub7.参考代码如下:Option Base 1Private 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 循环 i 从 1 变化到 N For j = 1 To N a(i, j) = i * 10 + j Next j Next i' 输出原始数组 Print "转置前的数组:" For i = 1 To N ' For 循环 i 从 1 变化到 N第 21 页 共 23 页 For j = 1 To N Print a(i, j); Next j Print Next i ' 数组转置 For i = 1 To N ' For 循环 i 从 1 变化到 N For j = 1 To i ' 交换 Temp = a(i, j) a(i, j) = a(j, i) a(j, i) = Temp 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 iEnd Sub8.参考代码如下:Private Sub Command1_Click()Dim if1 As Integer, if2 As IntegerDim sf1 As String, sf2 As String第 22 页 共 23 页 Dim buffer() As Byte ‘使用动态数组sf1 = InputBox("请输入源文件名:", "源文件")sf2 = InputBox("请输入目标文件名:", "目标文件")If sf1 = "" Or sf2 = "" Then Exit Subif1 = FreeFileOpen sf1 For Binary As if1 '打开源文件if2 = FreeFileOpen sf2 For Binary As if2 '创建目标文件ReDim buffer(1 To LOF(if1)) '分配内存Get #if1, , buffer '读源文件Put #if2, , buffer '写目标文件Close '关闭所有打开的文件MsgBox "完成复制。"End Sub 第 23 页 共 23 页 ____=i+j Next j Next iEnd 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 的值为______。第 3 页 共 23 页 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( )第 4 页 共 23 页 List.__________(7)=TruePrint 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 5List1.____________Next IEnd Sub(4)在列表框的每一项之后插入一个新的项:Private Sub Command1_Click( )For I=1 to 10X=InputBox(“请输入插入的第” & I & “项内容”)List1.AddItem____________Next IEnd Sub29. 设在界面上放置了一个滚动条 Hscroll1 和一个标签控件 Label1,要使每次单击滚动条两端箭头时,或单击滚动条滑块与两端箭头之间的空白区域时,标签内容能够反映滚动条的值,补齐以下代码。Private Sub Hscroll1.__________________( )Label1.Caption = Hscroll1.___________________第 5 页 共 23 页 End Sub要使拖动滚动条滑块时标签内容能够反映滚动条的值,补齐以下代码。Private Sub Hscroll1.________________( )Label1.Caption = Hscroll1.__________________End Sub30. 生成消息框的命令是____________,生成输入框的命令是____________。二、选择题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<y And (Not y>z) Or z<x 的值是( )第 6 页 共 23 页 A.1 B.-1 C.True D.False 6.假定有以下程序段: For i=1 to 3For j=5 to 1 Step –1Print i*jNext j,i则语句 Print i*j 的执行次数是( )A.15 B.16 C.17 D.187.以下叙述中错误的是( )A.如果过程被定义为 Static 类型,则该过程中的局部变量都是 Static 类型B.Sub 过程中不能嵌套定义 Sub 过程C.Sub 过程中可以嵌套调用 Sub 过程D.事件过程可以像通用过程一样由用户定义过程名8.从键盘上输入两个字符串,分别保存在变量 str1、str2 中。确定第二个字符串在第一个字符串中起始位置的函数是( )A.Left B.Mid C.String D.Instr9.以下能够触发文本框 Change 事件的操作是( )A.文本框失去焦点 B.文本框获得焦点C.设置文本框的焦点 D.改变文本框的内容第 7 页 共 23 页 10.假定有一个菜单项,名为 MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为( )A.MenuItem.Enabled=False B.MenuItem.Enabled=TrueC.MenuItem.Visible=True D.MenuItem.Visible=False11.为了使用通用对话框进行打开文件的操作,应将通用对话框的 Action 属性设定为( )A.0 B.1 C.2 D.312.为了检测到用户按下键盘上的所有键,应该使用的键盘事件为( )A.KeyPress B.MouseDown C.KeyDown D.MouseUp13.用于从内存删除窗体的命令是( )A.Move B.Hide C.Unload D.Delete14.用于设置文件列表框控件显示文件类型的属性是( )A.Filter B.Path C.Partern D.FileName15.用于返回窗体可用区域宽度的属性是( )A.ScaleWidth B.ScaleLeft C.ScaleHeight D.ScaleTop三、读程序题1.分析以下程序,写出运行结果。第 8 页 共 23 页 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 Sub2.读下面的程序,分析其功能,写出运行结果。在窗体上有一个命令按钮,名称为 Command1。然后编写如下程序:Private Sub Command1_Click()For I = 1 To 4For J = 0 To IPrint Chr$(65 + I);Next JPrintNext IEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么?3.阅读下面的程序,写出执行结果。第 9 页 共 23 页
文档格式: docx,价格: 5下载文档
返回顶部