VB综合复习题.doc
综合复习题一、选择题1. 以下叙述中,错误的是_。A. VB是事件驱动型可视化编程工具B. VB窗体文件包含该窗体及其控件的属性,窗体级的常量、变量的定义等C. VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属性D. VB中控件的某些属性只能在运行时修改2以下说法中,错误的是 。A. 方法是构成对象实体的一个部分B. 方法是一种特殊的过程或函数C. 调用方法的一般格式是:对象名.方法名 参数D. 图片框和列表框均可执行Cls方法3以下叙述中,错误的是 。A在VB中,对象所能响应的事件是由系统定义的B对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定CVB中不同对象可具有名称相同的方法DVB中的对象具有自己的属性4在Visual Basic中,每个对象一般都能感知和接收多个不同的事件,并能对这些事件作出响应,其响应方式就是通过调用执行一个与之相对应的 来实现的。A事件过程 B通用过程C主程序 DSub Main过程5下列选项中,不能使控件获得焦点的操作是 。A在程序运行期间,用鼠标单击对象B在程序运行期间,用快捷键选择对象C在程序运行期间,用Tab键D在程序运行期间,用Enter键6以下合法的VB标识符是 。 AForLoop BConst C9abc Da#x7下面四组均为正确的VB常量是 。A. 3276,123.56,1.2E-2,#True# B. -32768,1.34D2,"ABCDE",25!C. &HABCE,02-03-2002,False,D-3DABCDE,#02-02-2002#,E-28下列表达式中,值为True的是 。A3<2<1BUcase("vb")>=Lcase("VB")CMid("vbprogram", 2, 2) > Left("vbprogram", 2)D14 / 2 3 > 10 Mod 49以下表达式的值为True的是_。A. Str(23.45)=Trim(" 23.45")B. Sgn(7 Mod 3 - 4)+ "-0.25" = -1.25C. Fix(3.5)+Cint(2.5)=6D. "it is true" = "It is true "10以下关系表达式中,其值为False的是 。 A"VISUAL" = UCase("Visual") B"the" <> "they" C "ABC" > "AbC" D"Integer" > "Int"11设a=2, b=3, c=4, 下列表达式的值是 。Not a<=c Or 4*c=b2 And b<>a+cA-1 B1 CTrue DFalse12数学表达式|e3+lnX+arctgY|对应的VB表达式是 。AAbs(e 3 + Log(X) + 1 / Atn(Y)BAbs(Exp(3) + Log(X) / Log(10) + Atn(Y)CAbs(Exp(3) + Log(X) + 1 / Atn(Y)DAbs(Exp(3) + Log(X) + Atn(Y)13数学表达式,对应的VB算术表达式为_。A. (12*x+5*y-Sqr(Abs(d3-m2)/Exp(-x)/Sin(x)B. (12*x+5*y-Sqr(Abs(d3-m2)/Exp(-x)*Sin(x)C. (12*x+5*y-Sqr(Abs(d3-m2)/Exp(-x)/Sin(x)D. (12*x+5*y-Sqr(Abs(d3-m2)/e(-x)/Sin(x)14表达式4+56*7/8的结果为_。A. 4 B. 5 C. 6 D. 715只能用于除去字符串右侧空格的函数是 。ARightTrim BRTrim CTrim DRLTrim16执行语句 Print Sgn(Fix(3.1) + Int(-3.1) ,在窗体上输出的结果是 。A1 B0 C-1 D617下列语句不能正常执行的是 。APrint 20 + 5 = 25 BPrint "11" + 11CPrint 11 & 11 DPrint 32700 + 10018设x=12,y=10,z=8,执行语句Print x < y < z后,窗体上显示的是_。A. True B. False C. -1 D. 出错信息19执行下面语句的正确显示结果是_。 Print Format(+2004.601, "+#,#.0000")A. +2,004.601 B. +#2,004.601 C. #2,004.6010 D. +2,004.601020在某过程中已说明变量a为整型、变量s为字符型,过程中的以下四组语句不能正常执行的是 。A. s = 2 * a + 1 B. s = "237" & ".11" : a = sC. s = " True " D. a = 2 : s = 16400 * a21在某事件过程中,以下声明语句正确的是_。A. Const eps As SingleB. Dim ivar = "ABC"C. Dim n As Integer, a(1 to n) As IntegerD. Static m As Integer22关于窗体Name属性的叙述,正确的是 。A窗体Name属性的属性值必须通过属性窗口进行设置B窗体Name属性的属性值最长可达255个字符C窗体Name属性的属性值不能与其它的控件对象的Name属性的属性值相同D窗体Name属性的属性值可以通过赋值语句来给它赋值23确定一个控件在窗体上的位置的属性是 。AWidth 和Height BWidth 或HeightCTop和Left DTop或Left24关于窗体的Load语句和Show方法,下列说法正确的是 。ALoad和Show的功能一样,都是将指定的窗体装入内容,同时显示出来BLoad和Show的功能一样,都是将指定的窗体装入内容,但都不显示出来CLoad和Show都能将窗体装入内存,但前者不显示出来,而后者显示出来DLoad和Show都能将窗体装入内存,但前者显示出来,而后者不显示出来25以下能够触发文本框Change事件的是_。A. 文本框失去焦点 B. 文本框获得焦点C. 清空文本框原有的内容 D. 文本框设置焦点26在窗体上有一文本框(名称为Text1),有如下代码:Private Sub Form_Click()Text1.SelStart = 5: Text1.SelLength = 3: Text1.SelText = "hello"End Sub 运行该程序在文本框中输入:this is a book。然后单击窗体,在文本框中将显示_ _。A. this is a book B. thishello a bookC. this hello a book D. this helloa book27设窗体上有一个文本框Text1,程序运行后,要求该文本框只能显示信息不能接收输入的信息,以下能实现该功能的语句是 。AText1.Locked = True BText1.Enabled = True CText1.Visible = True DText1.TabStop = True28在窗体上有两个文本框Text1和Text2,若希望在Text1中输入字符时,该字符也将出现在Text2中,要实现该功能,则必须在文本框Text1的 事件中书写代码。AClick BGotFocus CLostFocus DChange29在窗体上画一个文本框,然后编写如下事件过程: Private Sub Form_Click() x = InputBox$("请输入一个整数") Print x + Text1.Text End Sub程序运行时,在文本框中输入456,然后单击窗体,在输入对话框中输入123,单击“确定”按钮后,则在窗体上显示的内容是: 。A. 123 B. 456 C. 579 D. 30窗体上有一个标签Label1,假设已存在三个整型变量a、b和c,且变量a 、b和c的值分别为1、2和3。以下的_语句可以使标签内显示的内容为:3=1+2 A. Label1.Caption = c = a + b B. Label1.Caption = "c=a+b"C. Label1 = c & "=" & a & "+" & b D. Label1.Print c & "=" & a & "+" & b31下列语句中,结果与Print "M"Tab(15); "ABC" 输出相同的是 。APrint "M"spc(14); "ABC" BPrint "M","ABC"CPrint "M"spc(12); "ABC" DPrint "M"Tab(14); "ABC"32下列语句不能正确执行的是 。APrint "a"+"b" BPrint 123+"42b" CPrint 12<45 DPrint 12 & 4533执行如下两条语句后,窗体上显示的是 。 A=9.8596 Print Format(A, "$0,000.00")A 0,009.86 B$9.86 C9.86 D$0,009.8634下列控件中,具有Caption属性的是 。A文本框 B复选框 C滚动条 D列表框35下列选项中(其中对象的Name属性值均为默认值),控件的属性值既能在设计时设置,又能在运行时通过赋值语句改变的是 。AList1.Name BText1.MultiLineCCommand1.Style DLabel1.Visible36为了在按下ESC键时执行某个命令按钮的Click事件过程,需要把该命令按钮的 属性的值设置为True。AValue BDefault CCancel DEnabled37下列有关单选钮、复选框和框架的说法中,错误的是 。A框架中的单选钮和复选框将随框架一起移动、显示和消失;B若要在框架中创建单选钮,只需将窗体上的单选钮拖到框架中即可;C框架的主要功能是用于对窗体上一些对象的分组,以便提供视觉上的区分;D对于框架中的单选钮来说,它的操作不会影响框架外单选钮的操作。38以下关于复选框的说法,正确的是_。A. 一个窗体上的所有复选框一次只能有一个被选中B. 一个框架中的所有复选框一次只能有一个被选中C. 若选中一个复选框,则另一个已被选中的复选框自动变为不被选中D. 无论是在框架中还是在窗体中,都可以同时选中多个复选框39若需要在同一窗体内安排两组相互独立的单选钮( OptionButton ),可使用 _ 控件将它们分隔开。 TextBox PictureBox Image Frame 40对时钟控件来说,它不具有的属性是 。AInterval BVisibleCEnabled DName41为使计时器控件每隔3秒钟产生一个计时器事件(Timer事件),则应将其Interval属性的值设置为_。A3 B300 C 3000 D180 42如图1所示,在窗体中创建了框架、单选钮和命令按钮(其中对象的Name属性值均为默认值),图中“公共基础课”字样的内容,是通过 语句来实现的。AFrame1.Caption="公共基础课"BForm1.Caption="公共基础课"COption1.Caption="公共基础课"DCommand1.Caption="公共基础课"43在使用菜单编辑器设计菜单时,必须设置的菜单项属性是 。 A. Index B. Name C. Checked DVisible44在用菜单编辑器设计菜单时,必须输入的是_。A. 标题 B. 名称 C. 快捷键 D. 热键45下列选项中不属于结构化程序设计的基本结构的是 。A顺序结构 B选择结构 C循环结构 D递归结构46下面关于赋值语句的说法中,错误的是 。A一个赋值语句只能给一个变量(或对象的一个属性)赋值B赋值语句是一种顺序语句C当赋值语句中变量的数据类型与表达式的数据类型不一致时,该语句一定会出错D赋值语句中出现两个“=”号时,系统会根据“=”所处的位置自动判断符号的意义。47如图2所示,Inputbox函数的参数中“提示信息”的值是 。A输入你的学号B信息输入框CD确定 48若要在窗体上弹出一个输入信息对话框,其标题为"输入对话框",提示信息为"请输入您的姓名",缺省信息为空,对话框在屏幕上显示位置的x坐标和y坐标均为100,则使用正确的InputBox函数是_。A. InputBox("请输入您的姓名","输入对话框",100,100)B. InputBox("请输入您的姓名","输入对话框",100,100)C. InputBox("输入对话框","请输入您的姓名",100,100,)D. InputBox("输入对话框","请输入您的姓名",100,100)49通用对话框的Action属性决定了通用对话框在运行阶段打开何种类型的对话框,当Action属性值为1时,其与之对应的方法是 。AShowSave BShowOpen CShowColor DShowFont50在Select Case X结构中,如果60X69是其中的一个判断条件,则正确描述的测试项应该写成 。A. Case 60 <= X <= 69 B. Case X>=60 And X <= 69 C. Case 60 To 69 D. Case Is <= 69, Is >=60 51若选中单选钮Opt1时执行某个操作,则下列IF语句中条件表达式表述不正确的是 。AIf Opt1 = True Then BIf Opt1.Value = 1 ThenCIf Opt1 Then DIf Opt1.Value = -1 Then52在Select Case X结构中,如果5X10是其中的一个判断条件,则正确描述5X10的测试项应该写成 。A. Case 5 <= X <= 10 B. Case 5 <= X, X <= 10 C. Case 5 To 10 D. Case Is <= 10, Is >= 5 53现有语句: y = IIf(x > 0 , x 5, 0) 设x = 10,则y的值是 。A10 B2 C0 D语句有错 54阅读以下程序,运行该程序,单击窗体,则在窗体上显示 。Private Sub Form_Click()Dim i As IntegerFor i = 1 To 5 i = i + 1Next iPrint iEnd SubA.5 B.6 C.7 D.855执行下面的程序,当单击窗体时,窗体上显示的是_。Private Sub Form_Click() Dim I As Integer, s As Integer For I = 5 To 32 Step 9 s = s + I Next I s = s + I Print s, IEnd SubA. 74 32 B. 74 41 C. 115 41 D. 115 3256下面的循环语句中,不可以采用 来求1到100的和。ASum = 0 BSum = 0For I = 1 To 100 For I = 100 To 1 Step -1 Sum = Sum + I Sum = Sum + I Next I Next ICI = 1 DI = 1Do Do Until I > 100 Sum = Sum + I I = I + 1I = I + 1 Sum = Sum + I Loop While I <= 100 Loop57以下关于数组的说法中,错误的是_。A. 可用Public语句在窗体模块的通用说明处定义一个全局数组。B. 对数组的输入输出处理常常和循环结合在一起使用。C. 控件数组可以在设计时创建,也可以在运行时创建。D在过程中用ReDim语句定义的动态数组,其下标的上下界可为赋了值的变量。58对动态数组A(),若原数组为A(5),要改变其维界为A(10),同时还要保留原数组的数据不丢失,应使用 语句进行重新定义。A. Dim A(10) B. ReDim Preserve A(5 To 10) C. ReDim Preserve A(10) D. ReDim A(10)59下面关于Array函数的说法错误的是 。AArray函数可以给定义为变体类型的动态数组赋值BArray函数可以给任意维的数组赋值CArray函数可以给定义为变体类型的变量赋值DArray函数只能给一维数组赋值60下面定义数组的语句中错误的是 。ADim a(x-10) BDim f(3,1 To 4) CDim m( ) As Single DStatic b(0 To 5) As Long 61下列有关控件数组的说法中,错误的是 。A. 控件数组可以在设计时创建,也可以在运行时创建B. 命令按钮可以和标签组成控件数组C. 控件数组通过索引号来指定某个控件元素D. 控件数组具有相同的名称,共享同样的事件过程62假定一个VB应用程序由一个窗体模块和一个标准模块构成。为了保存该应用程序,以下正确的操作是 。A只保存窗体模块文件B分别保存窗体模块、标准模块和工程文件C只保存窗体模块和标准模块文件D只保存工程文件63以下叙述中错误的是 。A打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件B当程序运行时,双击一个窗体,则触发该窗体的DblClick事件CVB应用程序只能以解释方式执行DVB中有的事件可以由用户引发,有的事件也可以由系统引发64如果一个工程含有多个窗体及标准模块,则以下叙述中正确的是_ 。A如果工程中含有Sub Main过程,则程序一定首先执行该过程B可以把标准模块设置为启动模块 C用Hide方法只是隐藏一个窗体,并没有从内存中卸载该窗体D要用Show方法来显示一个窗体时,该窗体必须已在内存中65编写一个对Single类型一维数组a排序的Sub过程,该过程只能被本模块中其他过程所调用,其首句为 。A. Sub f(a() As Single, n As Integer) B. Private Sub f(a() As Single)C. Private Sub f(a As Single, n As Integer)D. Public Sub f(a() As Single)66若某过程声明为Sub g(n as Integer),调用程序中的变量m为Integer型,则调用时实参与形参是按地址传递的为 。A. Call g(5) B. Call g(m+1) C. Call g(m) D. Call g( m )67有如下事件过程:Private Sub Command1_Click() Static n As IntegerDim m As Integer Cls For m = 1 to 3 n = m + n Next m Print m, nEnd Sub程序运行时,两次单击Command1命令按钮后,窗体上的显示结果为_ _。A. 3 6 B. 3 12 C. 4 6 D. 4 1268在窗体Form1中用"Public Sub F(x As Single)"定义过程F,在窗体Form2中定义了变量i为Integer型,则若要在窗体Form2的某事件过程中调用窗体Form1中的过程F,下列语句中错误的是_。A. Call Form1.F(i) B. Call Form1.F(i) C. Form1.F (i) D. Form1.F i+169若要定义一个变量,希望能够在该窗体的所有事件过程中都能够访问,可以将其定义为_。静态变量 局部变量 窗体/模块级变量 全局变量A. B. C. D. 70在窗体上有一个名称为Commandl的命令按钮,然后编写如下程序:Private Sub Commandl_Click()Static n As IntegerDim m As IntegerClsm = 2m = m + 5n = m + nPrint m, nEnd Sub程序运行时,三次单击Commandl命令按钮后,窗体上的显示结果为_。A. 7 21 B. 21 7 C. 7 14 D. 7 771在窗体(Name属性为Form1)上画两个文本框(Name属性分别为T1和T2)和一个命令按钮(Name属性为C1)。单击命令按钮C1后在窗体上输出的结果为 。Private Sub C1_Click() s = T1.Text + T2.Text Print sEnd SubPrivate Sub Form_Load() T1.Text = 234 T2.Text = 432End SubA666 B C D出错72现有一自定义的Sub子过程Private Sub Sort(A() As Integer),主调过程中对数组的定义语句为Dim m(10) As Integer,下列选项中不能正确调用该子过程的语句是 。ASort m BCall Sort(m) CCall Sort(m(10) DSort m()73以下关于变量的作用域的说法中正确的是 。Private X As IntegerPrivate Sub Form_Load() Dim X As Integer Show X=2 Print X End Sub A窗体的“通用声明”处声明的X的值2 B两个变量的值都是2CLoad事件过程中声明的X的值2 D两个变量的值都不是2 74下列控件中,具有Caption属性的控件是 。A滚动条 B列表框C计时器 D框架75将字符串"I like VB"添加到列表框的最后,可使用_语句。A. List1.AddItem "I like VB",List1.ListCount-1 B. List1.AddItem "I like VB",List1.ListCount+1C. List1.AddItem "I like VB",List1.ListIndexD. List1.AddItem "I like VB" 76关于列表框的Text属性,下列 所描述的含义与List1.Text等价。AList1.List BList1.ListIndexCList1.List(List1.ListIndex) DList1.List(ListIndex)77输出列表框(List1)最后一个数据项可以使用 。APrint List1.List(List1.ListCount) BPrint List1.List(List1.ListCount - 1)CPrint List1.List(ListCount) DPrint List1.List(ListCount - 1)78要将一个组合框设置为简单组合框,则应将其Style属性设置为_。A0 B1 C2 D379下列关于改变滚动条Value属性值的方法,错误的是 。A单击滚动条两端的三角钮可以改变其Value属性值;B可以通过赋值语句来改变滚动条的Value属性值;C单击滚动条滑块两端的空白处可以改变其Value属性值;D单击滚动条上的滑块可以改变其Value属性值。80滚动条控件的LargeChange属性所设置的是_。A. 单击滚动条上空白区域时,滚动条控件Value属性值的改变量B. 单击滚动条两端的箭头时,滚动条控件Value属性值的改变量C. 单击滚动条上空白区域时,滚动条上滑块将移动到Value属性的最大值位置D. 单击滚动条两端的箭头时,滚动条上滑块的最大移动范围81下列操作中,不能触发滚动条的Change事件的操作是 。A单击滚动条两端的箭头 B单击滚动条空白区域C通过程序对滚动条的value属性赋值 D单击滚动条上的滑块82在VB中,下列关于控件的属性或方法中,搭配错误的有 个。(1)Command1.Value (2)List1.Cls (3)Label1.Print (4)Timer1.Visible (5)VScroll1.Value (6)Picture1.Print(7)Option1.Value (8)Text1.ValueA3 B4 C5 D683在VB中,下列关于控件的属性或方法中,搭配错误的有 个。(1) Picture1.Print (2)Timer1.Height (3)Text1.Print(4)List1.RemoveItem (5)Vscroll1.Value (6) Command1.ValueA1 B2 C3 D484下列选项中,可以列出计算机中的所有驱动器的控件是 。A驱动器列表框 B目录列表框 C文件列表框 D列表框85在窗体上创建驱动器列表框Drive1和目录列表框Dir1,如果希望改变Drive1中的驱动器时,Dir1中显示的目录也随之变化,则在Drive1的Change事件中的代码正确的是 。ADir1.Path = Drive1.Path BDrive1.Drive = Dir1.PathCDir1.Path = Drive1.Drive DDrive1.Path = Dir1.Path86下列有关打开顺序文件的说法错误的是 。AFor模式中的Output选项可用来在磁盘上创建一个新的顺序文件。BInput选项用来从文件中读取。若该文件不存在,则创建一个文件。CAppend选项可用来打开一个新的顺序文件,文件打开后文件指针位于文件的末尾。D可以使用不同的文件号以Input方式打开同一顺序文件。87. 以下有关文件的说法中正确的是 。A打开文件命令中,所指定的文件号最大可取512 B在Input方式下,不能使用不同文件号同时打开同一个文件C若以Output或Append方式打开一个不存在的顺序文件,系统会出错D若以Input方式打开一个不存在的顺序文件,系统会出错88关于顺序文件的描述,下列说法中正确的是 。A可以用两个不同的文件号同时打开一个顺序文件来进行读操作或写操作;B使用Output模式打开一个顺序文件进行写操作时,如果文件已经存在,则用新的数据来取代原文件中的数据;C如果打开了一个顺序文件进行读操作,那么读操作结束后必须要用Close语句来关闭已打开的文件;D用Append模式打开一个文件进行写操作,如果文件不存在,则无法对该文件进行写数据,如果文件已经存在,则从末尾开始写数据。二、分析程序,写结果1. 运行下面的程序,当单击窗体时,窗体上显示的内容第一行是_(1)_,第二行是_(2)_。Private Sub Form_Click() Dim x As Integer, y As Integer Do x = x + 2 y = y + x * x If x > 4 Then Exit Do End If Loop Print x Print yEnd Sub2. 运行下面的程序,当单击窗体时,窗体上显示的内容第一行是_(3)_,第二行是_(4)_。Private Sub Form_Click()Dim a(3, 3) As Integer, i As Integer, j As Integer For i = 1 To 3 F