VB程序设计练习题附加答案.docx
《VB程序设计练习题附加答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计练习题附加答案.docx(55页珍藏版)》请在冰豆网上搜索。
VB程序设计练习题附加答案
《VB程序设计》综合复习资料
第一章VisualBasic程序设计概述
一、填空题
1、VisualBasic是一种面向__对象________的可视化程序设计语言,采取了事件驱动________的编程机制。
2、在VB中工程文件的扩展名是vbp__________,窗体文件的扩展名是___frm_________,标准模块文件的扩展名是__bas_________。
3、执行“工程”菜单下的_部件_________命令,可选择并添加ActiveX控件。
WINDOWS________环境下的应用程序。
二、选择题
1、下面不是VB工作模式的是(C)
A.设计模式B.运行模式C.汇编模式D.中断模式
2、可视化编程的最大优点是(C)
A.具有标准工具箱
B.一个工程文件由若干个窗体文件组成
C.不需要编写大量代码来描述图形对象
D.所见即所得
3、下列不能打开属性窗口的操作是(C)
A.执行“视图”菜单中的“属性窗口”命令
B.按F4键C.按Ctrl+T
D.单击工具栏上的“属性窗口”按钮
4、下列可以打开立即窗口的操作是(D)
A.Ctrl+DB.Ctrl+EC.Ctrl+FD.Ctrl+G
5、VisualBasic的编程机制是(D)
A.可视化B.面向对象C.面向图形D.事件驱动
三、简答题
1、代码窗口主要包括哪几部分?
2、在工程资源管理器窗口中,主要列出了哪三类文件?
3、窗体布局窗口的主要用途是什么?
4、VB的基本特点是什么?
5、怎样理解可视化设计?
6、怎要理解事件驱动编程?
第二章简单的VB程序设计
一、填空题
1、设置是否可以用Tab键来选取命令按钮,应该用__Tabstop____________属性。
2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。
3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。
4、设置控件背景颜色的属性名称是______________________。
5、所有控件都具有的共同属性是__________________属性。
6、一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________。
7、VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外观和操作。
8、通常情况下,VB中一个工程主要包括如下四个文件:
窗体文件、工程文件、类模块文件和_____________文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序。
9、VB有三种工作模式,分别是设计(Design)模式、_____________和中断(Break)模式。
二、选择题
1、以下能够触发文本框Change事件的操作是(c)
A.文本框失去焦点B.文本框获得焦点
C.设置文本框的焦点D.改变文本框的内容
2、应用程序设计完成后,应将程序保存,保存的过程是(d)
A.只保存窗体文件即可
B.只保存工程文件即可
C.先保存工程文件,之后保存窗体文件
D.先保存窗体文件(或标准模块文件),之后还要保存工程文件
3、VB应用程序的运行模式是(c)
A.解释运行模式B.编译运行模式C.两者都有D.汇编模式
4、任何控件都具有的属性是(a)
A.TEXTB.CAPTIONC.NAMED.FORECOLOR
5、决定控件上文字的字体、字形、大小及效果的属性是(D)
A.TEXTB.CAPTIONC.NAMED.FONT
6、在窗体上建立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的(B)设置为0
A.INDEXB.TABINDEXC.TABSTOPD.ENABLED
7、运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的TEXT属性进行赋值从而改变了文本框的TEXT属性值时,将触发文本框的(A)事件
A.CLICKB.DBLCLICKC.GOTFOCUSD.CHANGE
8、在运行时,按TAB键跳过了一个可以获得焦点的控件(如文本框),则可能是因为(B)
A.该控件的TABSTOP属性值为TRUEB.该控件的TABINDEX属性值为FALSE
C.该控件的ENABLED属性值为TRUED.该控件的ENABLED属性值为FALSE
9、为了防止用户随意将光标置于控件上,应(A)
A.将控件的TABINDEX属性设置为0
B.将控件的TABSTOP属性设置为TRUE
C.将控件的TABSTOP属性设置为FALSE
D.将控件的ENABLED属性设置为FALSE
10、若要使标签控件显示时,不覆盖其背景内容,应设置标签控件的(D)属性
A.BACKCOLORB.BORDERSTYLE
C.FORECOLORD.BACKSTYLE
11、如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是(B)
A.文本框的MULTILINE属性值为TRUE
B.文本框的LOCKED属性值为TRUE
C.文本框的MULTILINE属性值为FALSE
D.文本框的LOCKED属性为FALSE
12、在运行阶段,要在文本框TEXT1获得焦点时选中文本框中所有内容,对应的事件过程是(B)
A.PrivateSubText1_GotFocus()
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text)
EndSub
B.PrivateSubText1_LostFocus()
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text)
EndSub
C.PrivateSubText1_Change()
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text)
EndSub
D.PrivateSubText1_SetFocus()
Text1.SelStart=0
Text1.Sellength=Len(Text1.Text)
EndSub
13、VisualBasic继承了Basic语言简单易用的语法特点,同时支持面向对象的编程机制,其中构成其控件(对象)的三要素是(D)
A.属性、事件、事件过程B.控件、窗体、事件
C.属性、过程、方法D.属性、事件、方法
14、决定标签(Label)显示的属性是(C)
A.TextB.NameC.CaptionD.Alignment
15、命令按钮的标题文字由(B)属性来设置。
A.TextB.CaptionC.NameD.(名称)
16、若要设置文本的显示颜色,则可用(A)属性来实现。
A.BackColorB.ForecolorC.FillColorD.Backstyle
17、在运行时,若要调用某命令钮的Click事件过程,则可设置该命令钮对象的()属性为Ture来实现。
A.EnabledB.ValueC.DefaultD.Cancel
18、在运行时,若要获得用户在文本框中所选择的文本,可通过访问()属性来实现。
A.SelStartB.SelLenghtC.TextD.SelText
三、简答题
1、事件驱动的含意是什么?
举例说明。
2、交互式开发方法和传统的应用程序开发过程有什么不同?
3、文本框在什么情况下使用?
4、什么是工程?
5、结构化程序设计的三种基本结构是什么?
6、对象的三要素是什么?
并分别进行简单的解释。
7、为什么要生成可执行文件和制作安装盘?
8、使用变量前先声明有什么好处?
9、如何使用帮助功能?
10、结构化程序设计的特点是什么?
11、为了把焦点移到某个指定的控件,在代码中应使用的方法是什么?
12、启动VisuaBasic后,只创建了一个窗体,若此时保存,需要保存几个文件?
各是什么文件?
先保存的是哪一个?
13、为了防止文本框中的信息运行后被用户修改,应设置什么属性?
第三章VB基本语言
一、填空题
1、一般可以使用__________关键字声明常量。
2、______类型也称变体类型,是一种通用的、可变的数据类型,它可表示或存储任何一种数据类型。
3、变量的声明分为两种方法:
__________和____________。
4、在VB中,用___________________语句设定数组的下界,用_____________和__________________语句分别返回数组的上、下界。
5、在代码模块中加入OptionExplicit的目的是_____________________。
6、functionaa(a1asdate,optionala2asboolean)assingle,写出optional命令的作用__________________。
7、在VB中,我们用一个简单的______语句就能实现退出程序。
8、生成消息框的命令是____________,生成输入框的命令是____________。
9、通用对话框(commondialog)属activex控件,它可以显示多个标准对话框,包括打开/另存为、字体、打印等对话框,若要显示所有文件,则应设置其属性filter=____________,若要使它显示为打印对话框,则应使用什么方法____________。
10、从字符串中任意位置截取字符的函数是__________。
11、语句Forj=3To20Step3使循环体执行了______次。
12、对于正在使用的动态数组Arraya(),要增加一个单元,但不能破坏数组内的数据,则应使用语句__________________________________。
13、在VisualBasic中声明静态变量的关键字是_________________。
14、表达式10Mod6\4的值为______。
15、表达式chr(Asc("a")+5)的值为_________。
16、VB中使用注释有2种方法,即________和________。
17、VB中的数据以四种形式存储:
常量、_________、_________和记录。
18、为了在VB中存储一个4行5列的二维矩阵,需要定义一个整型的数组,请把数组定义语句补充完整:
DimJuzhen(__)asInteger。
19、控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名,但是每个控件都有一个唯一的下标来区分,我们使用属性____来设置下标。
20、在过程调用中,实现调用过程的实参和被调用过程的形参之间的数据传递有两种方式:
按值传递和____。
21、为了保证程序中必须对变量的强制性定义,需要在代码模块的声明部分加入______________语句。
22、分析For……Next循环结构的实例:
Fori=5To30Step2中,循环体一共执行了______次。
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.rightB.abc@123C.123_abcD.ab123c
2、下列说法错误的是()
A.在同一模块不同过程中的变量可以同名
B.不同模块中定义的全局变量不可以同名
C.引用另一模块中的全局变量时,必须在变量名前加模块名
D.同一模块中不同级的变量可以同名
3、把MsgBox的返回值转换为数值应该使用的函数是()
A.LogB.StrC.LenD.Val
4、语句DIMAA(3,4,5)中定义的数组有()个元素
A.12B.60C.120D.345
5、下面程序运行后输出的结果是()
A$="CHINA"
B$=STRING$(3,A$)
PRINTB$
END
A.CHIB.CCCC.INAD.AAA
6、以下语句的输出结果是()
PrintFormat$(32548.5,"")
A.32548.5B.325,485.00C.032,548,50D.32,548,50
7、以下叙述中错误的是()
A.如果过程被定义为Static类型,则该过程中的局部变量都是Static类型
B.Sub过程中不能嵌套定义Sub过程
C.Sub过程中可以嵌套调用Sub过程
D.事件过程可以像通用过程一样由用户定义过程名
8、VisualBasic提供的OnErrorResumenext错误陷阱语句表示()
A.当发生错误时,使程序转跳到语句标号为0的程序块
B.当发生错误时,不使用错误处理程序块
C.当发生错误时,忽略错误行,继续执行下一语句
D.当发生错误时,终止本过程执行,继续执行下一过程
9、在VisualBasic中,若要将控制权交给操作系统则通过()的语句。
A.EndB.ExitDoC.ExitSubD.DoEvents
10、在VisualBasic中语句的续行号采用()
A.空格与下划线B.下划线与空格C.空格与短线D.短线与空格
11、假定有以下程序段:
Fori=1to3
Forj=5to1Step–1
Printi*j
Nextj,i
则语句Printi*j的执行次数是()
A.15B..16C.17D.18
12、从键盘上输入两个字符串,分别保存在变量str1、str2中。
确定第二个字符串在第一个字符串中起始位置的函数是()
A.LeftB.MidC.StringD.Instr
13、如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为()
A.0B.-1C.TRUED.FALSE
14、下列叙述不正确的是()
A.注释语句是非执行语句,仅对程序的内容起注释作用,它不被解释和编译
B.注释语句可以放在代码中的任何位置
C.注释语句不能放在续行符的后面
D.代码中加入注释语句的目的是提高程序的可读性
15、语句PRINT“INT()”;INT()的输出结果为()
A.INT()B.INT()
C.INT()=-13D.INT()=-14
16、如果TAB函数的参数小于1,则打印位置在第()列
A.0B.1C.2D.3
17、变量未赋值时,数值型变量的值为()
A、0B.空C.1D.无任何值
18、下列语句中正确的是()
B.command1.name=cmdok
C.12label.caption=1234D.a=inputbox(“hello”)
19、假设变量BOOLVAR是一个布尔型变量,则下面正确的赋值语句是()
A.BOOLVAR=‘TRUE’B.BOOLVAR=.TRUE
C.BOOLVAR=#TRUE#D.BOOLVAR=3<4
20、以下()程序段可以实施X、Y变量值的变换()
A.Y=X:
X=YB.Z=X:
Y=Z:
X=Y
C.Z=X:
X=Y:
Y=ZD.Z=X:
W=Y:
Y=Z:
X=Y
21、语句PRINT“SGN(-26)=”;SGN(-26)的输出结果为()
A.SGN(-26)=26B.SGN(-26)=-26
C.SGN(-26)=+1D.SGN(-26)=-1
22、读下面程序段,判断变量Str2的取值是()
DimStr1,Str2asString
Str1="University"
Str2=STRING$(3,Str1)
A.UniB.UUU
C.ityD.yyy
23、VB支持自定义数据类型,在某程序中我们定义了如下类型:
TypeStudent
numberAsstring
nameAsString
ageAsInteger
EndType
针对上述定义,如下几项用法正确的是()
A.Student.name="张三"B.DimsAsStudent
s.name="张红"
C.DimsAsTypeStudentD.DimsAsType
s.name="张三"s.name="张三"
24、一个工程中包含两个名称分别为Form1、Form2的窗体,一个名称为mdlFunc的标准模块。
假定在Form1、Form2和mdlFunc中分别建立了自定义过程,其定义格式为:
Form1中定义的过程:
PrivateSubfrmfunction1()
EndSub
Form2中定义的过程:
PublicSubfrmfunction2()
EndSub
mdlFunc中定义的过程:
PublicSubmdlFunction()
EndSub
在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是()
A.上述三个过程都可以在工程中的任何窗体或模块中直接被调用
B.只有mdlFunction过程能够被工程中各个窗体或模块直接被调用
C.frmfunction1只能在form1中调用,而frmfunction2则可以在所有模块或窗体中被直接调用
D.上述三个过程都只能在各自被定义的模块中直接调用
25、VB中Do……Loop结构既可以构成当型循环,也可以构成直到型循环,根据下面的代码:
Dimi,nasInteger
n=20
i=1
Do
Printi;
i=i+2
LoopUntili>20
判断循环结构的类型和循环体的执行次数,正确的选项是()
A.当型循环,20次B.直到型循环,10次
C.当型循环,10次D.直到型循环,20次
26、在程序中,使用InputBox函数可以接受用户的输入,如果要把它的返回值转换为数值型的数据,应该使用的函数是()
A.ValB.Len
C.StrD.Log
27、动态数组因为在程序运行前无法确定数组的大小,所以经常根据程序的运行情况,对数组进行重新定义,以下关于VB中动态数组的叙述中不正确的是()
A.可以用ReDim语句重新定义动态数组,并且可以进行多次重定义
B.首次用Dim进行动态数组声明的时候,必须指明它的类型和上下界
C.Preserve为ReDim语句的可选参数,用于保留动态数组原来的内容
D.当对动态数组使用Erase语句进行释放操作时,将释放其内存
28、VB中的控件也叫做部件或组件,主要包括三类,以下哪一项不属于VB控件的分类()
A.控件B.可插入对象
C.ADO控件D.ActiveX控件
29、表达式4+5\6*7/8Mod9的值是()
A.4B.5C.6D.7
30、可以同时删除字符串前导和尾部空白的函数是()
A.LtrimB.RtrimC.TrimD.Mid
三、简答题
1、全局变量声明有哪些限制?
2、字符串是否可以自动转换为数字类型?
3、用Format函数格式化后的字符格式在不同区域环境下的输出是否相同?
为什么?
4、在InputBox函数中,哪一个参数是必需的?
5、在MsgBox函数中哪一个参数是必须的?
6、在什么情况下使用过程?
7、为什么要进行程序调试?
8、调试程序有哪些手段?
9、用语句DimA(-3To5)AsInteger定义的数组的元素个数是多少?
10、设有如下的VisualBasic表达式:
5*x^2-3*x-2*Sin(a)/3,与它对应的数学式是什么?
11、数学式
对应的VB表达式是什么?
12、表达式2>3And4<=5Or4>4的值是什么?
13、怎样在程序中设置断点?
14、在什么情况下可以设置断点?
15、程序出错的类型有哪几种?
16、在同一模块、不同过程中声明的相同变量名,两者是否表示同一个变量?
为什么?
17、什么情况下会出现“数组下标越界错误”?
18、逐语句和逐过程有什么区别?
19、表达式2.75*2\3.45的值是什么?
20、在程序设计中为什么尽量不用GoTo语句?
四、读程序题
1、分析以下程序,写出运行结果。
PrivateSubForm_Click()
score=Int(Rnd*10)+80
SelectCasescore
CaseIs<60
A$="F"
Case60To69
A$="D"
Case70To79
A$="C"
Case80To89
A$="B"
CaseElse
A$="A"
EndSelect
PrintA$
EndSub
2、读下面的程序,分析其功能,写出运行结果。
在窗体上有一个命令按钮,名称为Command1。
然后编写如下程序:
PrivateSubCommand1_Click()
ForI=1To4
ForJ=0ToI
PrintChr$(65+I);
Nex