VB课后习题答案.docx
- 文档编号:9943937
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:34
- 大小:34.16KB
VB课后习题答案.docx
《VB课后习题答案.docx》由会员分享,可在线阅读,更多相关《VB课后习题答案.docx(34页珍藏版)》请在冰豆网上搜索。
VB课后习题答案
第一章1
第二章2
第3章3
第4章4
第5章8
第六章11
第7章14
第8章17
第九章18
第十章19
第一章
1、 简述VB6.0的主要特点
答:
方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、 当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0?
答:
要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、 VisualBasic6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?
答:
在VB6.0的启动界面上,能显示对应的版本。
4、 表达建立一个完整应用程序的过程
答:
首先建立用户界面的控件对象〔简称控件〕;然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、 VisualBasic6.0有多种类型窗口,假设要在设计时看到代码窗口,应怎样操作?
答:
选择“视图〞—>“代码窗口〞命令或单击“工程资源管理器〞窗口中的“查看代码〞按钮。
6、 当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?
假设要保存该工程的所有文件,应先保存什么文件?
再保存什么文件?
假设不这样做,系统会出现什么信息?
答:
涉及两个文件要保存。
先保存窗体文件〔.frm〕,再保存工程文件〔.vbp〕。
假设先保存工程文件,系统也会先弹出“文件另存为〞对话框,要求先保存窗体文件。
7、 保存文件时,假设不改变目录名,那么系统默认的目录是什么?
答:
系统默认的目录是VB98
8、 安装VisualBasic6.0后,帮助系统是否也已安装?
答:
没有。
VB6.0的帮助系统在两张光盘上,即MSDNLibrary,其中还包含了VC、VFP等其他语言的帮助系统。
9、 如何使用VisualBasic6.0的帮助系统?
答:
最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统翻开MSDNLibrary查阅器,直接显示与选定内容有关的帮助信息。
第二章
10、 什么是类?
什么是对象?
什么是事件过程?
答:
类是同类对象集合的抽象,它规定了这些对象的公共属性和方法;
对象是类的一个实例,对象包含三个要素:
属性、方法和事件。
当在对象上发生了事件后,应用程序就要处理这个事件,而处理的步骤就是事件过程。
11、 属性和方法的区别是什么?
答:
属性是对象的特征,方法是对象的行为。
前者有值,可以被赋值或引用;后者没有值,表示能够执行的操作。
12、 当标签边框的大小由Caption属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置?
答:
将该控件的Autosize属性值设置为true。
13、 在VB6.0中,命令按钮的显示形式可以有标准的和图形的两种选择,它们通过什么属性来设置?
假设选择图形的,那么通过什么属性来装入图形?
假设已在规定的属性里装入了某个图形文件,但该命令按钮还是不能显示该图形,而显示的是Caption属性设置的文字,应怎样修改?
答:
命令按钮的显示形式通过将Style属性值设置为Graphical来实现。
通过Picture属性来装入图形。
不能显示图形是因为Style属性值被设置为Standard,只要将其改为Graphical,并且将Caption的值设置为空即可。
14、 如果文本框要显示多行文字,应对什么属性设置为何值?
答:
将MultiLine属性的值设置为True。
15、 标签和文本框的区别是什么?
答:
在程序运行时,标签只能显示文字,不能输入文字,显示文字通过对Caption属性赋值来实现;而文本框既能显示文字,也能输入文字,这通过text属性来实现。
16、 要让文本框获得焦点的方法是什么?
答:
SetFocus方法。
17、 简述文本框的Change和KeyPress事件的区别
答:
相同点是当在文本框输入内容时,同时激发上述两个事件;不同点是Keypress事件可通过参数KeyAscii返回所按键的编码值,可依此判断数据输入的正确性或数据输入结束与否,因而该事件使用较多;change事件还可以发生在程序改变文本框的text属性时。
18、 当某文本框输入数据后〔按了回车键〕,经判断后认为是数据输入错,应怎样删除原来文本框中的数据?
答:
假定文本框的名称为Text1,那么事件过程如下:
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
ifKeyAscii=13then
if出错条件判断成立 then
Text1=〞〞
endif
……
endif
endsub
注意:
删除刚输入的字符,通过KeyAscii=0语句实现;焦点定位文本框对象采用SetFocus方法。
19、 在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般存放在什么事件中?
如果要将命令按钮定位在窗体的中央,试写出事件过程代码。
答:
这些代码一般放在Forem_Load〔〕事件过程中。
将窗体定位在屏幕的中央,只能在属性窗口中将Form1窗口的StartUpPosition属性值设置为2〔表示屏幕中心〕,该属性不能在运行时设置。
要将按钮定位在窗体的中央,事件过程如下:
PrivatesubForm_Load()
Command1.left=Form1.scaleWidth\2-command1.Width\2
Command1.Top=Form1.ScaleHeight\2–command1.Height\2
EndSub
其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
20、 VB6.0提供的大量图形文件存放在哪个目录?
假设你的计算机上没有安装,应怎样安装这些图形文件?
答:
存放在Graphics目录下。
在VB6.0的安装盘上可以找到Graphics子目录,将其复制到硬盘上的VB目录下。
第3章
1、合法的有:
〔1〕单精度〔3〕单精度〔4〕双精度〔6〕整形〔7〕字符型〔9〕日期型〔10〕双精度〔12〕八进制表示〔14〕十六进制表示〔15〕逻辑型〔18〕单精度数
2、合法变量有:
〔1〕,〔2〕,〔6〕,〔9〕,〔10〕,〔11〕
3、算术表达式写成VB表达式
〔1〕abs(x+y)+z^5
〔2〕〔1+x*y〕^6
〔3〕(10*x+sqr(3*y))/(x*y)
〔4〕(-b+sqr(b^2-4*a*c))/2/a
〔5〕1/(1/r1+1/r2+1/r3)
〔6〕sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)
4、根据条件写出相应的VB表达式
(1)chr(int(Rnd*10+67)
(2)int(Rnd*101+100)
(3)x*y>0
(4)x/5=0orx/7=0
(5)(xmod10)10+x/10
(6)Round(123.2389*100)/100
(7)Ucase(c)>=‖A‖andUcase(c)<=‖Z‖orLcase(c)>=‖a‖andLcase(c)<=‖z‖
(8)Mid(s,5,6)
(9)x>=10andx<20
(10)(x (11)x>zandy>z 5、下出以下表达式的值: 〔1〕123+23mod10\7+Asc(―A‖)à【188】 〔2〕100+‖100‖&100【200100】 〔3〕Int(68.555*100+0.5)/100à【68.56】 〔4〕A$=“87654321‖, 求表达式Val(Left$(A$,4)+Mid(A,4,2))的值【876554】 〔5〕DateAdd(―m‖,1,#1/30/2000#)à【2000-2-29】 〔6〕Len〔‖VB程序设计‖〕【6】à 第4章 1、 结构化程序设计的三种根本结构是什么? 答: 顺序结构、选择结构和循环结构。 2、 指出以下赋值语句中的错误〔包括运行时错误〕: 〔1〕10x=sin(x)+y ‘10x是非法变量名 〔2〕c=3+sqr(-3) ‘待求平方根的数为负数 〔3〕c+x+y=c*y ‘赋值符左边是表达式了 〔4〕x=sin(x)/(20mod2) ‘分母为零了 3、 Msgbox函数与InputBox函数之间有什么区别? 各自获得什么值? 答: 两个函数共同之处都显示对话框。 区别: Inputbox函数等待用户在文本框中输入数据,获得的是输入的字符串数据;Msgbox函数等待用户按一按钮,获得的是表示按钮的整数值,以决定程序的流向。 4、 要使单精度变量x,y,z分别保存1位、2位、3位小数,并在窗体显示,应使用什么函数? 如何编写对应的print方法? 答: 使用format函数,具体如下: printFormat(x,〞0.0〞) print Format(y,“0.00“) print Format(z,“0.000“) 5、 语句 if<表达式>then ……中的表达式可以是算术、字符、关系、逻辑表达式中的哪些? 答: 算术、关系、逻辑表达式 6、 指出以下语句中的错误: 〔1〕ifx≥ythenprintx ‘表达式书写错误,应写成: x>=y 〔2〕if10 10 7、 privatesubcommand1.click() x=val(text1) Selectcase caseis>20 y=x*x+3*x+2 caseis>=10 y=sqr(3*x)–2 caseis>0 y=1/x+Abs(x) endselect printy endsub 按照以下条件,写出相应的条件语句 〔1〕字符型变量中第三个字符是“C〞时,利用Msgbox显示“yes〞,否那么显示“No〞 ifMid(c,3,1)=“C〞thenMsgbox“yes〞 elseMsgbox “No〞 〔2〕利用if语句、selectcase语句两种方法计算分段函数: 答: privatesubcommand1.click() x=val(text1) ifx>20then y=x*x+3*x+2 elseif x>=10then y=sqr(3*x)–2 elseifx>0then y=1/x+Abs(x) endif printy endsub 〔3〕利用if语句和iif 函数两种方法求三个数x,y,z中的最大值并存入变量max中。 ifx>ythenmax=xelsemax=y ifz>maxthenmax=z max=iif(x>y,x,y) : max=iif(max>z,max,z) 8、 在多分支结构的实现中,可以用 if……then……elseif……endif形式的语句,也可以用selectcase…endSelect形式的语句,由于后者的条件书写更灵活、简洁,是否完全可以取代前者? 答: 虽然SelectCase……endSelect形式的语句中条件书写更灵活、简洁,程序可读性强,但使用它有限制。 〔适合于对一个变量判断的〕 首先,看该语句的形式: SelectCase<变量或表达式> case <表达式列表1 > <语句块1> case <表达式列表2> <语句块2> … [Caseelse <语句块n+1> EndSelect 其中? 变量或表达式? 只能含有一个变量,任何含有多个变量的形式都是错误的。 如,要判断x,y是否在第一、三象限内,假设输入如下语句: selectcasex,y,VB程序会显示“缺少: 语句结束〞。 其次,在后面的case表达式列表中不能出现Selectcase变量或表达式中使用的变量,也不能出现主教材上列出的四种形式以外的符号或关键字〔符号是: 逗号;关键字是: is,to〕。 9、 计算以下循环语句的次数 〔1〕ForI=-3to20step4 6 〔2〕ForI=-3.5to5.5step0.5 19 〔3〕ForI=-3.5to5.5step-0.5 无循环,因为步长<0,循环初值小于终值 〔4〕ForI=-3to20step0 无限循环,因为步长=0 10、 以下30-90为语句标号,分别标记该语句,第40名共执行了几次,第50名共执行了几次,执行第90号语句后显示的结果是多少? 30 For j=1to12Step3 循环4次 40 Fork=6to2step-2 循环3次,被执行4次 50 mk=k 共执行4*3=12次 60 printj,k 70 nextk 80 nextj 90 printj,k,mk 13 0 2 11、 如果事先不知道循环次数,如何用for…Next结构来实现? 答: 将循环终值设置得足够大,再在循环体内设置条件语句,满足条件退出循环。 12、 利用循环结构,实现如下功能: 〔1〕 s=0: forI=1to10 s=s+(i+1)*(2*i+1) nexti 〔2〕分别统计1~100中,满足3的倍数、7的倍数的数各是多少? s3=0: s7=0 forI=1to100 ifImod3=0 then s3=s3+1 if Imod 7=0 then s7=s7+1 nexti 〔3〕将输入的字符串以反序显示。 例如,输入“ASDFGHJKL〞,显示“LKJHGFDSA〞。 s=InputBox(“请输入字符串〞) for I=Len(s) to 1step-1 print Mid(s,I,1) nexti 13、 10100 将20转换成2进制数表示 下面程序的运行结果是什么? 该程序的功能是什么? PrivateSubCommand1_Click() Dimx$,n% n=20 DoWhilen<>0 a=nMod2 n=n\2 x=Chr(48+a)&x Loop Printx EndSub 14、 22,484 利用相差法求x,y的最大公约数和最小公倍数 下面程序的运行结果是什么? 该程序的功能是什么? PrivateSubCommand2_Click() Dimx%,y%,z% x=242: y=44 z=x*y DoUntilx=y Ifx>yThenx=x-yElsey=y–x Loop Printx,z/x EndSub 15、 利用随机函数产生50~100范围内的20个随机数,显示其中最大值,最小值和平均值。 PrivateSubCommand3_Click() Dimi%,min%,max%,avg! x% min=100: max=50: avg=0 Fori=1To20 x=Int(Rnd*51+50) Printx; Ifx>maxThenmax=x Ifx avg=avg+x NextI Print Print"20个随机数最大是: ";max;" 最小值是: ";min;"平均值是: ";avg/20 EndSub 第5章 1、 在VB6.0中,数组的下界默认为0,用什么语句可以重新定义数组的默认下界? opentionBasic语句 2、 要分配存放12个元素的整形数组,以下数组声明〔假设下界无,按默认规定〕哪些符合要求? 〔1〕n=12 (2) Dima%() Dima(1ton)AsInterger n=11 Redima(n) (3)Dima%[2,3] (4)Dima(1,1,3)asInteger (5)Dima%(10) (6)Dima! () ReDima(1to12) ReDima(3,2)AsInteger (7)Dima%(2,3) (8)Dima(1to31to4)AsInteger 答: 2、4、7、8符合要求 3、 程序运行时显示“下标越界〞可能产生的错误有哪几种情况? 答: 下标比下界小或比上界大 4、 下面数组声明,写出它的数组名、数组类型、维数、各维的上下界、数组的大小、并按行的顺序列出各元素。 Dima(-1to2,3)assingle 答: 数组名为a,数组类型为单精度,二维,各维的下界为-1和0,上界分别为2和3;数组的大小为4*4共16个元素;各元素标号排列为: a(-1,0) a(-1,1) a(-1,2) a(-1,3) a(0,0) a(0,1) a(0,2) a(0,3) a(1,0) a(1,1) a(1,2) a(1,3) a(2,0) a(2,1) a(2,2) a(2,3) 5、 利用随机数生成两个矩阵〔数据不一定相同,前者30-70范围,后者101-135〕 〔1〕将两个矩阵相加结果放入C矩阵中。 Fori=1To4 Forj=1To4 c(i,j)=a(i,j)+b(i,j) Nextj Nexti 〔2〕将A矩阵转置 Fori=2To4 Forj=1Toi–1 t=a(i,j): a(i,j)=a(j,i): a(j,i)=t Nextj Nexti 〔3〕统计C矩阵中最大值和下标 Dimmax%,maxi%,maxj% max=c(1,1): maxi=0: maxj=0 Fori=1To4 Forj=1To4 Ifc(i,j)>maxThen max=c(i,j): maxi=i: maxj=j EndIf Nextj Nexti 〔4〕以下三角形式显示A矩阵,上三角形式显示B矩阵 Fori=1To4 Forj=1Toi Printa(i,j);Space (2); Nextj Print Nexti Print"输出B上三角元素" Fori=1To4 PrintTab(i*5); Forj=iTo4 Printb(i,j); Nextj Print Nexti 〔5〕将A矩阵第一行与第三行对应元素交换位置 Forj=1To4 t=a(1,j): a(1,j)=a(3,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课后 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)