版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——VB第2版习题与解答VB习题与解答
第1章了解VisualBasic
1.VisualBasic6.0有哪些主要特点?解答:
VisualBasic6.0主要有如下的特点:⑴面向对象的可视化设计平台;⑵事件驱动的编程机制;⑶结构化的程序设计语言;
⑷开放的数据库功能与网络支持;⑸充分利用WINDOWS资源;⑹便利实用的程序向导等。
2.如何启动VisualBasic6.0?解答:选择│││命令,即可启动VB。
3.VisualBasic6.0集成开发环境中有哪些常用窗口?它们的主要功能是什么?解答:
VB集成开发环境主要包含以下窗口:主窗口、工具箱、窗体窗口、工程资源管理器窗口、窗口以及窗口等。
⑴主窗口:由顶部的标题栏、菜单栏和工具栏以及下面的工作区组成。主窗口是VB集成开发环境的主界面,VB程序的设计及调试均在此进行。
⑵工具箱:标准工具箱中含有一个指针图标和20个内部(标准)控件的图标。除指针图标外,每一个图标代表一种控件,每个控件都是已经定义好的对象,它们有自己的属性、方法和事件。
⑶窗体窗口:窗体窗口又称为“对象窗口〞或“窗体设计器〞。窗体窗口是设计用户界面的地方。
⑷工程资源管理器窗口:工程资源管理器窗口(简称工程窗口)用于显示和管理当前程序中所包含的全部文件。
⑸窗口:用于设置窗体和控件的属性,如名称、外观、位置、字体等。⑹窗口:用于指定程序运行时窗体的初始位置。⑺代码窗口:代码窗口又称为代码编辑器,用于输入和编辑程序
⑻窗口:使用窗口可以在中断状态下监视对象属性、变量或表达式的值,也可以在设计时查询表达式的值或命令的执行结果。
4.工程资源管理器和属性窗口各有哪些组成部分?它们的主要功能是什么?解答:
工程资源管理器窗口由三部分组成,自上而下分别为标题栏、工具栏和文件列表,分别用于显示当前工程名称、切换代码和对象窗口、管理工程中的所有文件。
1
窗口由五部分组成。标题栏用于显示当前选定的窗体或控件的名称;对象下拉列表框用于选择当前窗体及其所包含的对象;属性显示排列方式选项卡用于确定属性显示的排列方式;属性列表框用于列出所选对象可以设置的属性及其默认值;属性说明框用于显示当前选中属性的名称,并对其功能进行简要说明。。
5.假使集成开发环境中的某些窗口已被关闭,如何再将它们开启?解答:
通过选择菜单中的命令或选择工具栏特定按钮显示相关窗口。
6.如何在工具箱中添加和删除扩展控件?解答:
选择菜单中的命令,或者右击工具箱,在快捷菜单中选择命令,开启对话框,在选项卡的列表中,将所需控件前面的复选框选中(选定标志为“√〞),单击按钮。
第2章从零开始编写VB程序
1.什么是对象?举例说明对象的属性、事件和方法。解答:
在面向对象的程序设计(OOP)中,对象是具有属性和方法,能对特定事件做出反应的实体,如窗体、文本框、命令按钮等都是对象。
属性可看作对象的静态特征。通过对属性值的改变,可以使对象的状态发生变化。属性用来描述和反映对象特性的参数,如控件的名称、标题、颜色、字体、以及是否可见等。
事件是由用户或系统触发,可以由对象识别的操作。例如单级命令按钮时,触发命令按钮的Click事件。
方法是对象所具有的动作或功能。例如,调用窗体的Print方法,可以在窗体上显示文字,调用窗体的Move方法,可以移动窗体的位置。
2.对象的Name(名称)属性与Caption属性有何区别?解答:
对象的Name(名称)属性与Caption属性主要有以下区别:
⑴所有对象都具有Name(名称)属性;只有部分对象具有Caption属性。
⑵在一个窗体中,每个对象的名称必需保证惟一性,即不得有重名对象;而不同对象的Caption属性值可以一致。
⑶对象的Name属性值必需符合VB对象命名规范;而Caption属性值可以含有任意字符。
⑷对象的Name属性值不得为空字符串;而Caption属性值可以是空字符串。
⑸程序运行时,对象的Name属性为只读属性,即不得为其重新赋值;而Caption属性可以被重新赋值,且次数不限。
3.如何在窗体上显示文字?如何清除窗体上的文字?在多窗体程序中如何设置启动窗体?
解答:
2
调用窗体的Print方法可以在窗体上显示文字。调用窗体的Cls方法可以清除窗体上的文字。
在多窗体程序中设置启动窗体的方法:执行菜单中的命令,开启对话框,在下拉列表框中选择所需窗体并单击按钮。
4.怎样为命令按钮设置访问键?怎样为文本框设置访问键?解答:
为命令按钮设置访问键的方法:设置Caption属性时,将需要设置为访问键的字母前面加上“&〞,则在程序运行时标题中的该字母即带有下划线,这一字母即成为访问键。
为文本框设置访问键的方法:添加一个标签,在标签的Caption属性中指定访问键,然后将标签的TabIndex属性设置为文本框的TabIndex值减1。
5.要在命令按钮上添加图片应当设置什么属性?若已在规定的属性里装入某个图形文件,但按钮仍不能显示图形,应如何修改?
解答:
要在命令按钮上添加图片应当将其Picture属性设置为一幅图片,并将其Style属性设置为1-Graphical。若已在Picture属性里装入某个图形文件,但按钮仍不能显示图形,应将其Style属性设置为1-Graphical。
6.文本框和标签的主要区别是什么?解答:
文本框既可用于显示文字,亦可用于输入文字;标签只能用于显示文字。
7.如何将文本框设置成多行文本框并使其显示垂直滚动条?
解答:将文本框的Multiline属性设置为True,并将其ScrollBars属性设置为2-Vertical。
8.制作一个密码框,输入密码时只显示#号,密码的长度不得超过16个字符。解答:
将文本框的PasswordChar属性设置为“#〞,并将其MaxLength属性设置为16。
9.简述开发VB应用程序的一般步骤。解答:
开发VB应用程序的一般步骤如下:⑴设计应用程序界面;⑵设置对象的属性;
⑶为对象的事件过程编写代码;⑷运行调试;
⑸保存文件及生成可执行文件。
第3章VB语言基础
1.以下哪些符号是合法的变量名?
VB258、Sgn、88Ai、A\\B、取消、VisualBasic
3
解答:VB258、取消
2.以下符号哪些是常量,哪些是变量?
123、PI、True、“正确〞、Good、8!、6e-5解答:
常量:123、True、“正确〞、8!、6e-5变量:PI、Good
3.计算以下表达式的值。⑴6>8⑵21/2⑶17\\5
⑷9.8Mod5*2
⑸TrueXorNot10⑹8=6And81Imp1
Fori=1To4
Picture3.PrintSpc((i-1)*4);Picture3.PrintA(i,i)S=S+A(i,i)Next
Picture3.Print\元素平均值=\Picture3.Print\矩阵A右上左下对角元素:\S=0
Fori=4To1Step-1
Picture3.PrintSpc((i-1)*4);Picture3.PrintA(5-i,i)S=S+A(5-i,i)Next
Picture3.Print\元素平均值=\EndSub
⑸按习题要求⑷,将矩阵A按列的次序把各元素放入一维数组D中并显示结果的代码如下:
PrivateSubCommand6_Click()
Dimi%,j%,k%,D(1To16)AsIntegerPicture3.Cls:Picture3.Print
Picture3.Print\将矩阵A按列顺存入一维数组D\Picture3.Print\数组各元素为:\Fori=1To4Forj=1To4
k=(i-1)*4+j'数组D元素下标D(k)=A(j,i)'按列顺序存入数组DPicture3.PrintD(k);'显示'根据图片框宽度限制每行显示的元素个数IfkMod6=0ThenPicture3.PrintNextNextEndSub
4.设某数组有10个元素,元素的值由键盘输入,要求将前5个元素的值与后5个元素的值互换,即第1个与第10个互换,第2个与第9个互换,依此类推。最终输出数组各元素原来的值和对换后各元素的值。
解答:
窗体上不放置任何控件,利用窗体的单击事件,通过InputBox函数输入数组元素,然后完成题目要求。
代码如下:
PrivateSubForm_Click()ConstN=10
DimiA(1ToN)AsInteger,i%,t%
16
Print\交换前:\Fori=1ToN
iA(i)=Val(InputBox(\请输入第\个数:\\输入\PrintiA(i);NextPrint
'将第i个元素与倒数第i个元素交换Fori=1ToN\\2t=iA(i)
iA(i)=iA(10-i+1)iA(10-i+1)=tNext
Print\交换后:\Fori=1ToNPrintiA(i);Next
Print:PrintEndSub
5.设某数组中有10个数,用冒泡法按递增顺序排序。解答:
窗体上不放置任何控件,利用窗体的单击事件完成题目要求。代码如下:
PrivateSubForm_Click()ConstN=10
Dimi%,j%,t%,flagAsBooleanDimiA(1ToN)AsIntegerPrint\排序前:\Fori=1ToN
iA(i)=Int(Rnd*10+1)PrintiA(i);NextPrinti=2Do
flag=True
Forj=NToiStep-1'从N至i个元素自后向前两两比较IfiA(j)12Thenn=12
Text1.Text=\EndIf
ReDimA(n,n)'将动态数组A定义为n行n列的二维数组Fori=1Ton'对角线和第一列为1A(i,i)=1A(i,1)=1Next
Fori=3Ton'为其他数组元素赋值Forj=2Toi-1
'当前元素=双肩(上一行)二元素之和
A(i,j)=A(i-1,j-1)+A(i-1,j)NextNextEndSub
⑶按钮单击事件代码如下:
PrivateSubCommand1_Click()'直角三角形CallYangHui'执行自定义过程Ifn=0ThenExitSubFori=1Ton'输出杨辉三角Forj=1Toi
IfA(i,j)解答:
⑴子过程和函数过程统称为过程。过程定义语句中的参数称为形参(形式参数);过程调用语句中的参数称为实参(实际参数)。
⑵用对象作为参数与用其他数据类型作为参数的过程在语法格式上一致,只需将参数声明为特定对象类型即可。调用含有对象参数的过程时,需要将实参设置为对象名称,该对象必需与形参的类型一致,并且采用传址方式。
3.调用子过程和函数过程时,实参和形参的对应关系如何?应注意些什么问题?解答:
调用一个有参数的过程时,要把语句中的实参按顺序依次传递给被调用过程的形参。形参相当于过程中的过程级变量,参数传递相当于给变量赋值。实参与形参在类型和排列顺序上必需一致。
4.传址和传值的特点是什么?如何选择?解答:
用传值方式调用过程时,传递给形参的只是调用语句中实参的值,即把调用语句中实参的值复制给子过程或函数过程中的形参。若在被调过程中改变了形参的值,不会影响到实参的值。
用传址方式调用过程时,是将实参的内存地址传递给形参,即让形参和实参使用一致的内存单元。因此,在被调过程中对形参的任何操作都变成了对相应实参的操作,实参的值就会随形参改变。
在两种传递方式的选择上,除了语法规定必需采用传址方式的状况外,一般选用传值方式。这样可以减少各过程的关联(因实参不受形参影响),增加程序的可靠性,便于调试。对于容量较大的变长字符串变量,寻常采用传址方式,以节省内存空间。
5.指出下面过程语句声明中的错误SubMySub(x%)AsIntegerFunctionF1%(F1%)
SubMySub(ByValn()AsInteger)解答:
⑴Sub过程没有返回值,不应有过程返回值类型说明AsInteger.⑵Function过程名不得与参数同名。⑶数组参数n()应按地址传递。
6已知有以下求两个立方数之和的CubeSum子过程:PrivateSubCubeSum(Sum%,ByValx%,ByValy%)Sum=x*x*x+y*y*yEndSub
在窗体单击事件过程中有如下变量声明和赋值:PrivateSubForm_Click()Dima%,b%,c#a=20:b=40
请指出以下各过程调用语句的错误:CubeSum7,8,9
21
CubeSumc,b,a
CubeSuma+b,a,bCallCubeSumc,a,b解答:
⑴CubeSum过程的第一个参数为传址参数,因此实参应为变量,而不应为常数。⑵CubeSum过程的第一个参数为传址参数,该参数类型为整型,而变量c为双精度型,类型不符。
⑶CubeSum过程的第一个参数为传址参数,因此实参应为变量,而不应为表达式。⑷用Call语句调用过程时,参数应放在括号内。
7.编制随机整数函数,产生20个1~100之间的随机数。解答:
⑴随机整数函数代码如下:
PrivateFunctionRandomInt()AsIntegerRandomize
RandomInt=Int(Rnd*100+1)EndFunction
⑵利用窗体的单击事件输出20个1~100之间的随机数:
PrivateSubForm_Click()DimiAsIntegerFori=1To20PrintRandomInt;NextPrintEndSub
8.简述KeyPress与KeyDown事件、Click与MouseDown事件的区别。解答:
⑴当一个对象具有焦点时,用户按下再松开一个可返回ASCII码的按键时触发KeyPress事件。该事件可以引用任何可打印的键盘字符,包括大小写字母、数字、标点、运算符以及Enter、Backspace、Tab和Esc键等;对方向键等不产生ASCII码的按键无响应。
当一个对象具有焦点时,按下一个键时触发KeyDown事件。该事件的KeyCode参数用来表示物理键,不区分字母的大小写,要分辩ASCII字符,应使用KeyPress事件。利用该事件还可以判断在按下某一键时,是否同时按下了Shift、Ctrl和Alt键。KeyDown事件常用于以下状况:①扩展的字符键,如功能键等;②定位键;③键盘修饰和按键的组合;④区别数字小键盘和常规数字键。
⑵Click事件是在一个对象上按下然后释放一个鼠标按钮时发生,该事件不能区分按下的鼠标按钮。为区别鼠标的左、中、右按钮,应使用MouseDown和MouseUp事件。
当按下鼠标按钮时发生MouseDown事件。该事件能够区分按下的鼠标按钮以及是否同时按下Shift、Ctrl和Alt键。该事件在鼠标右击操作中和判断鼠标指针位置时特别有用。
22
第9章程序调试
1.VB程序中会出现哪三类错误?试举例说明。解答:
VB程序中可能出现的错误可以分为三类:编译错误、规律错误和运行异常错误。
⑴违背VB语法规定,不正确地书写代码,会造成编译错误,这是最常见的错误类型。例如输入了拼写错误的关键字,遗漏了某些必要的标点符号,使用了For语句但没有Next语句与之对应,调用函数没有提供必要的参数等。
⑵程序运行时没有依照预期的方式去执行,或者没有得到预期的结果,则说明程序发生了规律错误。从语法的角度来看,代码是正确的,运行过程也顺利,但是却产生了不正确的结果,其原因是程序中的处理规律出现错误。例如将“〞,循环语句的开始和终止条件设置有误等。
⑶程序运行时,当一个语句试图执行一个不能执行的操作时,就会发生运行异常错误(又称实时错误)。例如,某些系统硬件问题,意料之外的数组下标越界,除法运算中除数为0,试图读取未准备好的磁盘文件等等,均会引起运行异常错误。
2.编写一个具有错误捕获和处理的函数,将两个数字参数做除法运算。解答:
PrivateFunctionDivision(xAsSingle,yAsSingle)AsSingleOnErrorGoToError1Division=x/yExitFunctionError1:
MsgBoxErr.DescriptionEndFunction
3.语句Debug.Print将结果显示在哪个窗口上?需要监视一个变量的值应当使用哪个窗口?
解答:
语句Debug.Print将结果显示在窗口中。需要监视一个变量的值应当使用窗口。
4.使用选择法对10个整数从小到大排序,编写程序并对其调试,了解VB的程序调试方法。
解答:
参见教材第7章例题编写使用选择法对10个整数从小到大排序的程序并调试。
5.参考例9.1设计除法程序,当错误发生时,利用MsgBox函数和Err对象,显示出错误类型、原因和错误发生的地方。
解答:
PrivateSubcmdCalc_Click()OnErrorGoToError1
Text3.Text=Val(Text1.Text)/Val(Text2.Text)
23
ExitSubError1:
MsgBox\错误号:\\错误原因:\\错误源:\EndSub
第10章设计多功能用户界面
1.菜单名与菜单项有何区别?热键与快捷键有何区别?解答:
⑴每个菜单名下可包括若干菜单项和子菜单名。每个菜单项就是一个命令,菜单项可以有热键(访问键)与快捷键,而菜单名只能有热键。子菜单名又可包含自己的若干菜单项。
⑵热键(访问键)指使用Alt键+字符键来开启菜单。快捷键是指直接按下某一组合键(如Ctrl+C),不必开启菜单即可执行相应的菜单命令。
2.建立动态菜单的关键是使用什么?解答:
建立动态菜单的关键是必需使用菜单控件数组。
3.设计弹出菜单使用何种方法实现?解答:
弹出菜单的设计方法是先用菜单编辑器设计一个普通菜单,然后用VB提供的PopupMenu方法来显示弹出菜单。
4.Toolbar与ImageList的作用分别是什么?如何使它们连接?解答:
⑴Toolbar用于创立工具栏;ImageList控件用于为其他控件提供图像。
⑵在Toolbar与ImageList之间建立连接的方法:右击Toolbar控件,在快捷菜单中选择,开启对话框,选择选项卡,在下拉列表框中选择I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财经课件模板
- 疫情防控与医院应急处置
- 护理专业护士护理质量与护理评价
- 人工智能辅助诊断系统开发与应用
- 护理科研选题与项目申报技巧
- 护理人员在慢性病管理中的关键作用
- 医院药房人员礼仪与患者关系
- 护理信息化系统建设与护理质量提升
- 2026年安徽卫生健康职业学院高职单招职业适应性考试备考题库带答案解析
- 2026年成都文理学院单招职业技能笔试参考题库带答案解析
- 导尿技术常见并发症及处理
- 23秋国家开放大学《汉语基础》期末大作业(课程论文)参考答案
- 电弧炉炼钢工安全操作规程
- 人教版小学数学六年级年级下册课本习题集(带有课本插图)
- 七年级数学上册 期中考试卷(沪科安徽版)
- 人工智能在体育训练与竞技分析中的应用
- 校园传染病预防主题班会PPT
- 检查井工程量计算模板(原)
- 新材料、生物缓冲剂及配套工程B3车间产品优化调整项目环评报告书
- 医学生物化学学习指导与习题集
- 国开生命健康学院《中药炮制》形成性考核一答卷
评论
0/150
提交评论