1、第一章1 从功能上讲,Visual Basic 6.0有3种版本,即:学习版、专业版、企业版2 与传统的程序设计语言相比,Visual Basic最突出的特点是事件驱动编程机制。3 Visual Basic 6.0集成环境的主窗口中含有标题栏、菜单栏、工具栏 4 用标准工具栏中的工具按钮不能执行的操作是打印源程序。5 关于Visual Basic方法的概念错误的是方法是对事件的响应6 在Visual Basic中,称对象的数据为属性7 Visual Basic应用程序可以用解释方式执行也可以用编译方式执行第二章1 计时器控件的Interval属性用于设置Timer事件发生的时间间隔,为了暂时关
2、闭计时器,应把该计时器的Enabled属性设置为False ,如果要求设置定时器时间间隔为1秒钟,那么它的Interval属性值应该等于10002 利用Ctrl + G操作可以打开立即窗口 。3 假定窗体上有一个标签,名为Lable1。为了使该标签透明并且没有边框,则正确的属性设置为 :Lable1.BackStyle = 0 Lable1.BorderStyle = 04 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是代码窗口5 在Visual Basic中,窗体文件的扩展名为FRM6 窗体的Name属性指定窗体的名称,用来标识一个窗体7 改变控件在窗体中的上下位置,应修改该控件的属性
3、是Top8 表示滚动条控件取值范围最大值的属性是Max9 如果要改变窗体的标题,则需要设置的属性是Caption10 在文本框(Text)中,通过ForeColor属性来设置字体颜色 11 若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置Passwordchar属性值为*12 能够改变复选框中背景颜色的属性是Backcolor13 图片框是不具有Picture属性的对象14 窗体的Name属性指定窗体的名称 ,用来标识一个窗体15 要想返回文本框中输入的内容则可利用text属性进行编程 第三章1 用于从字符串左边截取字符的函数是Left( ),设a=Visual
4、 Basic,使b=Basic的语句是b=Left(a,8,5)。2 下列符号中哪个是VB程序中合法的变量名:A?ab7 B?7ab C?If D?a*bc (A) 数字开头, 关键字 ,*3 X是小于100的非负数,用VB表达式表达正确的是0=X and Xb)Or(b0)值为真。5/5.25 为1如果除数与被除数不是整数时,系统会自动对其进行取整运算,取整是有规律的:如果整数部分为偶数,大于0.5的就进位,小于等于0.5的就直接把小数去掉,5舍6入;如果整数部分为奇数,4舍5入。 例如: 52.5等价于52 52.6等价于53 52.4等价于52 5.43等价于53 51.5等价于526
5、函数String(n,str)的功能是返回由n个字符组成的字符串7 设有如下声明: Dim X As Integer 如果Sgn(X) 的值为-1,则X的值是小于0的数Sgn(3-5)=-1 Sgn(5-3)=18 Integer类型的数据由2字节组成,Long类型的数据由4字节组成。9 已知XY,AB,正确表示它们之间关系的式子是Sgn(Y-X)-Sgn(A-B)=-2 10 在一个有逻辑运算算术运算及关系运算混合在一起的表达式(无括号)中,其运算顺序为以下合法的Visual Basic标识符是那些:A?ForLoop B? Const C?9abc D? a#x A通常所说的变量名11 能
6、正确表示条件整型变量x值是大于等于-5并且小于等于5的逻辑表达式-5=x and xb Eqv ca的值为真Eqv 相同为true 相反为false 设S=中华人民共和国,表达式Left(S,1)+Right(S,1)+Mid(S,3,2)的值为中国人民表达式2*42-2*6/3+32的值是29表达式52 Mod 2522的值是1 13 VB算术运算符乘或除、整除、求余的优先级,从高到低依次为乘或除、整除、求余14 获得系统日期的函数是date()15 数学式子sin30写成VB表达式是:?Sin(30*3.14/180) 16 在Visual Basic的立即窗口内输入以下语句X65?Chr
7、$(X) 在窗口中显示的结果是 _A_17 计算下列表达式的值表达式93?Mod?22的值是_1_。 表达式Len(123程序设计ABC)的值是_10_。 Int(198.555*100+0.5)/100的值是_198.56_。 (123445)左取4位1234 中取4位开始2位18 数学关系3x10表示成正确的VB表达式为 3=x?And?x=3?and?x=0anda+cb+3ORNOTd的值是_ False _。第四章1 VB中可用MsgBox语句产生一消息框。 2 VB提供了结构化程序设计的三种基本结构,三种基本结构是:选择结构或循环结构或顺序结构3 InputBox函数返回值的类型为
8、字符串。J下列语句正确的是 (C)A If AB Then Print A不等于B B If AB Then Printf A不等于BC If AB Then Print A不等于B D If AB Print A不等于B4 在Do UntilLoop循环中,判断循环表达式与结束循环的关系是先判断循环表达式,当表达式值为真时结束循环5 在While循环中,判断循环表达式与结束循环的关系是先判断循环表达式,当表达式值为真时执行循环体6 设a=6,则执行x=IIf(a5,-1,0)后,x的值为1If a5 then A=-1Else A=0endif7 要使下列For语句循环执行20次,循环变量的
9、初值应当是多少? Fork=_1_To-5Step-2 参考答案 1:33 N=(终值-初值)/2+18 以下语句的输出结果是: Print Int(12345.6789*1000.5)/100 参考答案 123459 给出下列程序运行的结果(1) x=5 y=-6 If Not x0 Then x=y-3 Else y=x+3 Print x-y; y-x 结果 -3 3(2)J 1=4 J2=9 If J1J2 Then Print J2 Else Print J1 结果为9 (3)执行以下程序段后,变量c $ 的值为 (Quick BASIC Programing )a $ = Visu
10、al Basic Programingb $ = Quickc $ = b $ & Ucase (Mid $ (a $,7,6) & Right $ (a $,11) (4)以下语句的输出结果是032,548.50。Print Format $ (32548.5, 000,000.00)(5) 在窗体(Name属性为Formal)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程: Private Sub Command1_Click() A = Text.Text + Text2.Text Print a E
11、nd Sub Private Sub Formm_Load() Text1.Text = Text2.Text = End Sub 程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为 123321。(6 )阅读下面的程序段: For I = 1 To 3 i=1 i=2 i=3 For j = 1 To I j=1to1 j=1to2 j=1 to 3 For k = j To 3 k=1to 3 k=1to3k=2to3 k=1to3 3 A=A+1 a=3 a=3+3+2 k=2to3 2 Next k k=3to3
12、 1 Next j a=8+3+2+1 Next I执行上面的三重循环后,a的值为_14 _。(7) 在窗体上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(其Name属性为Command1),然后编写如下的事件过程:Private Sub Command1_Click()X = 0Do While x b c后,窗体上显示的是False(9) 在窗体上画一个名称为Commandl的命令按钮,然后编写如下程序:Private Sub Command1_Click() Static X As IntegerStatic Y As Integer Cls Y=1Y=Y+5
13、X=5+X Print X,Y End Sub程序运行时,三次单击命令按钮Commandl后,窗体上显示的结果为15 6 Static无法释放x=5+5+5 y=1+5(10) 设有语句x=InputBox(输入数值,0,示例) 程序运行后,如果从键盘上输入数值10并按回车键,变量X的值是字符串10(11) 在窗体上有一个文本框控件,要求每一秒钟在文本框中显示一次当前名称为TxtTime:一个计时器控件,名称为Timerl 的时间。程序为: Private Sub Timer1_ ( ) TxtTime.text=Time End Sub 在下划线上应填入的内容是Timer (12)假定有以下
14、程序段: For i=1 To 3 3-1/1+1=3 For j=5 To 1 Step -1 1-5/-1+1 Print i*j 3*5 Next Next 则语句Print i*j的执行次数是15(13)以下程序段的输出结果为(4)x=1y=4Do Until y4x=x*yy=y+1LoopPrint x(14)在窗体上面画一个文本框 ,然后编写如下事件过程:Private Sub Form_Activate()Text1.Text= Text1.SetFocusFor i=1 to 10Sum=Sum+iNextText1. Text=SumEnd Sub 上述程序的运行结果是55
15、 首相加末项*项数/2(15)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()For n = 1 To 20If n Mod 3 0 Then m = m + n 3Next nPrint nEnd Sub程序运行后,如果单击命令按钮,则窗体上显示的内容是(21)(16)设有如下程序:Private Sub Command1_Click()Dim sum As Double, x As Doublesum = 0n = 0For i = 1 To 5x = n / in = n + 1sum = sum + xNex
16、tEnd Sub 该程序通过For循环计算一个表达式的值,这个表达式是(1/2+2/3+3/4+4/5)(17)下面程序运行后,窗体(Form1)中输出的结果是(TrueTrue)Private Sub Form_Load()Form1.AutoRedraw=True 设置form1让他显示结果X=3:y=5Print x=3;y=5 x是否=3 (18)下面程序执行的结果是(579)Private Sub Command1_Click()A=123:b=456C=Val(a)+Val(b) 2边是数字则做加法Print cEnd Sub (19)若i的初值为8,则下列循环语句的循环次数为(5
17、)次 同样可以用公式:(终值-初值)/步长+1 Do While i8 then y=x2+1: ifx2=9theny=x2-2: ifx2=3) 是否为素数,请补充完整。Dim n As Integern=InputBox(请输入一个整数(=3) ) k=Int(Sqr(n) ) i=2swit=0While i =k And swit=0If n Mod i=0 Then_1_Else :参考答案1.swit=0 2.swit=1_2_ End IfloopIf swit=0 ThenPrint n; 是一个素数。ElsePrint n; 不是一个素数。End If 2. 下面程序是用来
18、打印九九乘法表的,请补充完整。Dim i As Integer, j As Integer, Str1$Str1=For i=1 To 9For j=1 To 9If_1_ThenStr1=Str1 + Str$(j) + + Str$(i) + = + Str$(Val(i j) ) ElseStr1=Str1 & Chr(13) _2_End IfNext jNext iPrint Str1 参考答案 1:ji3. 下面程序的功能是产生10个小于100(不含100) 的随机正整数,并统计其中5的倍数所占比例,但程序不完整,请补充完整。 Sub PR() Randomize Dim a(10
19、) For j=1 To 10 a(i) =Int( _1_) If _2_ Then k=k + 1 Print a(j) Next j Print Print k / 10 End Sub 参考答案 1:(99 * Rnd)+ 1 2:a(j) Mod 5 = 04. 以下程序的功能是从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。请补充完整下列程序段。 Dim x, amax, amin As Single x=InputBox(Enter a score) amax=x amin=x Do While_1_If x amax Then amax
20、=x End If If_2_Then amin=x End If x=InputBox(enter a score) Loop Print max=; amax, min=; amin 参考答案 1:x0 2:xamin5. 在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click() x=0Do Until x=-1a=InputBox(请输入第一个数字a的值) a=Val(A) b=InputBox(请输入第二个数字b的值) b=Val(b) x=InputBox(请输入第三个数字x的值) x=Val(x) a=a + b + xLoopPrin
21、t aEnd Sub在程序运行后,单击命令按钮,在对话框中分别输入5,4,8,5,8,-1,输出结果为 _1_. 参考答案 1:126. 下列程序的功能是:当x100时,没有意义。请填空。Private Sub Command1_Click() Dim x As Singlex=InputBox(请输入x的值!) _1_Case Is =Len(s) _1_If n Mod 8 0 Then st=st &Mid(s,n,1) Else st=st & Mid(s,n,1)List1.AddItem st_2_End IfLoopEnd SubPrivate Sub Command2_Clic
22、k()Dim s As String, st As String, i As IntegerFor i=0 To_3_st=List1.List(i)For j=1 To Len(st)s=Mid(st,j,1) & sNext jFor j=Len(s) To 1 Step-1n=_4_ Next jText2=Text2 & Chr(n)s= _5_ Next iEnd Sub 参考答案 1: n=n+1 2: st= 3: List1.Listcount 4:n+2(j-1) 5: n=010 下面程序的功能是,找出100以内所有可以表示成3个连续自然数之和的数。完善程序,实现以上功能。
23、 (难) Option ExplicitPrivate Sub Command1_Click()Dim I As Integer, N As IntegerDim Js As Integer, S As StringFor I =1 To 100If Fun(I,N,Js)ThenS=Str(I) & = & NDo _1_N=N+1S=S & + & NLoopList1.AddItem SEnd IfNext IEnd SubPrivate Function Fun(L As Integer, M As Integer, Js As Integer) As BooleanDim I As
24、Integer, _2_ K=0 _3_ Do While Sum L And K 3K=K+1Js=Js+1Sum=Sum+JsLoopIf_4_henM=IFun=True E xit For Exit ifNext IEnd Function 参考答案 1:while n=js-1 2: Sum=0 3:Js=i-1 4:k=3 And Sum=L一、判断题 (每题 1 分,共 10 分)( )1. 由Visual Basic语言编写的应用程序有解释和编译两种执行方式。( )2. 文本框控件的MaxLength属性值为0时,在文本框内不可以输入任何字符。( )3. 要使输入文本框的字符始
25、终显示“#”,则应修改其PasswordChar属性为“#”。 ( )4. 在一个窗体中不能使用Unload来卸载本窗体,即一个窗体只能由其它窗体卸载。( )5. VB的Double类型数据,可以精确表示其数值范围内的所有实数。( )6. 在图片框中添加的控件,其Top和Left属性值是相对图片框而言的,与窗体无关。( )7. 命令按钮不但能响应单击事件,而且还能响应双击事件。( )8. 在自定义函数过程中,函数名必须被赋值。( )9. 文本框控件只能响应KeyPress、KeyDown、KeyUp、Change事件。( )10. 如果一个菜单项的Visible属性为False,则它的子菜单也
26、会显示。二、单选题 (每题 2 分,共 20 分)( )11. 要改变控件的高度,应修改控件的_属性。 A、Top B、 Left C、 Height D、Width ( )12. VB算术运算符乘或除、整除、求余的优先级,从高到低依次为_。A、乘或除、求余、整除 B、乘或除、整除、求余C、整除、求余、乘或除D、整除、乘或除、求余( )13. 下列哪个属性用来表示标签(Label)的内容和窗体(Form)的标题_。 A、Caption B、Text C、Left D、Name( )14. 判断整型变量m能否被n整除的VB表达式为_。A、n Mod m=0 B、m/n*n=m C、m Mod n
27、 D、mn*n=m( )15. 选中复选框控件时,Value属性的值为_。 A、True B、False C、0 D、1( )16. 在窗体Form1的一个事件过程中,使用_来清除窗体上所绘制的图形的方法是不正确的。 A、Form1.Cls B、Form.Cls C、Me.CLS D、Cls( )17. 设计动画时通常用时钟控件_属性来控制动画速度。 A、Interval B、 Timer C、 Move D、 Enabled( )18. 使用Circle方法不可以绘制的图形是_。A、圆角矩形 B、椭圆 C、圆饼图 D、扇形( )19. 运行时组合框控件Comb1中所选择的表项,可以表示为_。
28、 A、Comb1.Text B、Comb1.ListIndex C、Comb1.List D、Comb1.ListCount( )20. 若i的初值为9,则下列循环语句的循环次数为 _次。 Do While ia(j) Then m=a(i) (23) a(j)=m Next jNext i For i=1 To 30 If (24) Then (25) Next iEnd Sub(21) (22 ) (23 ) (24 ) (25 ) 2【程序说明】下列程序运行时,单击Command1(0)后,图片每秒自动左移1毫米,单击Command1(1)停止移动(当图片尾部移出窗体后,图片从窗体右端进
29、入窗体)。界面设计如下图1所示。图1 程序2的界面设计【程序】 Private Sub Command1_Click(Index As Integer) If Index=0 Then (26) Else Timer1.Enabled=False End Sub Private Sub Form_Load() Timer1.Interval = (27) Form1.ScaleMode = 6 (28) End Sub Private Sub Timer1_Timer() Picture1.Left = (29) If Picture1.Left + Picture1.Width = Form1.