第一篇:VB程序设计练习题附加答案
《VB程序设计》综合复习资料
三、简答题
1、代码窗口主要包括哪几部分?
2、在工程资源管理器窗口中,主要列出了哪三类文件?
3、窗体布局窗口的主要用途是什么?
4、VB的基本特点是什么?
5、怎样理解可视化设计?
6、怎要理解事件驱动编程?
C.设置文本框的焦点 D.改变文本框的内容
2、应用程序设计完成后,应将程序保存,保存的过程是(d)
A.只保存窗体文件即可 B.只保存工程文件即可
C.先保存工程文件,之后保存窗体文件
D.先保存窗体文件(或标准模块文件),之后还要保存工程文件
3、VB应用程序的运行模式是(c)
A.解释运行模式 B.编译运行模式
C.两者都有
D.汇编模式
4、任何控件都具有的属性是(a)
A.TEXT B.CAPTION
C.NAME
D.FORECOLOR
5、决定控件上文字的字体、字形、大小及效果的属性是(D)
A.TEXT B.CAPTION
C.NAME
D.FONT
6、在窗体上建立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的(B)设置为0 A.INDEX B.TABINDEX
C.TABSTOP
D.ENABLED
7、运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的TEXT属性进行赋值从而改变了文本框的TEXT属性值时,将触发文本框的(A)事件
A.CLICK B.DBLCLICK
C.GOTFOCUS
D.CHANGE
8、在运行时,按TAB键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(B)
A.该控件的TABSTOP属性值为TRUE
B.该控件的TABINDEX属性值为FALSE C.该控件的ENABLED属性值为TRUE
D.该控件的ENABLED属性值为FALSE
9、为了防止用户随意将光标置于控件上,应(A)
A.将控件的TABINDEX属性设置为0 B.将控件的TABSTOP属性设置为TRUE C.将控件的TABSTOP属性设置为FALSE D.将控件的ENABLED属性设置为FALSE
10、若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的(D)属性
A.BACKCOLOR C.FORECOLOR
B.BORDERSTYLE D.BACKSTYLE
11、如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是(B)
A.文本框的MULTILINE属性值为TRUE B.文本框的LOCKED属性值为TRUE C.文本框的MULTILINE属性值为FALSE D.文本框的LOCKED属性为FALSE
12、在运行阶段,要在文本框TEXT1获得焦点时选中文本框中所有内容,对应的事件过程是(B)
A.Private Sub Text1_GotFocus()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub B.Private Sub Text1_LostFocus()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub C.Private Sub Text1_Change()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub D.Private Sub Text1_SetFocus()Text1.SelStart=0 Text1.Sellength=Len(Text1.Text)End Sub
13、Visual Basic继承了Basic语言简单易用的语法特点,同时支持面向对象的编程机制,其中构成其控件(对象)的三要素是(D)
A.属性、事件、事件过程
C.属性、过程、方法
B.控件、窗体、事件 D.属性、事件、方法
14、决定标签(Label)显示的属性是(C)
A.Text
B.Name
C.Caption
D.Alignment
15、命令按钮的标题文字由(B)属性来设置。
A.Text
B.Caption
C.Name
D.(名称)
16、若要设置文本的显示颜色,则可用(A)属性来实现。
A.BackColor
B.Forecolor
C.FillColor
D.Backstyle
17、在运行时,若要调用某命令钮的Click事件过程,则可设置该命令钮对象的()属性为Ture来实现。
A.Enabled
B.Value
C.Default
D.Cancel
18、在运行时,若要获得用户在文本框中所选择的文本,可通过访问()属性来实现。
A.SelStart B.SelLenght
C.Text
D.SelText
三、简答题
1、事件驱动的含意是什么?举例说明。
2、交互式开发方法和传统的应用程序开发过程有什么不同?
3、文本框在什么情况下使用?
4、什么是工程?
5、结构化程序设计的三种基本结构是什么?
6、对象的三要素是什么?并分别进行简单的解释。
7、为什么要生成可执行文件和制作安装盘?
8、使用变量前先声明有什么好处?
9、如何使用帮助功能?
10、结构化程序设计的特点是什么?
11、为了把焦点移到某个指定的控件,在代码中应使用的方法是什么?
12、启动Visua Basic后,只创建了一个窗体,若此时保存,需要保存几个文件?各是什么文件?先保存的是哪一个?
13、为了防止文本框中的信息运行后被用户修改,应设置什么属性?
1、一般可以使用__________关键字声明常量。
2、______类型也称变体类型,是一种通用的、可变的数据类型,它可表示或存储任何一种数据类型。
3、变量的声明分为两种方法:__________和____________。
4、在VB中,用___________________语句设定数组的下界,用_____________和__________________语句分别返回数组的上、下界。
5、在代码模块中加入Option Explicit的目的是_____________________。
6、function aa(a1 as date,optional a2 as boolean)as single,写出optional命令的作用__________________。
7、在VB中,我们用一个简单的______语句就能实现退出程序。
8、生成消息框的命令是____________,生成输入框的命令是____________。
9、通用对话框(commondialog)属activex控件,它可以显示多个标准对话框,包括打开/另存为、字体、打印等对话框,若要显示所有文件,则应设置其属性filter=____________,若要使它显示为打印对话框,则应使用什么方法____________。
10、从字符串中任意位置截取字符的函数是__________。
11、语句For j = 3 To 20 Step 3 使循环体执行了______次。
12、对于正在使用的动态数组Arraya(),要增加一个单元,但不能破坏数组内的数据,则应使用语句__________________________________。
13、在Visual Basic中声明静态变量的关键字是_________________。
14、表达式10 Mod 6 4的值为______。
15、表达式chr(Asc(“a”)+ 5)的值为_________。
16、VB中使用注释有2种方法,即________和________。
17、VB中的数据以四种形式存储:常量、_________、_________和记录。
18、为了在VB中存储一个4行5列的二维矩阵,需要定义一个整型的数组,请把数组定义语句补充完整:Dim Juzhen(_
_)as Integer。
19、控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名,但是每个控件都有一个唯一的下标来区分,我们使用属性__
__来设置下标。
20、在过程调用中,实现调用过程的实参和被调用过程的形参之间的数据传递有两种方式:按值传递和__
__。
21、为了保证程序中必须对变量的强制性定义,需要在代码模块的声明部分加入______________语句。
22、分析For……Next循环结构的实例:For i = 5 To 30 Step 2 中,循环体一共执行了______次。
23、表达式Mid(“UniversityOfPetroleum”, 8, 4)的值为_________。
24、常量分为普通常量和__________常量。
25、要将大写字母转换为小写字母,可使用____________函数。
26、不管焦点在哪个控件上,按__________键相当于按了取消按钮。
27、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。
28、__________是程序中VB停止执行的地方。
29、逻辑常量为True或__________。
30、使用了__________________的声明后,当程序中使用未经声明的变量时,程序运行时会报错。
31、要将小写字母转换为大写字母,可使用____________函数。
32、自字符串N1位开始向右取N2个字符,要使用_________________函数。
33、日期常量表示时,用符号__________将日期型数据括起来。
34、局部变量只能在__________中声明和使用。
35、模块级变量的声明关键字是Dim或__________。
36、函数Abs(x)的功能是__________。
37、表达式3/6*5的值是__________。
二、选择题
1、以下哪个是合法的变量()
A.right B.abc@123
C.123_abc
D.ab123c
2、下列说法错误的是()
A.在同一模块不同过程中的变量可以同名
B.不同模块中定义的全局变量不可以同名
C.引用另一模块中的全局变量时,必须在变量名前加模块名 D.同一模块中不同级的变量可以同名
3、把MsgBox的返回值转换为数值应该使用的函数是()
A.Log
B.Str
C.Len
D.Val
4、语句DIM AA(3,4,5)中定义的数组有()个元素
A.12
B.60
C.120
D.345
5、下面程序运行后输出的结果是()
A$=“CHINA”
B$=STRING$(3,A$)
PRINT B$
END A.CHI
B.CCC
C.INA
D.AAA
6、以下语句的输出结果是()
Print Format$(32548.5, “000,000.00”)A.32548.5
B.325,485.00
C.032,548,50
D.32,548,50
7、以下叙述中错误的是()
A.如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 B.Sub过程中不能嵌套定义Sub过程 C.Sub过程中可以嵌套调用Sub过程
D.事件过程可以像通用过程一样由用户定义过程名
8、Visual Basic提供的On Error Resume next错误陷阱语句表示()
A.当发生错误时,使程序转跳到语句标号为0的程序块 B.当发生错误时,不使用错误处理程序块 C.当发生错误时,忽略错误行,继续执行下一语句 D.当发生错误时,终止本过程执行,继续执行下一过程
9、在Visual Basic中,若要将控制权交给操作系统则通过()的语句。
A.End
B.Exit Do
C.Exit Sub
D.DoEvents
10、在Visual Basic 中语句的续行号采用()
A.空格与下划线
B.下划线与空格
C.空格与短线
D.短线与空格
11、假定有以下程序段:
For i=1 to 3
For j=5 to 1 Step –1 Print i*j Next j,i 则语句Print i*j的执行次数是()A.15
B..16
C.17
D.18
12、从键盘上输入两个字符串,分别保存在变量str1、str2中。确定
18、下列语句中正确的是()
A.txt1.text+txt2.text=txt3.text B.command1.name=cmdok C.12label.caption=1234
D.a=inputbox(“hello”)
19、假设变量BOOLVAR是一个布尔型变量,则下面正确的赋值语句是()
A.BOOLVAR=„TRUE‟ C.BOOLVAR=#TRUE#
B.BOOLVAR=.TRUE D.BOOLVAR=3<4
20、以下()程序段可以实施X、Y变量值的变换()
A.Y=X:X=Y B.Z=X:Y=Z:X=Y C.Z=X:X=Y:Y=Z D.Z=X:W=Y:Y=Z:X=Y
21、语句PRINT “SGN(-26)=”;SGN(-26)的输出结果为()
A.SGN(-26)=26 C.SGN(-26)= +1 B.SGN(-26)=-26 D.SGN(-26)=-1
22、读下面程序段,判断变量Str2的取值是()
Dim Str1, Str2 as String Str1=“University” Str2=STRING$(3,Str1)A.Uni C.ity B.UUU D.yyy
23、VB支持自定义数据类型,在某程序中我们定义了如下类型:
Student string As String As Integer Type 针对上述定义,如下几项用法正确的是()
A.Student.name=“张三”
B.Dim s As Student s.name=“张红”
C.Dim s As Type Student
D.Dim s As Type
s.name=“张三”
s.name=“张三”
24、一个工程中包含两个名称分别为Form1、Form2的窗体,一个名称为mdlFunc的标准模块。假定在Form1、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:
Form1中定义的过程: Private Sub frmfunction1()End Sub Form2中定义的过程: Public Sub frmfunction2()End Sub mdlFunc中定义的过程: Public Sub mdlFunction()End Sub 在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是()A.上述三个过程都可以在工程中的任何窗体或模块中直接被调用 B.只有mdlFunction过程能够被工程中各个窗体或模块直接被调用
C.frmfunction1只能在form1中调用,而frmfunction2 则可以在所有模块或窗体中被直接调用
D.上述三个过程都只能在各自被定义的模块中直接调用
25、VB中Do……Loop结构既可以构成当型循环,也可以构成直到型循环,根据下面的代码:
Dim i,n as Integer n = 20 i = 1 Do
Print i;
i = i + 2
Loop Until i >20 判断循环结构的类型和循环体的执行次数,正确的选项是()A.当型循环,20次
C.当型循环,10次
B.直到型循环,10次 D.直到型循环,20次
26、在程序中,使用InputBox函数可以接受用户的输入,如果要把它的返回值转换为数值型的数据,应该使用的函数是()
A.Val
B.Len C.Str
D.Log
27、动态数组因为在程序运行前无法确定数组的大小,所以经常根据程序的运行情况,对数组进行重新定义,以下关于VB中动态数组的叙述中不正确的是()
A.可以用ReDim语句重新定义动态数组,并且可以进行多次重定义 B.首次用Dim进行动态数组声明的时候,必须指明它的类型和上下界 C.Preserve为ReDim语句的可选参数,用于保留动态数组原来的内容 D.当对动态数组使用Erase语句进行释放操作时,将释放其内存
28、VB中的控件也叫做部件或组件,主要包括三类,以下哪一项不属于VB控件的分类()
A.控件
B.可插入对象
D.ActiveX控件 C.ADO控件
29、表达式4+5 6 * 7 / 8 Mod 9 的值是()
A.4 B.5 C.6
D.7
30、可以同时删除字符串前导和尾部空白的函数是()
A.Ltrim B.Rtrim
C.Trim
D.Mid
三、简答题
1、全局变量声明有哪些限制?
2、字符串是否可以自动转换为数字类型?
3、用Format函数格式化后的字符格式在不同区域环境下的输出是否相同?为什么?
4、在InputBox函数中,哪一个参数是必需的?
5、在MsgBox函数中哪一个参数是必须的?
6、在什么情况下使用过程?
7、为什么要进行程序调试?
8、调试程序有哪些手段?
9、用语句Dim A(-3 To 5)As Integer定义的数组的元素个数是多少?
10、设有如下的Visual Basic表达式:5*x^2-3*x-2*Sin(a)/3,与它对应的数学式是什么?
11、数学式(2xa)(3yb)对应的VB表达式是什么?
12、表达式2>3 And 4<=5 Or 4>4的值是什么?
13、怎样在程序中设置断点?
14、在什么情况下可以设置断点?
15、程序出错的类型有哪几种?
16、在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?为什么?
17、什么情况下会出现“数组下标越界错误”?
18、逐语句和逐过程有什么区别?
19、表达式2.75 * 2 3.45的值是什么?
20、在程序设计中为什么尽量不用GoTo语句?
四、读程序题
1、分析以下程序,写出运行结果。
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 Sub
2、读下面的程序,分析其功能,写出运行结果。
在窗体上有一个命令按钮,名称为Command1。然后编写如下程序:
Private Sub Command1_Click()For I = 1 To 4 For J = 0 To I Print Chr$(65 + I);Next J Print Next I End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么?
3、阅读下面的程序,分析并写出其功能。
Sub insert(a()As Single,ByVal x As Single)Dim m as integer,n as integer n=1 Do While n<20 And x>a(n)n=n+1 Loop For m=20-1 To n Step –1 a(m+1)=a(m)Next m
a(n)=x End Sub
4、分析以下程序,写出运行结果。
Sub subP(b()As Integer)For i =1 To 4 b(i)=2*i Next i End Sub
Private Sub Commandl_Click()Dim a(1 To 4)As Integer a(1)=5 a(2)=6 a(3)=7 a(4)=8 subP a()For i =1 To 4 Print a(i)Next i End Sub 运行上面的程序,单击命令按钮,输出结果是什么?
5、分析以下程序,写出运行结果。
Sub sele()Dim n as Integer i=21:n=3 Do While i>n
i=i-n
Loop Print i End Sub
6、分析以下程序,写出运行结果。
Sub selectPrint()Dim a as Integer Dim b as Integer Dim c as Integer a=2:b=5:c=2 If(a>=b)and(a>=c)or(b>c)Then
Print a a=a+2 Else Print b EndIf Print a;b;c End Sub
7、分析以下程序,写出运行结果。
Sub swap()Dim x as Integer Dim y as Integer Dim z as Integer x=1:y=2:z=0 Print x;y;z x=x+y x=x*z Print x,y,z
End Sub
8、分析以下程序,写出运行结果。
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,c End Sub
五、编程题
1、输入一年号,判断它是否是闰年。界面如下图所示,包括两个标签、一个文本框和一个命令按钮。提示:如果此年号能被400整除或者不能被400除尽,也不能被100除尽,但能被4整除,则它是闰年;否则,不是闰年。
2、输入两个正整数m、n,求m和n的最大公约数。要求建立如下图所示的窗体,其中主要的控件包括:两个标签(Lable1、Lable2)、两个文本框(Text1、Text2)和一个按钮(Command1)。
3、输入某学生成绩(百分制),若是100≥成绩≥90输出优秀;若是90>成绩≥80输出良好;若是80>成绩≥70输出中等;若是70>成绩≥60输出及格;若是60>成绩≥0,输出不及格;若是其他数则输出error信息。
4、在窗体中显示从9号字型到16号字型。
5、在有序序列中插入一个数,使插入后的数列仍然有序(设按由小到大排列)。
6、编程实现二维数组转置。
7、随机输入10个100以内的整型数,计算其和及平均值。
8、找出所有的水仙花数。水仙花数是个三位数,它的各位数字的立方和等于这个三位数本身。例如371=33+73+13,则371是水仙花数。
9、从键盘输入一个大于2的正整数,判断该数是否是素数。
10、求二维数组中的最小值及其所在行号、列号。
11、求一元二次方程ax2+bx+c=0的根(包括实根和复根)。
12、输入一个正整数n,计算出n!并输出。
13、Faibonacci数列为0,1,1,2,3,5,8,13 „,计算并输出 Print List1.______________ End Sub(2)单击列表框某一项时立即将该项打印在窗体上:
Private Sub List1_Click()Print_______________ End Sub(3)按下命令按钮Command1时在窗体上删除 Label1.Caption = Hscroll1.__________________ End Sub
14、列表框(ListBox)用于列出可供选择的项目的列表,用户可以选择一个或多个项目。它具有几个非常重要的数组属性,其中__
__属性存放了列表框中所有项目的值。
15、菜单项一般由标题、访问键、快捷键和复选标志等构成,通过对相应的属性进行设置可以改变这些项目的状态,其中与复选标志相对应的属性是__
__。
16、keydown与keypress事件各有其参数,若需获得用户按下 “a” 还是 “A” 需用____________事件。
17、控件________组合了文本框和列表框的功能,是VB中一种功能非常强大的选择类控件。
18、若需要将窗体Form2以模态窗口的形式显示出来,可通过执行代码_________________来实现。
19、菜单中的分隔条是一种菜单控件,不响应__________事件,不能被选中。
二、选择题
1、当程序运行时,在窗体上单击鼠标,以下哪个事件是窗体不会接收到()A.MouseDown B.MouseUp
C.Load
D.Click
2、窗体Form1的Name属性是Frm1,它的单击事件过程名是()
A.Form1_Click
B.Form_Click
C.Frm1_Click
D.Me_Click
3、用于设置通用对话框控件显示文件类型的属性是()
A.Filter
B.Path
C.Partern
D.FoleName
4、用于从内存删除窗体的命令是()
A.Move
B.Hide
C.Unload
D.Delete
5、用于返回窗体可用区域宽度的属性是()
A.ScaleWidth
B.ScaleLeft
C.ScaleHeight
D.ScaleTop
6、下列关于属性设置的叙述错误的是:()
A.一个控件具有什么属性是VB预先设计好的,用户不能改变 B.一个控件具有什么属性是VB预先设计好的,用户可以改变 C.一个控件的属性即可以在属性窗口中设置,也可以用程序代码设置
D.一个控件的属性在属性窗口中设置,还可以利用程序代码为其设置新值
7、下列说法正确的是()
A.对象属性只能在“属性窗口”中设置 B.一个新的工程可以在“工程窗口”中建立 C.必须先建立一个工程,才能开始设计应用程序 D.只能在“代码窗口”中编写程序代码
8、下列关于窗体上控件的基本操作错误的是()
A.按下一次DEL键只能删除一个控件 B.按下一次DEL键可以同时删除多个控件
C.按住SHIFT键,然后单击每个要选择的控件,可以同时选中多个控件 D.按住ALT键,然后单击每个要选择的控件,可以同时选中多个控件
9、下列关于设置控件属性的叙述正确的是()
A.用户必须设置属性值
B.所有的属性值都可以由用户随意设定 C.属性值不必一一重新设置 D.不同控件的属性项都完全一样
10、不可以通过下列()操作将焦点赋给对象
A.运行时使用TAB键
B.在代码中用CALL语句调用 D.用访问键或用鼠标单击选择对象 C.在代码中用SETFOCUS方法
11、要在FORM_LOAD事件过程中使用PRINT方法在窗体上输出一定的内容,应()
A.设置窗体的VISIBLE属性
C.调用窗体的SHOW方法
B.设置窗体的CAPTION D.设置窗体ENABLED属性
12、下面()对象无CAPTION属性
A.FORM B.COMMANDBUTTON
C.TEXTBOX
D.LABEL
13、通用对话框控件和文件列表框控件中,都能根据文件的类型对要显示的文件进行筛选过滤,后者使用()属性进行该项设置。
A.Pattern B.Path
C.Filter
D.FileName
14、对于复选框控件chkBoy,如果在程序中设置它为选中状态,下面语句正确的是()
A.chkBoy.Checked = true
C.chkBoy.Selected = true
B.chkBoy.Value = true D.chkBoy.Value = 1
15、计时器(Timer)控件用于每隔一段时间自动触发一次Timer事件,可以有规律地重复执行一段程序,它用于设置两次事件时间间隔的属性是()
A.Interval
B.SmallChange D.Max
C.LargeChange
16、以下关于VB中窗体(Form)的说法中,不正确的描述为()
A.执行Unload Form语句后,窗体Form消失,但仍在内存中
B.当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止 C.窗体的Height、width属性用于设置窗体的高和宽 D.窗体的load事件在加载窗体时发生
17、关于滚动条控件,下面说法错误的是()
A.点击滚动条的箭头,可以改变它的value值,从而引发Change事件 B.拖动滚动框,可以触发Scroll事件
C.通常,水平滚动条的值从左向右递增,垂直滚动条的值自上而下递增 D.拖动滚动框,可以触发Change事件,而且是连续触发的
18、在窗体上放置一个命令按钮,名称为Command1。单击命令按钮时,执行如下事件过程:
PriVate Sub Command1_C1ick()a$=“software and hardware” b$=Right(a$,8)c$=Mid(a$,1,8)Msgbox a$,b$,c$,1 End Sub 则在弹出的信息框的标题栏中显示的信息是()A.softWare and hardware C.hardwafe
B.software D.出现错误
19、在多重窗体程序设计中,关键的问题是要解决不同窗体之间的衔接和窗体的显示、关闭等问题,以下关于窗体的相关语句和方法的叙述中,错误的是()
A.Load语句用于加载指定窗体,即在内存中创建该窗体 B.Show方法兼具Load语句的功能,可以将窗体显示出来 C.Hide方法用于将窗体隐藏起来
D.Unload语句用来释放窗体,但窗体并没从内存中消
20、滚动条控件的属性中,表示取值范围最大值的属性是()
A.Max C.Min
B.LargeChange
D.Value
21、程序中如果需要检测和控制鼠标的位置和状态的改变,就需要使用鼠标事件,其中下面哪个选项用于表示拖动事件()
A.DragDrop C.MouseUp
B.MouseDown D.MouseMove
22、为了使用通用对话框进行打开文件的操作,应将通用对话框的Action属性设定为()。
A.0
B.1
C.2
D.3
三、简答题
1、什么是单选按钮?什么是复选框?在使用上有什么不同?
2、滚动条的change事件和scroll事件有什么不同?
3、快捷键和访问键有什么区别?
4、在程序运行期间,如果拖动滚动条上的滚动块(即滑块),则触发滚动条的什么事件?
5、假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用什么语句?
6、为了暂时关闭计时器(即时钟控件),应把该计时器的什么属性设置为False?
7、单选按钮和复选框(即检查框)各用于什么情况?
8、如何为一个菜单项设置热键和快捷键?
9、菜单的形式有哪两种?
10、在KeyPress事件中,如何取消用户刚输入的字符?
11、框架的作用是什么?
12、如果要计时器每秒钟发生4个Timer事件,则Interval属性值应设多少?
13、在一个窗体的程序代码中能否访问另一个窗体上控件的属性?若不行则请说明理由;若行则请说明如何访问。
14、如何在框架中建立控件?
15、组合框有哪几种类型?
四、读程序题
1、对窗体编写如下代码:
Option Base 1 Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1 If KeyAscii = 13 Then For i =2 To 5 If a(i)>ml Then m1 =a(j)m2 =i End If Next i End If Print m1 Print m2 End Sub 程序运行后,按回车键,输出结果是什么?
2、阅读下面的程序,写出执行结果。
Private Sub Form_load()
Form1.show d = 0 For a = 1 To 2 For b = 1 To a For c = b To 5 d = d + 1 Next c Next b Next a Print d End Sub
五、编程题
1、在窗体上有一个文本框控件,名称为TxtTime;一个计时器控件,名称为Timer1,要求每一秒在文本框中显示一次当前的时间,请编程实现。
2、在Text1中输入任一英文字母,在Text2中显示该英文字母及其ASCII码值。要求在文本框Text2中显示出所有输入的英文字母及其ASCII码值,如下图所示。
Text1
Command1 Text2
3、编写一个程序,能够实现任意个整数的排序。
4、编程实现以下功能:用户首先分别在两个文本框中输入两个数,然后在具有“加、减、乘、除”等四个菜单项的“计算”菜单中单击某一项,即可在标签中显示出相应的结果或者错误提示。
5、编程实现任意两个数的“加、减、乘、除”。
6、编写一个程序,能够求任意个正整数的最大值和最小值。
7、编程求任意两个正整数的最大公约数。
六、程序分析填空题
1、建立一个如图所示的简单编辑器。用户在文本框(text1)中输入正文后,选中某些文本时可进行“剪切”、“复制”和“粘贴”操作。假设在窗体声明部分定义了一个变量str1,用于保存复制和剪切的内容,请把剪切按钮(btnCut)的Click事件补充完整。
程序运行界面:
Private Sub btnCut_Click()
„请补充
End Sub
2、计算1 + 2 + 3 + …… + 100的和并输出。请把下面用Do While ……Loop循环结构实现这一功能的代码补充完整。
Private Sub Form_Load()Dim sum,count as Integer „请补充
Do while count <=100
„请补充
Loop Text1.Text = sum End Sub
3、列表框控件(ListBox)支持多项选择,这项功能在对用户的兴趣爱好进行调查的时候显得非常好用,在下图所示的界面中列表框List1用于列出爱好选项,供用户进行多项选择。
请把下列代码补充完整,能够取得用户的所选爱好选项: Private Sub Command1_Click()
Dim i As Integer
Dim s As String
s = txtname.Text & “爱好”
For i = 0 To List1.ListCount-1
„请补充
Next
Label3.Caption = s End Sub
4、要求利用计时器Timer1,在窗体Form1上每隔1秒钟打印一个1到10的随机整数,请把下列代码补充完整:
Private Sub Form_Load()
Show
„请补充
End Sub Private Sub Timer1_Timer()„请补充
End Sub
5、请说明PRINT #和WRITE #语句的区别
6、EOF函数的功能是什么?
四、编程题
1、实现二进制方式文件的复制。
2、如下图所示,实现一个简单的文件管理器。
件
C.双击工具箱中的控件图标,所画控件的大小和位置是固定的
D.不使用工具箱中的控件工具,不可以在窗体上画出图形对象,但可以写入文字字符
2、当一个对象(如窗体或图片框)被移动或改变大小之后,或当一个覆盖该窗体被移开之后,如果要保持该所画图形的完整性,可以选择触发()事件来完成图形的重画工作
A.Paint B.Load
C.Click
D.Active
三、简答题
1、在什么情况下使用Image控件而不使用PictureBox控件?
2、在程序运行时怎样在图形框中装入和删除图形?
3、颜色函数主要有哪些?
四、编程题
1、如下图显示当前目录下的图片文件列表,并能够预览选定的图片。
第二篇:vb练习题及答案
vb练习题1
VB练习题一
一、选择题
1.Visual Basic程序设计的主要的步骤是C A、可视性程序设计 B、代码程序设计 C、可视性程序设计和代码程序设计 D、界面设计 2.窗体能响应的事件是C
A、ActiveFrom
B、Drive
C、Load
D、Change 3.获得系统时间的函数是B
A、data$
B.time$
C.date$
D.gettime$ 4.在设计一个计算器时,必须要使用的控件是C A、滚动条
B、图片框
C、文本框
D、单选框 5.下列运算符号中属于关系运算符的是_____。B A、— B、= C、AND D、+ 6.Visual Basic规定工程文件的扩展名是C
A、.for
B、.frm
C、.vbp
D、.bas 7.OOP是面向_______的程序设计的简称。C A、用户 B、问题 C、对象 D、操作者 8.设置对象中的字体应用___属性.C A、Caption B、Name C、Font D、Text 9.设置文本框中显示的内容应用___属性。D A、Caption B、Name C、Font D、Text 10.逻辑型又称_____。C A、数值型 B、字符串型 C、布尔型 D、整型 11.三种逻辑运算符号优先次序为:____。C A、AND、NOT、OR B、NOT、OR、AND C、NOT、AND、OR D、OR、NOT、AND 12.关于高级语言,下列那一项叙述是正确的。(A)A、以类似英文的句子来表示 B、写成的程序执行速度最快 C、不必编译即可直接执行 D、受电脑机种限制大 13.可将高级语言翻译成机器语言的程序为。B A、汇编程序 B、编译程序 C、解释程序
4、以上皆可。14.下列()属性是每个控件都有的。A A、名称 B、Caption C、Font D、Interval 15.下列运算符号中属于逻辑运算符的是_____。A A、NOT B、<> C、= D、<= 16.如果要求设置定时器时间间隔为0.5秒钟,那么它的Interval属性值应该等于:B A、5000 B、500 C、50 D、5 17.下列逻辑运算结果为―true‖的是()C A、flase or not true B、flase and not true C、true or not true D、true and not true 18.已知变量x、y为整数型,且x=4 , y=12 ,s为字符串型,且s=―a‖,Label1为标签控件,下列赋值语句合法的是()A A、s = Label1.Caption B、Label1.Caption=s=x C、x*3=y D、Y=x*s 19.下列关于CommandButton 控件的叙述正确的是()A A、CommandButton 控件的Caption 属性决定按钮上显示的内容 B、单击VB应用程序中的按钮,则系统激活按钮控件对应的Change 事件 C、CommandButton 控件的name 属性决定按钮上显示的内容 D、以上都不对
20.一只漂亮的酒杯被摔碎了,则漂亮,酒杯,摔,碎了是()。D A、对象,属性,事件,方法 B、对象,属性,方法,事件 C、属性,对象,方法,事件 D、属性,对象,事件,方法 21.获得系统时间的函数是B A、data$
B、time$
C、date$
D、gettime$ 22.下列关于添加―控件‖的方法正确的是()B A、单击控件图标,将指针移到窗体上,双击鼠标 B、双击工具箱中的控件,即在窗体上出现该控件 C、单击工具箱中的控件,将指针移到窗体上,再单击 D、用鼠标左键拖动工具箱中的某控件到窗体的适当位置 23.双击窗体中的对象后,Visual Basic将显示的窗口是C A、项目(工程)窗口
B、工具箱
C、代码窗口
D、属性窗口 24.下列关于For …next 语句的说法正确的是()A A、循环变量、初值、终值和步长都必须为数值型 B、step后的步长只为正数 C、初值必须小于终值 D、初值必须大于终值
25.存文件时,整个工程以_____(工程文件)储存。C A、*.Prg B、*.Frm C、*.Vbp D、*.Exe 26.清除图片框(Picture1)中内容的方法是_____。B A、Picture1.Clear B、Picture1.Cls C、Picture1.Delete D、Picture1.UnLoad 27.以下变量Test定义语句正确的是:B A、Dim Test,as Integer B、Dim Test as Integer C、Dim Test =Integer D、Dim Test as Integer,28.在Visual Basic中,字符型变量用来_____。B A、存放日期、时间或同时存储以上两种数据。
B、存放人名、地址等文字信息。或电话号码、邮政编码等不需要计算的数字信息。C、存储长文本信息,最多可包含1.2GB字符。D、精确表示货币钱款数值
29.通过执行通用对话框的方法,可以将其表示为不同的对话框。方法ShowColor , 显示____对话框。D A、保存文件 B、字体 C、打开文件 D、颜色
30.设置通用对话框的文件类型框中所要显示的文件类型选项,可由____属性来设置。C A、Name B、File C、Filter D、Caption 31.VB 的全名是:C A、Violin BASIC B、Very BASIC C、Visual BASIC D、View BASIC 32.下列哪一种运算的优先级最低:C A、Mod B、整数除法 C、减法 D、除法 33.设置窗体的高度用属性_______。D A、Caption B、Font C、BackColor D、Hight 34.设置窗体左上角到屏幕上方距离的属性是______。B A、Left B、Top C、Width D、Name 35.设置窗体宽度的属性是______。C A、Left B、Top C、Width D、名称(Name)36.计算数x的正弦函数值的函数是______。A A、SIN(x)B、ABS(x)C、STR(x)D、SQR(x)37.数学式3abc(d+e)改写为VB表达式为______。D A、3a*b*c(d+e)B、3abc(d+e)C、3abcd +3abce D、3*a*b*c*(d+e)38.不属于程序的三种基本结构的是。C A、顺序结构 B、循环结构 C、直线型结构 D、分支结构 39.在IF语句的条件中,M≠6应写成: C A、M<6 AND M>6 B、M≠6 C、M<>6 D、NOT M<>6 40.在VB中数据类型为长整型的―数据类型保留字‖是。B A、integer B、long C、single D、string 41.在VB中数据类型为字符串型的―数据类型保留字‖是。D A、integer B、double C、single D、string 42.下列变量名正确的是。B A、X-1 B、XX1 C、123 D、A* 43.函数ABS(X)称为。B A、算术平方根函数 B、绝对值函数
C、正弦三角函数 D、字符串转换为数值函数 44.下列说法不正确的是。A A、1 B、关系表达式的判断结果只能是“True”或“False” C、关系运算符共有6个,分别是:<、>、<=、>=、=、<> D、逻辑运算符有NOT、AND、OR 45.为了暂时关闭计时器,应把该计时器的某个属性设置为False,这个属性是C A、Visible B、Timer C、Enabled D、Interval 46.利用对象的方法Setfocus可获得焦点,对于一个对象,只有其visible属性和_____属性为true,才能接受焦点。C A、name B、Timer C、Enabled D、visible 47.使用print方法可在图片框中进行文本的输出(如:picture1.print ―信息技术‖),用_____方法可画圆。C A、pset B、line C、circle D、move 48.设a=2,b=3,c=4,d=5,下列表达式的值是。C 3>2*b OR a=c AND b <>c OR c>d A、1 B、True C、False D、–1 49.设置标签中显示内容的属性是。C A、Text B、Name C、Caption D、BackStyle 50.通过执行通用对话框的方法,可以将其表示为不同的对话框。显示打开文件对话框方法是。A A.ShowOpen B.ShowSave C.ShowPrinter D.ShowColor vb练习题2 二、程序设计题 51.设计一个程序,输入一个正整数N,求1+2+3+…+N的和。界面如下: 当用户输入N后,单击―计算‖按钮,则输出1+2+3+…+N的和。参考答案: Private Sub Command1_Click()Dim i, a, b As Integer a = Val(Text1.Text)For i = 1 To a b = b + i Next i Label3.Caption = b End Sub Private Sub Command2_Click()End End Sub 52.编一个求圆柱的侧面积的程序: 当用户输入半径与高后,单击―侧面积为‖按钮,输出正确结果。参考答案: Private Sub Command1_Click()Dim r, h, c, s As Single r = Val(Text1.Text)h = Val(Text2.Text)c = 2 * 3.14159 * r s = c * h Label3.Caption = s End Sub 53.设计一个计时程序。该程序用户界面如图所示,由一个文本框(text1),和两个按钮:命令按钮1(command l)、命令按钮2(command 2)组成。程序运行后,用户按开始按钮,则开始计时,文本框中显示秒数,接停止按钮,则计时停止。单击窗口则退出。(请阅读下面程序,编写出时钟控件的计时事件中的程序代码。)Dim i, t As Integer Private Sub Command1_Click()Timer1.Interval = 1000 Timer1.Enabled = True t = 0 End Sub Private Sub Command2_Click()Timer1.Enabled = False End Sub Private Sub Form_Click()End End Sub Private Sub Timer1_Timer()End Sub 参考答案: t = t + 1 Text1.Text = t & “秒” 54.编制一个能在窗体中画出由用户指定圆心位置和半径大小的圆的程序,要求单击―绘圆‖按钮时绘圆,单击―清除‖按钮时清除绘图区中的图形及文本框中的内容。运行界面如下: 参考答案: Private Sub Command1_Click()Dim x, y, r As Single x = Val(Text1.Text)y = Val(Text2.Text)r = Val(Text3.Text)Picture1.Circle(x, y), r End Sub Private Sub Command2_Click()Picture1.Cls Text1.Text = “" Text2.Text = ”“ Text3.Text = ”“ End Sub 信息技术教师培训自学部分VB练习题二 一、选择题 1.在 Visual Basic环境下,当写一个新的 Visual Basic程序时,所做的第一件事是B A、编写代码 B、新建一个工程 C、打开属性窗口 D、进入VB环境 2.若要求从文本框中输入密码时在文本框中只显示*号,则应当在此文本框的属性窗口中设置D A、Text属性值为* B、Caption属性值为* C、password属性值为空 D、Passwordchar属性值为* 3.能够将文本框控件隐藏起来的属性是B A、Clear B、Visible C、Hide D、New 4.获得系统日期的函数是C A、data$ B、time$ C、date$ D、gettime$ 5.下列运算符号中属于算术运算符的是_____。B A、NOT B、^ C、= D、<= 6.Visual Basic属于:A A、高级语言B、汇编语言C、机器语言D、低级语言。7.一个程序可以有_____窗体。C A、1个 B、2个 C、多个D、无穷多个 8.事件是指_____。B A、对象的外部特征。 B、预先设置好的能被对象识别的特定动作。C、对象的属性。 D、对象原来就包含的内部函数或程序。9.VB在运行中使用_______来临时存储数据。B A、常量 B、变量 C、函数 D、方法 10.布尔型又称_____。B A、数值型 B、逻辑型 C、字符串型 D、整型 11.下列运算符号中属于关系运算符的是_____。D A、— B、+ C、AND D、<= 12.关于高级语言,下列叙述正确的是。B A、不必编译即可执行 B、可读性最高 C、难学难记 D、执行速度最快。13.下列各组控件都具有Caption属性的是()C A、窗体、文本框 B、标签、定时器 C、窗体、标签 D、文本框、定时器 14.下列运算结果中,值最大的是()D A、34 B、3/4 C、4 mod 3 D、3 mod 4 15.Visual Basic语言中,下列那一项数值运算符号是正确的。(C)A、@表示加 B、~表示减 C、*表示乘 D、÷表示除。16.下面程序执行的结果是________。C Private Sub Form_Click()A$ = ”123“: B$ = ”456“ C = Val(A$)+ Val(B$)Print C 100 End Sub A、123 B、3 C、5 D、579 17.函数Sqr(9)的值是()B A、9 B、3 C、―3‖ D、―9‖ 18.下列控件中可用于接受用户输入文本,又可用于显示文本的是()B A、Label 控件 B、TextBox 控件 C、Timer 控件 D、CommandButton 控件 19.以下程序段执行后整型变量度n 的值为()B n=0 for L=1 to 20 step 5 n=n+L next L A、50 B、34 C、15 D、210 20.如果要改变窗体的标题,需要设置窗体对象的_____属性。B A、Name B、Caption C、BackColor D、BorderStyle 21.Visual Basic提供的标签控件(LABEL)可具有功能是B A、输入文本 B、显示文本 C、计时 D、取得时间 22.以下选项中,不是 Visual Basic控件的是C A、文本框 B、定时器 C、窗体 D、命令按钮 23.若整型变量a的值为 2、b的值为3,则下列程序段执行后整型变量c的值为()D if a>5 then c=b-a else c=a + b endif A、2 B、-1 C、1 D、5 24.下列程序执行后,整型变量n的值为()B n=0 for I=1 to 20 if I mod 4=0 then n=n+1 next I A、5050 B、5 C、6 D、33 25.下面哪些控件是输入控件______。A A、文本框 B、标签 C、列表框 D、滚动条 26.窗体初始化程序应写在_______事件中。A A、Load B、UnLoad C、Active D、GotFocus 27.在Visual Basic中,布尔型变量用来_____。D A、存放需要计算的数字。 B、存放日期、时间或同时存储以上两种数据。C、存储长文本信息,最多可包含1.2GB字符。D、存放性别、婚否等逻辑信息。 28. 通过执行通用对话框的方法,可以将其表示为不同的对话框。方法ShowOpen , 显示____对话框。C A、保存文件 B、字体 C、打开文件 D、颜色 29. 通过执行通用对话框的方法,可以将其表示为不同的对话框。方法ShowFont , 显示____对话框。B A、保存文件 B、字体 C、打开文件 D、颜色 30.计时器的Interval属性是用来设置一时间间隔,单位是_____。D A、1秒 B、1毫秒 C、1/100秒 D、1/1000秒 31.VB 在计算三角函数时,所使用的度量单位是:B A、角度制 B、弧度制 C、角度制 D、弧度制都可以 32.设置窗体的背景色用属性_______。C A、Caption B、Font C、BackColor D、Hight 33.设置窗体中显示的文字前景色用属性_______。A A、ForColor B、Font C、BackColor D、Hight 34.设置窗体左上角到屏幕左边距离的属性是______。A A、Left B、Top C、Width D、Name 35.计算数x的算术平方根的函数是___。D A、SIN(x)B、ABS(x)C、STR(x)D、SQR(x)36.计算数x的余弦函数值的函数是______。D A、SIN(x)B、ABS(x)C、STR(x)D、COS(x)37.数学式|xy|+2(d+e)改写为VB表达式为______。C A、|xy|+2(d+e)B、-x*y+2*(d+e)C、ABS(x*y)+2*(d+e)D、|x*y|+2*(d+e)38.在IF语句的条件中,60≤F≤100应写成:D A、60<=F<=100 B、60= C、正弦三角函数 D、字符串转换为数值函数 44.下列说法不正确的是。B A、FOR语句中可省略STEP及步长值,默认步长值为1 B、循环变量只能用数值简单变量 C、步长值可正可负 D、初值、终值、步长值可以是数值表达式 45.为了在运行时把图形文件picfile.jpg装入图片框Picture1,所使用的语句为。A A、Picture1.Picture = LoadPicture(”picfile.jpg“)B、Picture1.Picture =”picfile.jpg“ C、Picture1.image = LoadPicture(”picfile.jpg“)D、Picture1.image =”picfile.jpg“ 46.使用print方法可在图片框中进行文本的输出(如:picture1.print ―信息技术‖),用_____方法可画点。A A、pset B、line C、circle D、move 47.使用print方法可在图片框中进行文本的输出(如:picture1.print ―信息技术‖),用_____方法可使图片框移动位置。D A、pset B、line C、circle D、move 48. 双击工具箱中某个控件,该控件将____。C A、被选中 B、出现在窗体左上角 C、出现在窗体中部 D、没变化 49.为了取消窗体的最大化功能,需要把它的一个属性设置为False,这个属性是。D A、ControlBox B、MinButton C、Enabled D、MaxButton 50.执行下面的程序段后,x 的值为。C x=0 For i=1 To 10 x=x+i5 Next i A、5 B、6 C、7 D、8 二、程序设计题 51.编写一个程序,输入任意两个整数,输出其中较大的数。界面如下: 当用户输入两个整数后,单击―输出‖按钮,则输出正确结果。参考答案: Private Sub Command1_Click()Dim a, b As Integer a = Val(Text1.Text)b = Val(Text2.Text)If a >= b Then Label3.Caption = a Else Label3.Caption = b End If End Sub 52.设计一程序,计算1*2+2*3+3*4+4*5+…+N*(N+1)的和。程序界面如下: 当用户输入N后,单击―求1*2+2*3+3*4+4*5+…+N*(N+1)‖按钮后,输出正确结果。参考答案: Private Sub Command1_Click()Dim i, n, s As double n = Val(Text1.Text)s = 0 For i = 1 To n s = s + i *(i + 1)Next i Label1.Caption = s End Sub 53.设计一个从键盘接收三条边的值,测试能否组成三角形,若能,则计算所组成三角形面积,否则,给出相应信息的程序,运行之后界面如下。 参考答案: Private Sub Command1_Click()Dim a, b, c, d As Single a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If(a + b)> c And(a + c)> b And(b + c)> a Then d =(a + b + c)/ 2 Label3.Caption = Sqr(d *(db)*(dc 37.在IF语句的条件中,X≤-10或X>0应写成:B A、X<=-10 AND X>0 B、X<=-10 OR X>0 C、X≤-10 OR X>0 D、X≤-10或X>0 38.在VB中数据类型为整型的―数据类型保留字‖是。A A、integer B、long C、single D、string 39.在VB中数据类型为双精度浮点型的―数据类型保留字‖是。B A、integer B、double C、single D、string 40.在VB中数据类型保留字―boolean‖表示的数据类型是。C A、整型 B、长整型 C、布尔型 D、字符串型 41.函数SQR(X)称为。A A、算术平方根函数 B、绝对值函数 C、正弦三角函数 D、字符串转换为数值函数 42.数值表达式运算的先后顺序为。A A、()→函数→乘方→* /→+ C、函数→乘方→()→* /→+43. 表达式4+5 6 * 7 / 8 Mod 9 的值是。A A、4 B、5 C、6 D、7 44.由语句txtname.text=”AB“,可知txtname一定是_____控件。A A、文本框控件 B、标签控件 C、图象框控件 D、命令按钮 45.使用print方法可在图片框中进行文本的输出(如:picture1.print ―信息技术‖),用_____方法可画线。B A、pset B、line C、circle D、move 46.使用print方法可在图片框中进行文本的输出(如:picture1.print ―信息技术‖),用_____方法可清除图片框中的内容。C A、pset B、line C、cls D、move 47.VB中工程文件的扩展名为。A A、.vbp B、.frm C、.ds D、.bas 48.设a=2,b=3,c=4,d=5,下列表达式的值是。B a>b AND c<=d OR 2*a>c A、True B、False C、-1 D、1 49.表达式4+5-6*7/8 Mod 9的值是。A A、4 B、5 C、6 D、7 50.下列控件中,哪一个是外部控件。D A、PictureBox B、CommandButton C、Timer D、CommonDialog 二、程序设计题 51.设计一个程序,输入一个长方体的长宽高,计算并输出其体积V,界面如下: 当用户输入长宽高,后单击―计算‖按钮,则输出结果。参考答案: Private Sub Command1_Click()Dim a, b, c As Single a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)Label5.Caption = a * b * c End Sub Private Sub Command2_Click()End End Sub 52.编写一个程序,输入任意三个整数,输出其中最小的自然数。界面如下: 当用户输入三个自然数后,单击―最小自然数为‖按钮,则输出正确结果,请阅读下面程序,把所缺的代码写出来。Private Sub Command1_Click()Dim a, b, c, d As Integer a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)If a <= b Then d = a Else d = b End If Label3.Caption = d End Sub 参考答案: If d > c Then d = c End If 53.设计一个求ax2 +bx+c=0解的程序,用户界面如下: 参考答案: Private Sub Command1_Click()Dim a, b, c, d, x1, x2 As Single a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = b ^ 2Sqr(d))/(2 * a)Label3.Caption = ”x1=“ & x1 & Chr(13)& ”x2=“ & x2 Else Label3.Caption = ”此方程无实根!“ End If End Sub Private Sub Command2_Click()End End Sub 54.编一程序,将阿拉伯数字0、1、2、……、8、9转换为汉语大写数字零、壹、贰、……、捌、玖,程序界面如下: 参考答案: Dim a As Integer Dim b As String a = Val(Text1.Text)Select Case a Case 0 b = ”零“ Case 1 b = ”壹“ Case 2 b = ”贰“ Case 3 b = ”叁“ Case 4 b = ”肆“ Case 5 b = ”伍“ Case 6 b = ”陆“ Case 7 b = ”柒“ Case 8 b = ”捌“ Case 9 b = ”玖" End Select Label1.Caption = b End Sub 《vb程序设计》期末复习题及答案 一、填空题 1.创建一个VB应用程序三个主要的步骤是_(创建应用程序界面)、_(设置属性_)和_(_编写代码__)__。 2.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应当在此文本框的__属性________窗口中,把此文本框的____text_________属性设置成空白。 3.Label和TextBox控件用来显示和输入文本,如果仅需要让应用程序在窗体中显示文本信息,可使用___label________控件;若允许用户输入文本,则应使用__textbox___________控件。4.窗体的常用方法有_load方法 Show方法 Hide方法_ Unload方法_。 5.要想在代码中给名为txtshow的文本框赋予文本:GOOD WORK,应当编写的语句是_(txtshow.text=“GOOD WORK”_)。 6.若命令按钮的名称为Cmdopen,程序要求单击该命令按钮时,打开一个窗口frm1,请对以下事件过程填空。Private Sub Cmdopen_ _click()__________ _frm1.show_ End Sub 7.Visual Basic 6种类型的表达式是_(算术表达式_)(字符串表达式)(关系表达式)(布尔表达式)(日期表达式)(对象表达式)。Visual Basic根据表达式的_.1 _运算符__来确定表达式的类型。 8.表达式93 7 Mod 2 ^ 2 的值是___________。 9.已知a=3,b=4,c=5,表达式a>b and Not c>a Or c>b And ca And Not b 10.日期表达式 #2/24/02#y ^ 2)/(2 * x)___。 12.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从1到5,第二维下标从-2到6,则相应的数组声明语句为_(Dim A(1 To 5,-2 To 6)As String)_。13.事件就是在对象上所发生的事情,Visual Basic中的事件如__单击_________、_双击__________、_装载_____________等。一个对象响应的事件可以有_多____个,用户不能建立新的事件。事件过程是指_(响应某个事件后所执行的程序代码)_。假设某一事件过程如下: Private Sub cmd1_Click()Form1.Caption=“VB示例” End Sub 则响应该过程的对象名是_cmd1_____________,事件名是_____click________。 14.对象的方法用于(_完成某种特定的功能__)。当方法不需要任何参数并且也没有返回值时,调用对象的方法的格式为_(对象名.方法名)_,例如,对窗体Form1使用Show方法,应写成__form1.show_______________。 15.PictureBox控件可通过设置其(autosize)__属性为True使之可自动调整大小;而Image控件可通过设置其_(stretch_)__属性为True,使其加载的图片能自动调整大小以适应Image。 16.在Visual Basic程序中实现复制文件“c:command.com”到d:盘根目录下的语句为FileCopy “c:command.com”,“d:command.com”_。 二、单项选择题 1.下列控件中没有Caption属性的是(B) A、标签 B、文本框 C、框架 D、命令按纽 2.除框架外,能对单选按纽分组的控件是(C)。A、窗体 B、标签 C、图片框 D、图像 3.下列符号不能作为VB中变量名的是(C)。 A、ABCDEFG B、P00000 C、89YWDDF D、xyz 4. 下列不属于Visual Basic数据文件的是(D)。A、顺序文件 B、随机文件 C、二进制文件 D、数据库文件 5.若要求从文本框中输入密码时在文本框中只显示*号,则应用在此文本框的属性窗口中设置(D)。 A、Text属性值为* B、Caption属性值为* C、Password属性值为空 D、PasswordChar属性值为* 6.表达式2*3^2+2*8/4+3^2的值为(B)。A、64 B、31 C、49 D、42 7.表达式mid(“abcdefg”,3,2)的值是(B)A、abc B、cd C、bcd D、abcde 8.数学表达式Sin25°写成VB表达式是(D)。A、Sin25 B、Sin(25)C、Sin(25°)D、Sin(25*3.14/180) 9.Sub过程与 Function过程最根本的区别是(D)。A、Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以。 B、Function过程可以有参数,Sub过程不可以。C、两种过程参数的传递方式不同。 D、Sub过程的过程名不能返回值,而Function过程能够通过过程名返回值。 10.选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式为(C) A、T>=1.7 And W<=62.5 B、T<=1.7 Or W>=62.5 C、T>1.7 And W<62.5 D、T>=1.7 Or W<62.5 11.下列对象不能响应 Click事件的是(D)A、列表框 B、图片框 C、窗体 D、计时器 12.在Visual Basic中,按文件的访问方式不同,可以将文件分为(A) A、顺序文件、随机文件和二进制文件 B、文本文件和数据文件 C、数据文件和可执行文件 D、ASCⅡ文件和二进制文件 13.将通用对话框CommonDialog的类型设置成“颜色”对话框,可调用该对话框的(C)方法。 A、ShowOpen B、ShowSave C、ShowColor D、ShowFont 三、指出下列句中的错误,修改或者说明原因。1.sum和int.sum都可以作为VB的变量名。(X)2.变量名的长度最长可达1024个字符。(255)3.下列程序运行结果:3,3 Option Explicit Private Sub Command1_Click()Dim a,b As Integer Dim a as integer ,b as integer a = 3.6 b = 3.6 Text1.Text = a Text2.Text = b End Sub 4.程序可以改变定长字符串的内容和长度。 5.Variant是一种特殊的数据类型,可以包含任何种类型的数据。.不完全正确。Variant是一种特殊的数据类型,除了定长字符串数据及用户定义类型外,可以包含任何种类型的数据,这是VB规定。 6.下列程序运行结果为True Private Sub Command1_Click()a = 1 b = 2 c = 3 Text1.Text = c > a + b Or b1 And c + a > a Xor b < c#12/20/1999#的运算结果是#12/11/1999# 8.可以在窗体的通用部分声明静态变量。 不正确。静态变量为局部变量,只能在过程中声明。 9.使用声明语句建立一个变量后,Visual Basic会自动对数值类型的变量赋初值0,变长的字符串被初始化为一个零长度的字符串“",定长字符串用空格填充,Variant变量被初始化为 Empty,布尔型的变量被初始化为False。 10.事件过程通常由事件驱动执行,而Sub过程通过过程调用执行。 11.将焦点主动设置到指定的控件或窗体上应采用SetFocus方法。12.当图像控件(Image)的Stretch属性为True时,Image控件能自动调整自己的尺寸与显示的图片匹配。 不正确。该属性设为Ture时,Image控件不能自动调整自己的尺寸与显示的图片匹配,而可以使图片自动扩展以适应控件的尺寸。 四、读程序题,写出程序运行结果。1.Private Sub Form_Click()For I = 1 To 9 For j = 1 To 301 To 1 Step-1 Print k;Next k Print Next I End Sub 2. Option Explicit Private Sub Command1_Click()Static S As Integer Dim i As Integer S = 1 For i = 1 To 5 S = S * i Next i Print S End Sub 3. For X = 5 To 1 Step-1 For Y = 1 To 6y ^ 2)/(2 * x)12.Dim A(1 To 5,-2 To 6)As String 13.单击 双击 装载 多 响应某个事件后所执行的程序代码 cmd1 Click 14.完成某种特定的功能 对象名.方法名 Form1.Show 15.AutoSize Stretch 16.FileCopy ”c:command.com“,”d:command.com“ 二、单项选择题 1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.D 9.D 10.C 11.D 12.A 13.C 三、指出下列句中的错误,修改或者说明原因。1.int.sum 不正确。变量名中不能包括小数点。2.变量名的长度最长可达255个字符。3. 3.6,4 因为a 不是整型变量。 4.不正确。程序不可以改变字符的长度,这是VB规定。5.不完全正确。Variant是一种特殊的数据类型,除了定长字符串数据及用户定义类型外,可以包含任何种类型的数据,这是VB规定。 6.False。逻辑表达式计算结果。 7.不正确。两个日期型数据相减,其结果是一个数值型数据。8.不正确。静态变量为局部变量,只能在过程中声明。9.正确。10.正确。11.正确。 12.不正确。该属性设为Ture时,Image控件不能自动调整自己的尺寸与显示的图片匹配,而可以使图片自动扩展以适应控件的尺寸。 四、读程序题,写出程序运行结果。1.程序运行后,单击窗体,输出结果为: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 2.程序运行后,单击按钮Command1,输出结果为: 3.* ** *** **** ***** 4.aabb-30 False aabb-30 False 30+60 90 30+60 90 5.11 13 9 五、编程题 1. 。120 Private Sub Command1_Click()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub Private Sub Command2_Click()a = Trim(Text1.Text)b = Trim(Text2.Text)c = Trim(Text3.Text)If a = ”“ Or b = ”“ Or c = ”“ Then MsgBox ”成绩填写不完全!“, vbCritical Else Text4.Text =(Val(a)+ Val(b)+ Val(c))/ 3 End If End Sub Private Sub Command3_Click()Unload Me End Sub 2. Private Sub Command1_Click()x = Val(Text1.Text)If x Mod 3 = 2 And x Mod 5 = 3 And x Mod 7 = 4 Then Print x Else Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End If End Sub 3. Private Sub Check1_Click()If Check1.Value = 1 Then Label1.Font.Bold = True Else Label1.Font.Bold = False End If End Sub Private Sub Check2_Click()If Check2.Value = 1 Then Label1.Font.Italic = True Else Label1.Font.Italic = False End If End Sub Private Sub Command1_Click()Unload Me End Sub 4. a = Val(InputBox(”输入第一个数:“))b = Val(InputBox(”输入第二个数:“))c = Val(InputBox(”输入第三个数:“))If a < b Then t = a: a = b: b = t If a < c Then t = a: a = c: c = t If b < c Then t = b: b = c: c = t MsgBox(”求大小排第二的数是:" & b) 原文网址: http://hi.baidu.com/%CC%EC%D0%AB%C4%A7%BE%FD/blog/item/d446b034a6b3373f5bb5f5fd.html 由弘一网童保存,尚未注册。注册 1.要使一个标签能够显示所需要的文本,应设置该标签的()属性的值(单)A.Caption B.Name C.Text D.AutoSize 2.为使计时器对象每隔5秒钟产生一个时钟事件(Timer事件),则其Interval属性值应设置为()(单)A.5 B.300 C.500 D.5000 3.下列的()对象支持KeyPress事件(单)A.文本框 B.命令按钮 C.标签框 D.图像框 4.确定一个控件在窗体上的位置的属性是()(单)A.Width或Height B.Top和Height C.Top或Width D.Top和Left 5.确定一个窗体或控件的大小的属性是()(单)A.Width或Height B.Top和Width C.Top或Left D.Top和Left 6.用户在屏幕上画出应用程序界面,并设置好对象的属性,系统便可以自动生成程序代码,这称为()(单)A.面向对象的程序设计 B.结构化程序设计 C.事件驱动的编程机制 D.程序设计 7.在VB中,工程文件的扩展名是()(单)A..frm B..vbp C..bas D..frx 8.在VB中,窗体文件的扩展名是()(单)A..frm B..vbp C..bas D..frx 9.VB集成开发环境可以(单)A.编辑、调试、运行程序,但不能生成可执行程序 B.编辑、生成可执行程序、运行程序,但不能调试程序 C.编辑、调试、生成可执行程序,但不能运行程序 D.编辑、调试、运行程序,也能生成可执行程序 10.英文“VISUAL”的含义是()(单)A.可视化 B.集成C.结构化 D.调试 11.标准模块文件的扩展名是()(单)A.frm B.vbp C.bas D.vbg 12.VB集成开发环境中,在()中编写代码(单)A.状态栏 B.属性列表框 C.代码框 D.标题栏 13.在面向对象的程序设计过程中,英文缩写“OOP”的含义是()(单)A.事件驱动的编程机制 B.结构化程序设计语言 C.面向对象的程序设计 D.可视化程序设计 14.在窗体上画一个名称为Timer1的计时器控件,要求每隔0.5秒发生一次计时器事件,则以下正确的属性设置语句是()(单)A.Timer1.Interval=0.5 B.Timer1.Interval=5 C.Timer1.Interval=50 D.Timer1.Interval=500 15在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click()a$=“VisualBasic” Print String(3,a$)End Sub 程序运行后,单击命令按钮,在窗体上显示的内容是()(单)A.VVV B.Vis C.sic D.11 16.以下关于多重窗体程序的叙述中,错误的是()(单)A.用Hide方法不但可以隐藏窗体,且能清除内存中的窗体 B.在多重窗体程序中,各窗体的菜单是彼此独立的 C.在多重窗体程序中,可以根据需要指定启动窗体 D.对于多重窗体程序中,单独保存每个窗体 17以下合法的Visual Basic变量的名称是()(单)A.a3 B.Const C.9abc D.a#x! 18.当一个复选框被选中时,它的Value属性的值是()(单)A.3 B.2 C.1 D.0 19.表达式 5 Mod 3+53的值是()(单)A.0 B.3 C.4 D.6 20设x=4,y=8,z=7, 表达式:(x<y)Or z<x 的值是()(单)A.1 B.-1 C.TRUE D.FALSE 21设有如下程序段: x=2 For c=1 To 4 Step 2 x=x+c Next c 运行以上程序后,x的值是()(单)A.6 B.7 C.8 D.9 22执行如下两条语句,窗体上显示的是()(单)A=9.8596 Print Format(a,“000.00”)A.0,009.86 B.9.86 C.009.86 D.0,009.86 23下列说法中正确的是:为了保存一个Visual Basic应用程序,应当()(单)A.只保存窗体模块文件(.frm)B.只保存工程文件(.vbp)C.分别保存工程文件和标准模块文件(.bas)D.分别保存工程文件、窗体文件和标准模块文件 24.要使一个文本框对象能够显示多行文字,应设置该对象的()属性值为True(单)A.Text B.MultiLine C.Style D.Visible 25.若要将窗体从内存中卸载,其实现的方法或语句是()(单)A.Show B.Unload C.Load D.Hide 26.以下选项中,不是VB标准控件的是()(单)A.命令按钮 B.定时器 C.通用对话框 D.单选框 27在窗体上画一个名称为Command1的命令按钮,然后编写如下程序: Dim a As Variant a = Array(1, 2, 3, 4, 5)Sum = 0 For i = 1 To 5 Sum = Sum + a(i1)“, a(i1)> x Then Print a(iNum2 Case 3 Op = ”ד Result = Num1 * Num2 Case 4 Op = ”÷“ Result = Num1 / Num2 End Select Label1= Num1 & Op & Num2 & ”=“ & Result End Sub 窗体运行后,输入1,则label1的标题显示结果为()(单)A.3+2=5 B.3-2=1 C.3×2=6 D.3÷2=1.5 42在窗体上画一个名称为Text1的文本框,然后画一个名称为HScroll1的滚动条,其Min和Max属性分别为0和100。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值,以下能实现上述操作的程序段是()(单)A.Private Sub HScroll_Change()Text1.Text=HScroll1.Value End Sub B.Private Sub HScroll_Click()Text1.Text=HScroll1.Value End Sub C.Private Sub HScroll_Change()Text1.Text=HScroll.Caption End Sub D.Private Sub HScroll_Click()Text1.Text=HScroll.Caption End Sub 43.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click()x=InputBox(”Input“)Select Case x Case 1,3 Print ”分支 1“ Case Is>4 Print ”分支 2“ Case Else Print ”Else 分支 “ End Select End Sub 程序运行后,如果在输入对话框中输入2,则窗体上显示的是()A.分支1 B.分支2 C.Else分支 D.程序出错 44.随机产生10个100~200之间的数,求它们的最大值程序如下: Private Sub Command1_Click()Max = 100 For i = 1 To 10 x = int【 】 Print x;If x > Max Then Max=x Next i Print Print ”最大值=“;Max End Sub 45设a=10,b=5,c=1,执行语句Print a >b > c后,窗体上显示的是()(单)A.True B.False C.1 D.出错信息 (46)在窗体上建立通用对话框需要添加的控件是 A)Data控件 B)From控件 C)CommonDialog控件 D)VBComboBox控件 (47)在Visual Basic中,要将一个窗体加载到内存进行预处理但不显示,应使用的语句是 A)Load B)Show C)Hide D)Unload 48)Sub过程与Function过程最根本的区别是 A)Sub过程可以用Call语句直接使用过程名调用,而Function过程不可以 B)Function过程可以有形参,Sub过程不可以 C)Sub过程不能返回值,而Function过程能返回值 D)两种过程参数的传递方式不同 49保存一个工程至少应保存两个文件,这两个文件分别是)A)文本文件和工程文件 B)窗体文件和工程文件 C)窗体文件和标准模块文件 D)类模块文件和工程文件 50.当对命令按钮的Picture属性装入.bmp图形文件后,命令按钮上并没有显示所需的图形,原因是没有对某个属性设置为1,该属性是 A)MousePicture B)Style C)DownPicture D)DisabledPicture 51假设变量bool_x是一个布尔型(逻辑型)的变量,则下面正确的赋值语句是)A)bool_x=”False“ B)bool_x=.False.C)bool_x=#False# D)bool_x=False 52.设S=“中华人民共和国”,表达式Left(S,1)+Right(S,1)+Mid(S,3,2)的值为()A)“中华民国” B)“中国人民” C)“中共人民” D)“人民共和” 53下列表达式的值为2123的是() A)Val(”123asd“)& 2000 B)Val(”123asd“)+ 2000 C)Str(123)& ”2000“ D)Str(123)+”2000“ 54假设在窗体上建立了一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮Command1,并编写如下事件过程: Private Sub Command1_Click()CommonDialog1.Flags=4 CommonDialog1.Filter=”all files(*.*)|*.*|text Files(*.Txt)|*.txt|Batch Filse(*.bat)|*.bat“ CommonDialog1.FilterIndex=1 CommonDialog1.ShowOpen MsgBox CommonDialog1.FileName End Sub 程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”对话框中显示的是() A)All Files(*.*)B)Text Files(*.Txt)C)Batch Files(.bat)D)不确定 55当运行程序时,系统自动执行启动窗体的某个事件过程。这个事件过程是()A)Load B)Click C)Unload D)GotFocus 56.无论何控件,都具有一个共同属性。这个属性是()A)Text B)Font C)Name D)Caption 57.在一行内写多条语句时,语句之间要用某个符号分隔。这个符号是()A),B); C)、D): 58.表达式12000 + ”129“ & 200的值是 A)12329 B)”12129200“ C)”12000129200“ D)”12329“ 59.Visual Basic是一种面向对象的程序设计语言,构成对象的三要素是() A)属性、控件和方法 B)属性、事件和方法 C)窗体、控件和过程 D)控件、过程和模块 60表达式String(1,”I am student“)+ Replace(”am harass“,”rass“,”ppy“)& ”!“的值是()A)”I am happy!“ B)”I am student I am s am harass studentam happy!“ C)”I am student am harass!“ D)”I am student am happy!“ 61.引用列表框(List1)最后一个数据项应使用的表达式是()A)List1.List(List1.ListCount)B)List1.List(List1.ListCount-1)C)List1.List(ListCount)D)List1.List(ListCount-1)62.以下属性和方法中,可重定义坐标系的是) A)DrawStyle属性 B)DrawWidth属性 C)Scale方法 D)ScaleMode属性 63.下面说法不正确的是()A)滚动条的重要事件是Change和Scroll B)框架的主要作用是将控件进行分组,以完成各自相对独立的功能 C)组合框是组合了文本框和列表框的特性而形成的一种控件 D)计时器控件可以通过对Visible属性的设置,在程序运行期间显示在窗体上 64.在窗体上画一个名称为Check1复选框,在程序运行的过程中,若选中复选框,则Check1.value的值是()A)True B)2 C)0 D)1 65.下列关于过程叙述不正确的是() A)过程的传值调用是将实参的具体值传值递给形参 B)过程的传址调用是将实参在内存的地址传递给形参 C)过程的传值调用参数是单向传递的,过程的传址调用参数是双向传递的 D)无论过程传值调用还是过程传址调用,参数传递都是双向的 66.为了使标签能自动调整大小以显示全部文本内容,应把标签的【 】属性设置为true。67.要想在文本框中显示垂直滚动条,必须把scrollbars属性设置为2,同时还应把【 】属性设置为true。 68.假定有一个文本框,其名称为text1,为了使该文本框具有焦点,应执行的语句是【 】.setfocus。 69.假定有一个名为pic2.bmp的图形文件,要在运行期间把该文件装入一个图片框,应执行的语句为 图片控件名.picture=【 】。 70.为了能自动放大或缩小图像框中的图形以与图像框的大小相适应,必须把该图像框的【 】属性设置为true。 71.窗体、图片框或图像框中图形通过对象的【 】属性设置。72.计时器事件之间的间隔通过【 】属性设置。 73.有时候要暂关闭计时器,这可以通过【 】属性设置为false来实现。74.设a=sqr(2),则语句Print format$(a,”000.0“)的输出结果是【 】。75.设a=sqr(3),则语句Print format$(a,”###.0“)的输出结果是【 】。76.VB应用程序通常由3类模块组成,即窗体模块、【 】模块和类模块。 77在窗体上画两个文本框和一个命令按钮,然后在命令按钮的代码窗口中编写如下事件过程: Private sub command1_click()text1.text=”vb“ text2.text=text1.text text1.text=”abcd“ End Sub 程序运行后,单击命令按钮,文本框text2中显示的内容为 ________。 78.在保存VB应用程序时,窗体文件和工程文件的扩展名分别为【.】和.vbp。79.下列可作为VB的变量名的是()(单)A.Filename B.A3B C.254D D.Print 80.与下列数学式cos2(c+d)对应的VB表达式是【 】。81.与下列数学式2a(7+b)对应地VB表达式是【 】。82.在VB中,字符串常量要用【 】括起来。83.下面的事件不属于鼠标器事件的是()(单)A.MouseDown事件 B.MouseUp事件 C.MouseMove事件 D.Move事件 84.下面的事件不属于键盘事件的是()(单)A.KeyPress事件 B.KeyDown事件 C.KeyUp事件 D.KeyMove事件 85.对以下程序说法不正确的是()(单)Private Sub FileOpen_Click()CommonDialog1.InitDir = ”C:“ CommonDialog1.Filter = ”文本文件 | *.Txt“ CommonDialog1.ShowOpen End Sub A.显示”文件“打开对话框 B.打开的对话框的初始目录为C盘根目录 C.打开的对话框的文件类型为文本文件 D.以上说法都不正确 86.以下程序是求最大公约数和最小公倍数的程序,在【】处填写合适的关系运算符。Private Sub Form_Click()Dim m1, n1, m, n, r As Integer n1 = InputBox(”输入自然数n“, ”输入数“)m1 = InputBox(”输入自然数m“, ”输入数“)n = n1 m = m1 If m <n Then t = m: m = n: n = t End If r = m Mod n Do While r 【 】 0 m = n n = r r = m Mod n Loop Print ”最大公约数=“, n Print ”最小公倍数= “, m1 * n1 / n End Sub 87.下面是求100以内素数的程序。Private Sub Command1_Click()Dim i As Integer, m As Integer, tag As Boolean For m = 2 To 100 tag = True For i = 2 To m-1 If m Mod 【 】 = 0 Then tag = False Next i If tag Then Print m Next m End Sub 88.百元买百鸡问题: 假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现在有100元钱要求买100只鸡,以下程序列出了所有可能的购鸡方案。Private Sub Command1_Click()Dim x%, y%, z% For x = 0 To 33 For y = 0 To 50 For z = 0 To 100 If 3 * x + 2 * y + 0.5 * z = 100 And 【 】 Then Picture1.Print x, y, z End If Next z Next y Next x End Sub 89.随机产生10个100~200之间的数,求它们的最大值程序如下: Private Sub Command1_Click()Max = 100 For i = 1 To 10 x = int【 】 Print x;If x > Max Then Max=x Next i Print Print ”最大值=“;Max End Sub 90.以下是求1~100之间5或7的倍数的和,如下程序段: Sum = 0 For i = 1 To 100 If i Mod 5 = 0 Or i Mod 7 = 0 Then 【】 End If Next i Print Sum 其中【】处书写正确的是()(单)A.Sum = i B.Sum = Sum +i C.Sum = Sum + 5+7 D.以上都不正确 91.要使得在按下鼠标左键时,激发mousedown事件,可以设置此事件中的button参数为()(单) A.0 B.1 C.2 D.4 92.要使得在按下鼠标右键时,激发mousedown事件,可以设置此事件中的button参数为()(单)A.0 B.1 C.2 D.4 93.删除列表框中所有的项目所使用的方法为()(单)A.move B.remove C.clear D.removeitem 94.在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub command1_click()Dim a As String, b As String a = InputBox(”Enter the First integer“)b = InputBox(”Enter the Second integer“)Print b + a End Sub程序运行后,单击命令按钮,先后在两个输入对话框中分别输入456和111,则输出结果是()(单)A.456 B.111 C.567 D.111456 95.传值:形参得到的是实参的值,形参值的改变不会影响实参的值。在定义形参前加关键字Byval。 96.以下利用SUB关键字定义的子过程Rate,其调用格式不正确的是()(单)A.call Rate(12,56)B.Rate(12,56)C.Rate 12,56 D.以上A和C正确 97.以下程序的作用是单击Check1检查框将使得Text1文本框的字体在”加粗“和”常规“之间进行切换。 Private Sub Check1_Click()Text1.FontItalic = Not Text1.FontItalic End Sub 98.窗体中有一个名称为Slider1的可选择性刻度滑块控件,要设置它的如下属性值,可以编写程序()(单)(1)Slider控件的滑块处于最小位置时值为8(2)Slider控件的滑块处于最大位置时值为72(3)单击Slider控件两端箭头时,滑块的增量值为2(4)单击Slider控件的空白处时,滑块的增量值为8 A.Slider1.Min = 8: Slider1.Max = 72: Slider1.SmallChange =2: Slider1.LargeChange = 8 B.Slider1.Min = 2: Slider1.Max = 8: Slider1.SmallChange = 72: Slider1.LargeChange = 8 C.Slider1.Min = 8: Slider1.Max = 72: Slider1.SmallChange = 8: Slider1.LargeChange = 2 D.Slider1.Min = 72: Slider1.Max = 8: Slider1.SmallChange = 2: Slider1.LargeChange = 8 99.以下能判断指针是否指向文件尾的函数是()(单)A.BOF B.LOC C.LOF D.EOF 00.窗体的过程Form_MouseDown(Button As Integer, Shift As Integer, X As Single, YAs Single),有4个参数,关于这些参数,正确的描述是()(单)A.通过Button参数判定当前按下的是键盘上哪一个键 B.Shift参数只能用来确定是否按下Shift键 C.Shift参数只能用来确定是否按下Alt和Ctrl键 D.参数x,y用来设置鼠标当前位置的坐标 01.设组合框Combo1中有3个项目,则以下能删除最后一项的语句是()(单)A.Combo1.RemoveItem Text B.Combo1.RemoveItem 2 C.Combo1.RemoveItem 3 D.Combo1.RemoveItem Combo1.Listcount 1-10ADADA ABADA 11-20CCCDA AACBC 21-30ACDBB CDCCC 31-40ABDAB fontname BAAC 41-45AAC RND*101+100或100+RND*101或RND()*101+100或100+RND()*101 B 46-50CACBB 51-55DBBAA 56-60CDBBA 61-65BCDDD 66Autosize 67Multiline 68Text1 669loadpicture(”pic2.bmp")70Stretch 71Picture 72Interval 73Enabled 74 001.4 75 1.7 76【标准】77VB 78frm 79B 80cos(2*(c+d))81 2*a*(7+b)82【双引号】83D 84D 85D 86<> 87【i】88x+y+z=100 89RND*101+100或100+RND*101或RND()*101+100或100+RND()*101 90B 91-95BBCDV 96-00BVADD 01B 13 VB程序设计试题及答案 (一)一、单选题 1.VB6.0是一种面向 B 的编程环境。 (A)机器(B)对象 (C)过程(D)应用 2.要使FormI窗体的标题栏显示“欢迎使用VB”,以下 D 语句是正确的。 (A)Forml.Caption=“欢迎使用VB” (B)Forml.Caption='欢迎使用VB' (C)Forml.Caption=欢迎使用VB (D)Forml.Caption=“欢迎使用VB” 3.若要使命令按钮不可操作,要对 A 属性进行设置。 (A)EnabIed(B)Visible (C)Backcolor(D)Caption 4.如果在窗体上已经创建了一个文本框对象TextI,可以通过 C 事件获得输入键值的ASCII码。 (A)Change(B)LostFocus (C)KeyPress(D)GotFocus 5.下面 A 是合法的变量名。 (A)X_yz(B)123ab。(C)integer(D)X-Y 6.以下关系表达式 中,其值为False的是 A。 (A)“ABC”>“AbC”(B)“女”>“男” (C)“BASIC”=UCase(“basic)(D)”123“<”23“ 7.为了给x、y、z三个变量赋初值1,下面正确的赋值语句是 A。 (A)x=1:y=1:z=1(B)x=1,y=1,z= 1(C)x=y=z=1(D)xyz=1 8.VB提供了结构化程序设计的三种基本结构,三种基本结构是 D。 (A)递归结构、选择结构、循环结构 (B)选择结构、过程结构、顺序结构 (C)过程结构、输入输出结构、转向结构 (D)选择结构、循环结构、顺序结构 9.下面If语句统计满足性别为男、职称为副教授以上、年龄小于40岁条件的人数,不正确的语句是 D。 (A)If sex=”男“ And age=4O And InStr(duty,”教授“)>O Then n=n+l (B)If sex=”男“ And age=4O And(duty=”教授“ Or duty=”副教授“)Then n=n+l (C)If sex=”男“ And age=4O And Right(duty,2)=”教授“ Then n=n+l (D)If sex=”男“ And age=4O And duty=”教授“ And duty=”副教授“ Then n=n+l 10.下列关于Do…Loop循环结构执行循环次数的描述正确的是 D。(A)Do While…Loop循环和Do…Loop Until循环至少都执行一次(B)Do While…Loop循环和Do…Loop Until循环可能都不执行 (C)Do While…Loop循环至少执行一次和Do…Loop Until循环可能不执行 (D)Do While…Loop循环可能不执行和Do…Loop Until循环至少执行一次 11.以下 B 是正确的For…Next结构。 (A)For x=1 To Step 10(B)For x=3 To-3 Step-3 … … Next x Next x(C)For x=1 To 10(D)For x=3 to 10 step re: … … Next x Next y If i=10 Then GoTO re 12.如下数组声明语句,B 是正确的。 (A)Dim a[3,4] As Integer (B)Dim a(3,4)As Integer (C)Dim a(n,n)As Integer (D)Dim a(3 4)As Integer 13.下列语句中(假定变量n有值),能正确声明可变长数组的是 A。 (A)Dim a()As Integer(B)Dim a()As Integer ReDim a(n)ReDim a(n)As String (C)Dim a()As Integer(D)Dim a(10)As Integer ReDim a(3, 4)ReDim a(n+10) ReDim Preserve a(4, 4) 14.要想从子过程调用后返回两个结果,下面子过程语句说明合法的是 C。 (A)Sub f2(ByVal n%, ByVal m%)(B)Sub f1(n%, ByVal m%) (C)Sub f1(n%, m%)(D)Sub f1(ByVal n%, m%) 15.设有如下程序段: Public Sub F1(n%) … n=3*n+… End Sub Private Sub Command1_Click() Dim n%, m% n=3 m=4 … ‘调用F1语句 … End Sub 则在Command1_Click事件中有效的调用语句是 B。(A)Call F1(n+m)(B)Call F1(m)(C)Call F1(5)(D)Call F1(m+5) 16.用来设置粗体字的属性是 C。 (A)FontItalic(B)FontName(C)FontBold(D)FontSize 17.假定定时器的Interval属性为1000,Enabled属性为True,调用下面的事件过程,程序运行结束后变量x的值为 D。 Dim x As Integer Sub Timer1_Timer() For i=1 to 10 x=x+Next i End Sub (A)1000(B)10000(C)10(D)以上都不对 18.在下列关于通用对话框的叙述中,错误的是 B。 (A)CommonDialog1.ShowFont显示“字体”对话框 (B)在“打开”或“另存为”对话框中,用户选择的文件名可以经FileTitle属性返回 (C)在“打开”或“另存为”对话框中,用户选择的文件名机器路径可以经FileName属性返回 (D) 19.当用户按下并且释放一个键后会触发KeyPress、KeyUp和KeyDown事件,这三个事件发生的顺序是 C。 (A)KeyPress、KeyDown、KeyUp(B)KeyDown、KeyUp、KeyPress(C)KeyDown、KeyPress、KeyUp (D)没有规律 20.在下面关于顺序文件的描述中,正确的是 C。(A)顺序文件中每行的长度都是相同的。(B)可以通过编程对文件中的某行方便地进行修改 (C)数据以ASCII码的形式存放在文件中,所以可通过记事本打开(D)文件的组织结构复杂 21.随机文件是因为 C。 (A)文件中的内容是通过随机数产生的(B)文件中的记录号通过随机数产生的(C)可对文件中的记录根据记录号随机地读/写(D)文件的每条记录的长度是随机的 22.从磁盘上读入一个文件名为“c:t1.txt”顺序文件,如下 A 正确。 (A)F=“c:t1.txt” Open F For Input As #1(B)F=“c:t1.txt” Open “F” For Input As #2(C)Open “c:t1.txt” For Input As #1 (D)Open c:t1.txt For Input As #2 23.坐标度量单位可由通过来 D 改变。 (A)Drawstyle属性(B)DrawWidth属性 (C)Scale方法(D)ScaleMode属性 24.指令“Circle(1000, 1000), 500, 8,-6,-3”将绘制 A。(A)画圆(B)椭圆(C)圆弧(D)扇形 25.用ADO数据控件建立与数据源的链接,设置操作过程按 A 顺序进行。 ①选择数据源连接方式;②选择数据库类型;③指定数据库文件名;④指定记录源 (A)① ② ③ ④(B)② ③ ④ ① (C)③ ① ② ④(D)① ③ ② ④ 二、填空题 1.VB是建立在BASIC语言基础上的可见 化编程语言或编程环境。 2.在窗体上已建立多个控件如Text1、Label1、Command1,若要程序一运行时焦点就定位在Command1控件上,应对Command1控件设置 TabIndex 属性的值为 0。 3.在VB中,1234、123456&、1.2346E+5、1.2346D+5这4个常数分别表示 整形、长整形、单精度、双精度 类型。4.表示x是5的倍数或是9的倍数的逻辑表达式为 x mod 5 = 0 or x mod 9=0。 5.数组声明时下标下界默认为0,利用 Opation Base 1 语句可以使下标为1。 6.传地址方式是当过程被调用时,形参和实参共享 存储单元。7.窗体中的模块级变量应在 窗口模块 段声明,它作用于该窗体的全局范围。 8.当用户单击滚动条的空白处时,滑块移动的增量值由 LargeChange 属性决定。 9.如果菜单标题的某个字母前输入一个“&”符号,那么该字母就成了热键字母;如果建立菜单时在标题文本框中输入一个“1) x(0)= 1 x(1)= 1 For i = 2 To n1)+ x(i1 Print x(i),If(i + 1)Mod 5 = 0 Then Print Next End Sub 输出结果: 1 2 3 8 13 21 34(2)Public Function f(m%, n%) Do While m< >n Do While m> n: m=m-n: Loop Do While m< n: n=n-m: Loop Loop f=m End Function Print f(24, 18) End Sub 输出结果:6(3) Public x as Integer Private Sub Fomr_Click() Dim x as Integer x=10 print "x=";x End Sub 输出结果: x=10 2.补充程序 (1)以下是冒泡法排序的程序,要求将数组里的数按升序排列,将其补充完整。 Private Sub Command1_Click() Dim a(), iMin%, n%, i%, j%, t% a = Array(8, 6, 9, 3, 2, 7) n = ubound(a)' 获得数组的下标上界 For i = 0 To n-1 For j = 0 To n-i-1 If a(j)>a(i)Then t = a(j): a(j)= a(j + 1): a(j + 1)= t End If Next j Next i For i = 0 To n Print a(i);Next i End Sub (2)用递归的方法求n!Private Sub Command1_Click()Print ”fac(4)=“;fac(4)End Sub Public Function fac As Integer If n = 1 Then fac = 1 Else Fac=fac*n End If End Function VB程序设计试题及答案 (三)一、单选题 1.Visual Basic是一种面向对象的可视化程序设计语言,采取了 A 的编程机制。 (A)事件驱动(B)按过程顺序执行(C)从主程序开始执行(D)按模块顺序执行 2.若要使标签控件显示时不覆盖其背景内容,要对 D 属性进行设置。 n=n*j n=n*j Next j Next j Print n Print n Next I Next i(C)n=1(D)n=1(A)Backcolor(B)BorderStyle(C)Forecolor(D)Backstyle 3.在Visual Basic中最基本的对象是 C,它是应用程序的基石,是其他控件的容器。 (A)文本框(B)命令按钮(C)窗体 (D)标签 4.要判断在文本框是否按下Enter键,应在文本框的 D 事件中判断。(A)Change(B)KeyDown(C)Click(D)KeyPress 5.数学表达式3≤x (A)3<=x<10(B)3<=x AND x>10(C)x>=3 Or x<10(D)x>=3 AND x<10 6.Rnd函数不可能为下列 B 值。 (A)0(B)1(C)0.1234(D)0.0005 7.赋值语句:a=123+Mid(”123456“,3,2)执行后,a变量中的值是 D。 (A)”12334“(B)123(C)12334(D)157 8.对于语句If x=l Then y=l,下列说法正确的是 C。 (A)x=l和y=l均为赋值语句 (B)x=l和y=l均为关系表达式 (C)x=l为关系表达式,y=l为赋值语句 (D)x=l为赋值语句,y=l为关系表达式 9.下面程序段表示求两个数中的大数,D 不正确。 (A)Max=IIf(x>y,x,y)(B)If x>y Then Max=x Else Max=y(C)Max=x(D)Ify>=x Then Max=y If y>=x Then Max=y Max=x 10.当在文本框中输入“ABCD”4个字符时,窗体上显示的是 C。 Private Sub Text1_Change()Print Text1;End Sub(A)ABCD(B)A(C)AABABCABCD(D)A B AB C ABC D ABCD 11.下列哪个程序段不能分别正确显示1!、2!、3!、4!的值 B。(A)For i=1 to 4(B)For i=1 to 4 n=1 For j=1 to i For j=1 to I n=1 For j=1 to4 j=1 n=n*j Do While j<=4 Print n n=n*j Next j Print n j=j+1 Loop 12.如下数组声明语句,则数组a包含元素的个数有 A。 Dim a(3,-2 to 2, 5) (A)120(B)75(C)60(D)13 13.以下程序的输出结果是 D。 Dim a a=Array(1, 2, 3, 4, 5, 6, 7)For i=Lbound(a)to Ubound(a) a(i)=a(i)*a(i)Next i Print a(i) (A)49(B)0(C)不确定(D)程序出错 14.在过程中定义的变量,若希望离开该过程后,还能保存过程中局部变量的值,则应使用关键字 D 在过程中定义局部变量。 (A)Dim(B)Private(C)Public(D)Static 15.如下程序,运行的结果是 B。 Dim a%, b%, c% Public Sub p1(x%, y%) Dim c% x=2*x: y=y+2: c=x+y End Sub Public Sub p2(x%, ByVal y%) Dim c% x=2*x: y=y+2: c=x+y End Sub Private Sub Command1_Click() a=2: b=4: c=6 Call p1(a, b) Print “a=”;a;“b=”;b;“c=”;c Call p2(a, b) Print “a=”;a;“b=”;b;“c=”;c End Sub (A)a=2 b=4 c=6(B)a=4 b=6 c=10 a=4 b=6 c=10 a=8 b=8 c=16(C)a=4 b=6 c=6(D)a=4 b=6 c=14 a=8 b=6 c=6 a=8 b=8 c=6 16.复选框的Value属性为1时,表示 B。 (A)复选框未被选中(B)复选框被选中 (C)复选框内有灰色的勾(D)复选框操作有误 17.下面关于菜单的说法中,错误的是 B。 (A)每个菜单项都是一个控件与其他控件一样也有自己的属性和事件 (B)除了Click事件之外,菜单项还能响应其他的,如DbClick事件 (C)菜单项的快捷键不能任意设置 (D)在程序执行时,如果菜单项的Enabled属性为False,则该菜单项变成灰色,不能被用户选择 18.下面关于多重窗体的叙述中,正确的是 B。(A)作为启动对象的Main子过程中能放在窗体模块中(B)如果启动对象是Main子过程,则程序启动时不加载任何窗体,以后由该过程根据不同情况决定是否加载或加载哪一个窗体 (C)没有启动窗体,程序不能执行(D)以上都不对 19.当用户将焦点移到另一个应用程序时,当前应用程序的活动窗体将 D。(A)发生DeActivate事件(B)发生LostFocus事件 (C)发生DeActivate和LostFocus事件(D)DeActivate和LostFocus事件都不发生 20.顺序文件是因为 D。 (A)文件中的数据按每行的长度从小到大排序好的(B)文件中的数据按某个关键数据项从大到小进行排序(C)文件中的数据按某个关键数据项从小到大进行排序(D)数据按进入的先后顺序存放的,读出也是按原写入的先后顺序读出 21.文件号最大可取值为 B。 (A)255(B)511(C)512(D)256 22.Print #1, STR$1中的Print是 A。 (A)文件的写语句(B)在窗体上显示的方法 (C)子程序名(D)以上均不是 23.以下的属性和方法中 C 可重定义坐标系。(A)Drawstyle属性(B)DrawWidth属性 (C)Scale方法(D)ScaleMode属性 24.封闭图形的填充方式由下列 C 属性决定。(A)DrawStyle, DrawMode(B)AutoRedraw, ClipControls (C)FillStyle, FillColor(D)ForeColor, BorderColor 25.下列字符串中,D 不包含在ADO数据控件的ConnectionString属性中。(A)Microsoft Jet 4.0 OLE DB Provider(B)Data Source=C:Mydb.mdb(C)Persist Security Info=False(D)2-adCmdTable 二、填空题 1.在代码窗口对窗体的BorderStyle、MaxButton属性进行了设置,但运行后没有效果,原因是这些属性 在运行时设计是无效的。 2.在文本框中,通过 SelStart 属性能活得当前插入点所在的位置。 3.表达式Ucase(Mid(“abcdefgh”, 3, 4))的值是 CDEF。4.已知a=3.5,b=5.0,c=2.5,d=True,则表达式:a>=0 And a+c>b+3 Or Not d的值是 False。 5.要获得动态数组的上界通过 UBound 函数,下界通过 LBound 函数。 6.由Array函数建立的数组,其变量类型必须是 variant 类型。 7.VB中的变量按其作用域分为全局变量、模块变量和 局部变量 变量。 8.复选框的 Value 属性设置为2——Grayed时,变成灰色,禁止用户选择。 9.滚动条响应的重要事件有 Scroll 和Change。10.假定有一个通用对话框控件CommonDialog1,除了用COmmonDialog1.Action=3显示颜色对话框之外,还可以用 showcolor 方法显示。 11.窗体Form1的左上角坐标为(-200, 250),窗体Form1的右下角的坐标为(300,-150),则X轴的正向向 右,Y轴的正向向 上。 12.使用Circle方法画扇形,起始角、终止角取值范围为 0~2π。 13.在运行状态改变ADO数据控件的数据源连接属性后,必须使用 Refresh 方法激活这些变化。14.VB中工程文件的扩展名为 vbg。 15.如果在窗体上已经创建了一个文本框对象Text1,可以通过 Keypress 事件获得输入键值的ASCII码。16.VB中对象的三要素是 属性、事件 和 方法。 三、编程应用题 1.程序阅读 (1)Private Sub Command1_Click() Dim s as String, i% s="abcd" For i=Len(s)to 1 step-1 Print Mid(s, i, 1)Next i End Sub 输出结果: d c b a(2)Sub Swap1(ByVal x%, ByVal y%)Dim t% t = x: x = y: y = t End Sub Sub Swap2(ByRef x%, ByRef y%)Dim t% t = x: x = y: y = t End Sub Sub Command1_Click() Dim a%, b% a = 10: b = 20 Print ”调用Swap1前 a和b的值为:“;a;b Call Swap1(a, b)Print ”调用Swap1后按传值方式 a和b的值为:“;a;b a = 10: b = 20 Call Swap2(a, b)Print ”调用Swap2后按传地址方式 a和b的值为:“;a;b End Sub 输出结果 调用Swap1前 a和b的值为:10 20 调用Swap1后按传值方式 a和b的值为:10 20 调用Swap2后按传地址方式 a和b的值为: 20 10(3)Private Sub Command1_Click() Dim x%, y%, z% x=242: y=44 z=x*y Do Until x=y If x>y Then x=x-y Else y=y-x Loop Print x, z/x End Sub 输出结果: 22 484 2.补充程序 (1)以下是求1~18之间某个数的阶乘的程序,具体的数值n由滚动条HScroll1获得,结果显示在窗体下部的两个Label标签里。补充完整如下程序。 Private Sub HScroll1_Change()Dim i As Integer, s As Double s = 1 n = Hscroll1.Value If n <> 0 Then For i = 1 To n s = s*i Next i End If Label2.Caption = n & ”!= " Label3.Caption = s End Sub (2)以下程序的功能是:已知数组a,删除数组中某个元素。 Private Sub Command1_Click() Dim a(), key%, i%, j% a=Array(1, 6, 8, 3, 5, 9, 10, 2, 4, 7) key=9 For i=0 to UBound(a)If a(i)=9 Then For j=i+1 to UBound(a)a(j)=a(j+1) Next j ReDim a(j)=a(i) MsgBox("删除完成") Exit Sub End If Next i MsgBox("找不到要删除的元素")End Sub 读程序并填空 1.给定程序的功能是输出一组数的最大值和最小值,在画线处填入适当内容,将程序补充完整。 Private Sub End Function 4.给定程序的功能是建立并输出除主、副对角线上的元素为5外,其余元素都为1的方阵,在画线处填入适当内容,将程序补充完整。Command1_Click() X=Array(-112, 18, 20,-5,-100, 82, 91, 56, 78, 99, Private Sub Command1_Click()100) Max=x(0) Min=x(0) For I=1 To 10 If x(I)>Max Then _____________ End if If x(I)>Min Then _____________ End if Next I Print “MAX=”;Max , “MIN=”;Min End Sub 2.若A2+B2+C2 , 则A,B,C称为一组勾股数,如下程序是找出100以内的所有勾股数,并按A,B,C顺序输出。请在画线处填入适当内容。 Private Sub Command1_Click() For A=2 To 99 For B=A+1 To 100 C=_____________ If ____________ And C<=100 Then Print A, B, C End If Next B Next A End Sub 3.本程序的功能是计算输入数的阶乘,请在画线处填上适当的内容使程序完整。 Private Sub form_Click() Do N=Val(InputBox(“请输入一个大于0的整数:”)) Loop Until N>0 Print Fact(N) End Sub Private Function Fact(M) Fact= _______________(1分) For I=2 To ____________(2分) Fact = ______________(2分) Next I Dim A(10,10) For I=1 To 10 For J=_______________(2分) If __ _____________ Then A(I, J)=5 Else A(I, J)=1(1分)Next J Next I For I=1 To 10 For J=1 To 10 Print A(I, J);Next J __ __________ (2分)Next I End Sub 编写一个程序,在程序运行时输入一个0—99999之间的整数,判断输入的是几位数,并在窗体输出结果。 编写一个程序,在窗体上添加两个命令按钮,运行程序时,单击[开始]按钮,在窗体输出1~100之间所有能被3整除的数。单击[结束]按钮,结束程序。第三篇:《vb程序设计》期末复习题及答案范文
第四篇:VB程序设计试题与答案
第五篇:VB程序设计试题及答案(一)