1、VB程序设计VB程序设计综合复习资料一、填空题1. 在VB中工程文件的扩展名是_,窗体文件的扩展名是_,标准模块文件的扩展名是_。2. 一个控件在窗体的位置由_和_属性决定,其大小由_和_属性决定。3. 变量的声明分为两种方法:_和_。4. 使用_方法可在窗体中进行文本的输出,用_方法可画圆,用_方法可画直线。5. 类是具有相同性质的对象的_。6. 利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和_属性为true,才能接受焦点。7. 文件按存取方式及其组成结构可分为_文件、_文件和_文件。8. 在VB中,用_语句设定数组的下界,用_和_语句分别返回数组的上、下
2、界。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. 在窗体上画两个名称分别为C
3、ommand1和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 iEnd Sub Private Sub Command2_Click() “求和”命令按钮For j=1 To 3 For i=1 To 2
4、 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. 窗体上放置了
5、若干个文本框和命令按钮,当窗体装入后,要将焦点自动定位到文本框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. 在标签控件中通过编程使文字
6、换行用的代码是_。27. 要使鼠标停留在按钮上显示特殊的鼠标形状,应设置的属性值是_。28. 设某列表框共有10项,按题目要求补齐程序,完成相应的功能。(1)按下命令按钮Command1时将列表框第8项的内容显示在窗体上:Private Sub Command1_Click( )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(
7、 )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 = Hscr
8、oll1._End Sub要使拖动滚动条滑块时标签内容能够反映滚动条的值,补齐以下代码。Private Sub Hscroll1._( )Label1.Caption = Hscroll1._End Sub30. 生成消息框的命令是_,生成输入框的命令是_。二、选择题1以下叙述中错误的是( )A事件过程是响应特定事件的一段程序 B不同的对象可以具有相同名称的方法 C对象的方法是执行指定操作的过程 D对象事件的名称可以由编程者指定 2以下合法的Visual Basic标识符是( )AForLoop BConst C9abc Da#x 3当一个复选框被选中时,它的Value属性的值是( )A3 B
9、2 C1 D0 4表达式 5 Mod 3+35*2的值是( )A0 B2 C4 D6 5设x=4,y=8,z=7,表达式xz) Or zx的值是( )A1 B-1 CTrue DFalse 6假定有以下程序段: For i=1 to 3 For j=5 to 1 Step 1 Print i*j Next j,i则语句Print i*j的执行次数是( )A15 B16 C17 D187以下叙述中错误的是( )A如果过程被定义为Static类型,则该过程中的局部变量都是Static类型BSub过程中不能嵌套定义Sub过程CSub过程中可以嵌套调用Sub过程D事件过程可以像通用过程一样由用户定义过
10、程名8从键盘上输入两个字符串,分别保存在变量str1、str2中。确定第二个字符串在第一个字符串中起始位置的函数是( )ALeft BMid CString DInstr9以下能够触发文本框Change事件的操作是( )A文本框失去焦点 B文本框获得焦点C设置文本框的焦点 D改变文本框的内容10假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用的语句为( )AMenuItem.Enabled=False BMenuItem.Enabled=TrueCMenuItem.Visible=True DMenuItem.Visible=False11为了使用通用对话框进
11、行打开文件的操作,应将通用对话框的Action属性设定为( )A0 B1 C2 D312为了检测到用户按下键盘上的所有键,应该使用的键盘事件为( )AKeyPress BMouseDown CKeyDown DMouseUp13用于从内存删除窗体的命令是( )AMove BHide CUnload DDelete14用于设置文件列表框控件显示文件类型的属性是( )AFilter BPath CPartern DFileName15用于返回窗体可用区域宽度的属性是( )AScaleWidth BScaleLeft CScaleHeight DScaleTop三、读程序题1分析以下程序,写出运行结
12、果。 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
13、= 0 To IPrint Chr$(65 + I);Next JPrintNext IEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么?3阅读下面的程序,写出执行结果。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
14、integern=1Do While na(n) n=n+1LoopFor m=20-1 To n Step 1 a(m+1)=a(m)Next ma(n)=xEnd Sub5分析以下程序,写出运行结果。Sub selectPrint()Dim a as IntegerDim b as IntegerDim c as Integera=2:b=5:c=2If(a=b)and(a=c) or (bc) Then Print aa=a+2ElsePrint bEndIfPrint a;b;cEnd Sub6阅读下面的程序,写出执行结果。Sub selectPrint() Dim a as Inte
15、ger Dim b as Integer Dim c as Integer a=3:b=3:c=2 If(a=b)and(ac)Then Print a Print a,b,cEnd Sub四、简答题1在程序设计中为什么尽量不用GoTo语句?2框架的作用是什么?3滚动条的change事件和scroll事件有什么不同?4颜色函数主要有哪些?3如何为一个菜单项设置热键和快捷键?4表达式23 And 44的值是什么?8为了防止文本框中的信息运行后被用户修改,应将什么属性设置为什么值?9如何在框架中建立控件?10逐语句和逐过程有什么区别?五、编程题(界面自行设计)1编程求任意两个正整数(利用两个文本框
16、输入)的最大公约数,并利用标签输出结果。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实现二
17、维数组(矩阵)转置。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。9. label1(i).caption、label2.caption 10. a(i,j) 、a(j,i) 、s11. 6。12. Form1.Hide。13. Command1.SetFocus。14. AutoSize。15. Sorte
18、d、Ture。16. Static。17. 0。18. Text1、TabIndex、019. False20. preserve21. 求x的绝对值22. 2.523. f24. rem、25. 变量、数组26. chr(10)27. mousepointer28. selected、text、list1.text、removeitem 2*i-1、x,2*i-129. change、value、scrol、value30. Msgbox、Inputbox二、选择题DACBD、ADDDA、BCCCA三、读程序题1、结果如下:B2、结果如下:BBCCCDDDDEEEEE3、结果如下:144、功
19、能如下:在20个由小到大排列的数据中插入一个数,插入数据后的数据仍按由小到大的顺序排列。5、结果如下:24526、结果如下:33 3 2四、简答题答案要点1、主要是为了结构化。2、框架主要是用作容器,可以实现多组单选按钮,并且可以美化界面。3、主要是用鼠标拖动滑块时对Value属性的影响不同。4、颜色函数主要有:RGB、QBColor。3、为一个菜单项设置热键时需要在相应字符前面加&,设置快捷键需要在菜单编辑器中选择。4、False。8、应将Locked属性设为True。9、先建立框架,然后再在其中建立控件。10、逐语句和逐过程的区别:前者进入过程内部,而后者不进入过程内部。五、编程题说明:只
20、要能完成指定的功能,界面怎么设计都行。也就是说,界面如何以及代码写在哪个事件中都没有关系,但前提是必须保证完成相应的功能。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
21、End IfEnd Sub2、参考程序如下:Private Sub sort(arraya() As Integer, n As Integer)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
22、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, d
23、elt, 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 b0 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.Ca
24、ption = 有两个相等的实根: 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)
25、 Text4.Text = x1= & realpart & + & imagpart & i 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 / 10Pri
26、nt 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 Text2.Text = 中等 ElseIf x 90 Then Text2.Text = 良好 Else Text2.Text = 优秀End IfEnd Sub7参考代码如
27、下: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 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 输出转置后的数组 P
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1