VB程序设计课后习题答案.docx

上传人:b****1 文档编号:12476220 上传时间:2023-04-19 格式:DOCX 页数:32 大小:35.64KB
下载 相关 举报
VB程序设计课后习题答案.docx_第1页
第1页 / 共32页
VB程序设计课后习题答案.docx_第2页
第2页 / 共32页
VB程序设计课后习题答案.docx_第3页
第3页 / 共32页
VB程序设计课后习题答案.docx_第4页
第4页 / 共32页
VB程序设计课后习题答案.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

VB程序设计课后习题答案.docx

《VB程序设计课后习题答案.docx》由会员分享,可在线阅读,更多相关《VB程序设计课后习题答案.docx(32页珍藏版)》请在冰豆网上搜索。

VB程序设计课后习题答案.docx

VB程序设计课后习题答案

VB课后习题解答第一、二章:

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属性的值进行扩展或缩小时,应对该控件的什么属性进行何种设置?

true属性值设置为Autosize将该控件的答:

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目录下。

21.略(书上page36)

第3章:

1、合法的有:

(1)单精度(3)单精度(4)双精度(6)整形(7)字符型(9)日期型(10)双精度(12)

八进制表示(14)十六进制表示(15)逻辑型(18)单精度数

2、合法变量有:

(1),

(2),(6),(9),(10),(11)

3、算术表达式写成VB表达式

56(a+xy)2)(?

abs(x+y)+z^5?

(1()|x+y|+z1+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)(xz)or(x>zandy

(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

6、略

第4章:

VB控制语句

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的字符串数据;

位小数,并在窗体显示,应使用什么函数?

如何编写对应的3位、2位、4、要使单精度变量x,y,z分别保留1

方法?

print函数,具体如下:

答:

使用formatprintFormat(x,”0.0”)Format(y,“0.00“)print

Format(z,“0.000“)print

中的表达式可以是算术、字符、关系、逻辑表达式中的哪些?

if<表达式>then……5、语句

算术、关系、逻辑表达式答:

指出下列语句中的错误:

6、

x>=y‘表达式书写错误,应写成:

ifx)≥ythenprintx(110

x<20thenx=x+20

(2)if10<、7

按照下列条件,写出相应的条件语句””,否则显示“No”时,利用Msgbox显示“yes

(1)字符型变量中第三个字符是“C“No”elseMsgboxifMid(c,3,1)=“C”thenMsgbox“yes”

selectcase语句两种方法计算分段函数:

)利用(2if语句、rivatesubcommand1.click()

x=val(text1)Selectcaseprivatesubcommand1.click()答:

caseis>20x=val(text1)y=x*x+3*x+2ifx>20thencaseis>=10y=x*x+3*x+2y=sqr(3*x)–2x>=10thenelseifcaseis>0–y=sqr(3*x)2y=1/x+Abs(x)elseifx>0thenendselecty=1/x+Abs(x)printyendifendsubprintyendsub

iif中。

中的最大值并存入变量函数两种方法求三个数x,y,zmax语句和)利用(3ififx>ythenmax=xelsemax=y

ifz>maxthenmax=z

max=iif(max>z,max,z)

max=iif(x>y,x,y):

end

elseifthenif在多分支结构的实现中,可以用……8、……caseselectendif……形式的语句,也可以用…

Select形式的语句,由于后者的条件书写更灵活、简洁,是否完全可以取代前者?

形式的语句中条件书写更灵活、简洁,程序可读性强,但使用它有限答:

虽然……SelectCaseendSelect制。

(适合于对一个变量判断的)首先,看该语句的形式:

>SelectCase<变量或表达式

1>表达式列表

1>语句块<

case<表达式列表2>

<语句块2>

[Caseelse

<语句块n+1>

EndSelect

其中《变量或表达式》只能含有一个变量,任何含有多个变量的形式都是错误的。

如,要判断x,y是否在第一、三象限内,若输入如下语句:

selectcasex,y,VB程序会显示“缺少:

语句结束”。

其次,在后面的case表达式列表中不能出现Selectcase变量或表达式中使用的变量,也不能出现主教材上列出的四种形式以外的符号或关键字(符号是:

逗号;关键字是:

is,to)。

9、计算下列循环语句的次数

(1)ForI=-3to20step46

(2)ForI=-3.5to5.5step0.519

(3)ForI=-3.5to5.5step-0.5无循环,因为步长<0,循环初值小于终值

(4)ForI=-3to20step0无限循环,因为步长=0

10、下列30-90为语句标号,分别标记该语句,第40名共执行了几次,第50名共执行了几次,执行第90号

语句后显示的结果是多少?

30Forj=1to12Step3循环4次

40Fork=6to2step-2循环3次,被执行4次

50mk=k共执行4*3=12次

60printj,k

70nextk

80nextj

90printj,k,mk1302

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=0thens3=s3+1

ifImod7=0thens7=s7+1

nexti

(3)将输入的字符串以反序显示。

例如,输入“ASDFGHJKL”,显示“LKJHGFDSA”。

s=InputBox(“请输入字符串”)

forI=Len(s)to1step-1

Mid(s,I,1)print

nexti

13、

下面程序的运行结果是什么?

该程序的功能是什么?

PrivateSubCommand1_Click()

Dimx$,n%10100转换成2进制数表示n=20将20DoWhilen<>0

a=nMod2

n=n\2

x=Chr(48+a)&x

Loop

Printx

EndSub

、14

下面程序的运行结果是什么?

该程序的功能是什么?

PrivateSubCommand2_Click()

48422,Dimx%,y%,z%

的最大公约数和最小公x,y利用相差法求x=242:

y=44

倍数z=x*y

DoUntilx=y

xIfx>yThenx=x-yElsey=y–

Loop

Printx,z/x

EndSub

个随机数,显示其中最大值,最小值和平均值。

50~100范围内的20利用随机函数产生15、

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_x0010_个随机数最大是:

;max;最小值是:

;min;平均值是:

;avg/20

EndSub

第5章:

数组和自定义类型

1、在VB6.0中,数组的下界默认为0,用什么语句可以重新定义数组的默认下界?

opentionBasic语句

2、要分配存放12个元素的整形数组,下列数组声明(若下界无,按默认规定)哪些符合要求?

(1)n=12

(2)Dima%()

Dima(1ton)AsIntergern=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(0,0)

a(0,1)

a(0,2)

a(1,0)

a(1,1)

a(1,2)

a(2,0)

a(2,1)

a(2,2)

a(-1,3a(0,3a(1,3a(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

牐湩?

输出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,j):

a(3,j)

=t

Nextj

(6)求A矩阵矩阵条对角线元素之和

Sum=0

Fori=1To4

Sum=Sum+a(i,i)+a(i,5-i)

Nexti

(7)将A矩阵按列的次序把各元素放入一维数组D中,显示结果

DimD%(16)Fori=1To4Forj=1To4D(k)=a(j,i):

k=k+1

Nextj

NextiPrintD一维数组无素为尺Fork=0To15PrintD(k);Nextk

6、20声明一个一维字符类型数组,有

个元素,每个元素最多放10个字符,要求:

1)由随机数形成小写字母构成的数组,每个元素的字符个数由随机数产生,范围1~10

2)要求将生成的数组分4行显示,规定每个元素宽度为10

3)显示生成的字符数组中字符最多的元素

Dimst(1To20)AsString,cAsString*1

Dimi%,n%

Fori=1To20

n=Int(Rnd*11+1)

Forj=1Ton

c=Chr(Int(Rnd*26+97))

st(i)=st(i)&c

Nextj

Nexti

'

(2)按一行显示5个字符串要求输出

Fori=1To20

Printst(i);Space(15-Len(st(i)));

IfiMod5=0ThenPrint

Nexti

'(3)显示20个中字符个数最多的一个

maxlen=0

maxstr=\

Fori=1To20

IfLen(st(i))>maxlenThen

maxlen=Len(st(i))

maxstr=st(i)

EndIf

Nexti

Print

牐湩?

最多字符个数尺※慭汸湥※字符串是:

;maxstr

7、简述列表框和组合框的异同处

答:

相同处都是可存放字符串;不同处在于:

组合框是文本框和列表框的组合,可以输入内容,但要通过additem方法添加;列表框只能选择项目,不能直接输入内容。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1