搜档网
当前位置:搜档网 › vb程序设计教程第四版课后答案

vb程序设计教程第四版课后答案

vb程序设计教程第四版课后答案

【篇一:visual_basic程序设计教程(第4版)_课后答案】>第一章习题参考答案

一、填空题

1、对象事件驱动

2、编译运行模式解释运行模式

二、简答题

1、简述vb的特点。

答:①可视化的程序设计方法

②面向对象的程序设计思想

③事件驱动的编程机制

④结构化的程序设计语言

⑤高度的可扩充性

⑥强大的数据库访问能力

⑦支持动态数据交换

⑧支持对象链接与嵌入

2、简述vb的安装过程。

答:①向光驱中放入vb安装光盘;

②计算机将运行自动安装程序,若没有,执行vb目录下的

setup.exe;③根据提示逐一回答问题,并点击“下一步”;

④点击“完成”;

2、如何启动vb。

答:三种方法:

①单击“开始”按钮,选择“程序”菜单下的“microsoft visual basic

6.0 中文版”菜单项并单击;

②双击桌面上的vb6.0快捷图标;

③在“开始”菜单的运行对话框中输入命令来启动vb;

第二章习题参考答案

一、选择题:

1-10、 dcacdbcbbc

11-20、badcabbaab

21-29、aacbbcddc

二、填空题

1.窗体、控件

2.属性值

3.属性窗口设置、代码窗口设置

4.事件过程

5.对象名、下划线、事件名

6. form_click

第三章习题参考答案

一、选择题

1、b

2、c

3、a

4、b

5、a

6、c

7、c

二、填空题

1、 11

字符型、字节型、整型、长整型、单精度型、双精度型、货币型、

逻辑型、日期型、对象型、变体型。string、byte、integer、long、single、double、currency、boolean 、date、object、variant

2、双引号(英文)、#

3、 ascii、1、2

4、 public、通用、dim、static、private、static

5、、+、+

6、 now()、time、日期型

三、解答题

1、(3)

2、(1 )

3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)

变量(5)字符串常量(6)变量

(7)字符串常量(8)变量(9)日期型常量(题目应是

#11/16/1999#)

(10)数值型常量(单精度)

4、31

5、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)

(3)sqr(abs(a*b-c^3))(4)sqr(s*(s-a)*(s-b)*(s-c))

6、

7、(1)13 (2)17

(3)#1999-11-12#(4)zxy123abc

8、(1)19(2)8.16666666666667

(3)5.25(4)2

9、(1)-4 (2)2 . 82842712474619(3)-3(4)49

(5)”hello”(6)he

7)16 (8)“-459.65” (9)5

10、(4)

11、(2)

12、(4)

第四章习题参考答案

一、选择题:

1—7: daabbcd

二、填空题

1. 500.00%

2.将字号扩大为原来的二倍

3. b

三、编程题(略)

1.文本框、标签和命令按钮的名称分别为text1、label1、command1 private sub command1_click()

label1.caption=text1.text

command1.caption=text1.text

end sub

2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。

private sub command1_click()

text4=val(text1)*val(text2)*val(text3)

end sub

private sub command2_click()

text1=”” : text2=””: text3=””: text4=””

end sub

3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2

private sub command1_click()

text1=ucase(text1)

end sub

private sub command2_click()

text1=lcase(text1)

end sub

第五章习题参考答案

一、选择题:

1—11: caabbabbbcc

1.(3) 2. 1 2 3 3.223 4.160 5.9 6.78 7.x=5 (或x6 或 x7) 8.b

9.isum isum+j 1250

三、编程题

1.private sub form_click()

dim i%,s%

s=0

for i = 101 to 200 step 2

if i mod 30 then

print i

s=s+i

end if

next i

print s

end sub

2.private sub form_click()

dim n%,s

s=1:n=0

while s=400000

n=n+1

s=s*n

wend

if s400000 then n=n-1

print n

end sub

3.private sub form_click()

dim imin%,imax%,i%,r%

imin=100:imax=20

for i=1 to 20

r=int(rnd*51+50)

if rimax then imax=r

if rimin then imin=r

next i

print imax,imin

end sub

第六章习题参考答案

一、选择题:

1—13: abaaccbadadbb

1.intervallabel1.caption=time

2.list1.listcountinterval

三、编程题

1. private sub command1_click()

if option1.value = true and option3.value = true then text1.fontname = 宋体

text1.fontsize = 8

end if

if option1.value = true and option4.value = true then text1.fontname = 宋体

text1.fontsize = 12

end if

if option2.value = true and option3.value = true then text1.fontname = 黑体

text1.fontsize = 8

end if

if option2.value = true and option4.value = true then text1.fontname = 黑体

text1.fontsize = 12

end if

end sub hscroll1.max

2.

9.timer的enable 为falseinterval 为100

private sub command1_click()

timer1.enabled = true

end sub

private sub command2_click()

timer1.enabled = false

end sub

private sub timer1_timer()

汽车.left =汽车.left + 100

end sub

第七章习题参考答案

一、选择题:

1—12: dcadd bbdac cb

二、填空题

1.42 2.index 3.41

4.a(i)=a(11-i) a(11-i)=tmp

5.1 6.x mod 7=0 7.210

8.0 to 8i+1 to 9

9.3 k1

10. 1001max maxarrn(i) (或者arrn(i)max)

三、编程题

1.private sub c1_click()

if op1(0).value=true then p1.print “选择了椭圆形”

if op1(1).value=true then p1.print “选择了圆形”

if op1(2).value=true then p1.print “选择了正方形”

end sub

2.统计按钮名为command1,输入框名为text1,输出框为

text2(multline设为true)

private sub command1_click()

dim x(1 to 26) as integer,i as integer

dim s as string,l as integer

l=len(text1.text)

for i=1 to l

s=mid(text1,i,1)

s=ucase(s)

if s = a and s = z then

【篇二:vb程序设计教程课后答案(第三版)】

找。

习题二

1.对象指现实世界中的实体。每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。

类是对同一种对象的集合与抽象。类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。

vb工具箱中的可视图标是vb系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。

vb中常用的对象是控件。此外,vb还提供了系统对象。窗体是个特例,它既是类也是对象。当向一个工程添加一个新窗体时,实质就由窗体类创建了一个窗体对象。

对象的三要素:属性、事件和方法。

属性:存放对象的数据(决定对象外观及功能)对象属性的设置方法:在设计阶段,利用属性窗口直接设置属性值;程序运行时,通过语句[对象名.]属性名=属性值。若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。事件过程:应用程序处理事件的步骤。应用程序设计的主要工作就是为对象编写事件过程的代码。

方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。方法是面向对象的,调用时一定要指明对象。

2.窗体和控件具有的基本属性“

(1) name属性:名称

所创建的对象名称,在程序中引用。

(2) caption属性:标题

该属性决定了对象上显示的内容。

(3) height、width、top和left属性

决定对象的大小和位置。

(4) enabled 属性:对象是否允许操作

(5) visible 属性:对象是否可见

(6) font 属性组:文本的外观

fontname字体、fontsize大小

fontbold粗体、fontitalic斜体

fontstrikethru 删除线

fontunderline 下划线

(7) forecolor属性:前景颜色

(8) backcolor属性:背景颜色

(9) mousepointer属性:鼠标指针类型, 设置值范围0~15,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。(10) mouseicon属性:在mousepointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在graphics目录下。

3.窗体的事件:load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。

窗体的方法:(1)print方法

用来显示文本内容,格式:[对象.]print 表达式

(2)cls方法

清除运行时在窗体或图形框中产生的文本或图形, cls方法不能清除

窗体在设计时的文本和图形。

格式:[对象.]cls

(3)move方法

可移动窗体或控件,并可改变其大小。

语法格式如下:

[对象.]move 左边距离[,上边距离[,宽度[,高度]]]

4.标签作用:用于显示文本(输出)信息,不能作为输入信息的界面。其内容只能通过caption属性设置或修改,不能直接编辑。

5.文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和

显示正文内容。在vb中字符长度以字为单位,也就是一个西文字符

与一个汉字都是一个字,长度为1。

重要属性(1) text 显示或输入的正文内容。

(2) maxlength 设置文本框可输入的文字最大长度。默认值为0,表

示可以输入任意长字符串。

(3) multiline多行属性

设置为true时,文本框可以输入或显示多行正文,同时具有文字处

理器的自动换行功能,按enter键可插入一空行。

(4) scrollbars 滚动条属性

0-none 无滚动条

1-horizontal 水平滚动条

2-vertical 垂直滚动条

3-both 同时加水平和垂直滚动条

注意:当multiline为true时,scrollbars才有效

(5) passwordchar 设置显示文本的替代符。例如,当设置为“*”,

则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。

当multiline为true时,该属性不起作用,密码不允许多行。

(6) locked 指定文本控件是否可被编辑,默认值为false(可编辑),

当设置为true时,文本控件相当于标签控件的作用。

注意:locked与enabled的区别。

(7)文本内容进行选择操作的三个属性

selstart选定的正文开始位置

sellength选定的正文长度

seltext 选定的正文内容

这3个属性互相关联,例如设置selstart、sellength后,seltext 自动存放指定的文本。

注意:属性窗口中没有这三个属性,只能在程序代码中使用。

6.文本框的事件:(1) change事件:当text属性值发生改变时引发该事件

(2) keypress事件:按下并且释放键盘上的一个键时,引发焦点所在控件的keypress事件,所按键的值存放在参数keyascii中。对回车的判断 keyascii=13

7.文本框最有用的方法是setfocus,把光标移到指定的文本框中。

8.命令按钮 picture属性:按钮可显示图片文件(.bmp和.ico),当style为1时有效。

10. 启动窗体时将命令按钮定位在窗体中央的代码

private sub form_load()

command1.left = form1.scalewidth / 2 - command1.width / 2

command1.top = form1.scaleheight / 2 - command1.height / 2 end sub

11.vb图片文件在 c:\program files\microsoft visual

studio\common\graphics 文件夹。

安装vb时可选择是否安装这些图片文件。

习题三

1. 合法常量:

(1) double

(2) 错误

(3) double

(4) double

(5) 错误

(6) integer

(7) string

(8) string

(9) date

(10) double

(11) 错误(汉字字符)

(12)integer(八进制)

(13) 错误(八进制无数码8)

(14) integer

(15) boolean

(16) 错误

(17) 错误(十六进制无数码g)

(18) single

说明:浮点型变量默认为double类型而非single。

2. 合法变量名:

(1) √

(2) √

(3) 误:数字开头

(4) 误:含空格

(5) 误:关键字

(6) √

(7) 误:关键字

(8) 误:有括号

(9) √

(10) √

(11) √

(12) √(汉字字符可作为变量名,但不常用,且此名称易误解)

变量命名规则见p.41-42。

字母(汉字)开头,字母(汉字)、数字、下划线组成,长度为1-255个字符;关键字不可作为变量名,但可在变量名中嵌入关键字;不区分大小写。

常量、数组、类型、函数、过程、对象命名规则与此相同。常量名通常全用大写。

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.14159 / 180) + (exp(10) + log(10)) / sqr(x + y + 1)

【篇三:vb程序设计教程课后答案】

二章:

1、简述vb6.0的主要特点

答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功

能。 2、当正常安装vb6.0后,误把windows子目录删除。当重

新安装windows后,是否需要再次安装vb6.0?

答:要重新安装的。因为安装vb6.0时,有些vb程序被系统自动安装在windows目录下,所以一旦删除windows子目录,就必须重

新安装vb6.0。

3、 visual basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?

答:在vb6.0的启动界面上,能显示对应的版本。 4、叙述建立一

个完整应用程序的过程

答:首先建立用户界面的控件对象(简称控件);然后对控件属性

进行设置;再对控件事件过程及编程;保存应用程序;程序调试和

运行。

5、 visual basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?

答:选择“视图”—“代码窗口”命令或单击“工程资源管理器”窗口中

的“查看代码”按钮。 6、当建立好一个简单的应用程序后,假定该

工程仅有一个窗体模块。试问该工程涉及多少个要保存的文件?

若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。先

保存窗体文件(.frm),再保存工程文件(.vbp)。若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。7、保存文件时,若不改变目录名,则系统默认的目录是什么?

答:系统默认的目录是vb98

8、安装visual basic 6.0后,帮助系统是否也已安装?

答:没有。vb6.0的帮助系统在两张光盘上,即msdn library,其

中还包含了vc、vfp等其他语言的帮助系统。

9、如何使用visual basic 6.0的帮助系统?

答:最方便的方法是选定要帮助的内容,然后按f1功能键,这时系

统打开msdn library查阅器,直接显示与选定内容有关的帮助信息。

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,则事件过程如下: private sub

text1_keypress(keyascii as integer ) if keyascii = 13 then

if 出错条件判断成立then text1=‖‖ end if ??end if end sub

注意:删除刚输入的字符,通过keyascii=0语句实现;焦点定位文

本框对象采用setfocus方法。

19、在程序运行前,对某些控件设置属性值,除了在窗体中直接设

置外,还可以通过代码设置,这些代码

一般存放在什么事件中?如果要将命令按钮定位在窗体的中央,试

写出事件过程代码。答:这些代码一般放在forem_load()事件过程中。将窗体定位在屏幕的中央,只能在属性窗口中将form1窗口

的startupposition属性值设置为2(表示屏幕中心),该属性不能

在运行时设置。要将按钮定位在窗体的中央,事件过程如下:

private sub form_load()

command1.left= form1.scalewidth\2-command1.width\2

command1.top = form1.scaleheight \ 2 – command1.height \2 end sub

其中,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)| x+y | + z5? abs(x+y) +z^5(2)(a+xy)6 ? (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=0 or x % 7 =0 (5) (x mod 10) 10 + x

/10(6)round(123.2389*100)/100 (7) ucase (c ) =‖a‖ and

ucase(c )=‖z‖ or lcase (c ) =‖a‖ and lcase(c )=‖z‖ (8) mid ( s, 5,

6 ) (9) x =10 and x 20 (10) ( x z and y z ) or ( x z and y z) (11) xz and y z

5、下出下列表达式的值:

(1) 123+23 mod 10 \ 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)/(20 mod 2) ?分母为零了

3、 msgbox函数与inputbox函数之间有什么区别?各自获得什

么值?

答:两个函数共同之处都显示对话框。区别:inputbox函数等待用

户在文本框中输入数据,获得的是输入的字符串数据;msgbox函

数等待用户按一按钮,获得的是表示按钮的整数值,以决定程序的

流向。 4、要使单精度变量x,y,z分别保留1位、2位、3位小数,

并在窗体显示,应使用什么函数?如何编写对应的

print方法?

答:使用format函数,具体如下:print format(x,‖0.0‖ )

print format ( y , ― 0.00 ― ) print format ( z , ― 0.000 ― )

5、语句 if 表达式then …… 中的表达式可以是算术、字符、关系、逻辑表达式中的哪些?

答:算术、关系、逻辑表达式 6、指出下列语句中的错误:

(1)if x≥y then print x?表达式书写错误,应写成:x=y (2) if 10x20 then x=x+20 ?表达式书写错,应是:10x and x20

7、

按照下列条件,写出相应的条件语句

(1)字符型变量中第三个字符是“c”时,利用msgbox显示“yes”,否则显示“no”if mid ( c , 3,1 ) = ―c‖ then msgbox ―yes‖ else msgbox ―no‖ (2)利用if语句、select case语句两种方法计算

分段函数:

y = x * x + 3 * x +2 elseif x=10 theny = sqr ( 3 * x ) – 2elseif x0 then

y= 1 / x + abs ( x ) end ifprint y end sub

(3)利用if语句和iif 函数两种方法求三个数x,y,z中的最大值并

存入变量max中。 if xy then max=x else max = y if zmax then max = z

max = iif ( xy , x , y ) : max = iif ( max z, max , z )

8、在多分支结构的实现中,可以用 if??then??elseif??endif形

式的语句,也可以用select case?end

select形式的语句,由于后者的条件书写更灵活、简洁,是否完全

可以取代前者?

答:虽然select case??end select形式的语句中条件书写更灵活、简洁,程序可读性强,但使用它有限制。(适合于对一个变量判断的)首先,看该语句的形式:

select case 变量或表达式 case 表达式列表1 语句块1 case

表达式列表2 语句块2 ?

[ case else

rivate sub command1.click() x=val( text1)select case case is 20

y = x * x + 3 * x +2 case is=10

y = sqr ( 3 * x ) – 2 case is 0

y= 1 / x + abs ( x ) end select print y end sub

语句块n+1 end select

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

式都是错误的。如,要判断x,y是否在第一、三象限内,若输入如下语句:select case x,y, vb程序会显示“缺少:语句结束”。

其次,在后面的case表达式列表中不能出现select case变量或表

达式中使用的变量,也不能出现主教材上列出的四种形式以外的符

号或关键字(符号是:逗号;关键字是:is, to)。 9、计算下列循

环语句的次数

(1)for i = -3 to 20 step 46 (2) for i = -3.5 to 5.5 step 0.5 19(3) for i = -3.5 to 5.5 step -0.5 无循环,因为步长0 ,循环初值

小于终值

(4)for i = -3 to 20 step 0 无限循环,因为步长=0

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

几次,第50名共执行了几次,执行第90号

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

30 for j =1 to 12 step 3循环4次

40for k = 6 to 2 step -2 循环3次,被执行4次 50 mk = k 共执行4*3=12次 60 print j , k 70 next k 80next j

90print j , k , mk13 0 2 11、如果事先不知道循环次数,如何用for?next结构来实现?

答:将循环终值设置得足够大,再在循环体内设置条件语句,满足条件退出循环。 12、利用循环结构,实现如下功能:

(1)

s=0: for i =1 to 10

s = s + ( i+1)*(2*i+1) next i

(2)分别统计1~100中,满足3的倍数、7的倍数的数各是多少?s3 = 0: s7 = 0 for i =1 to 100

if i mod 3 = 0 then s3 = s3 +1 if i mod 7 = 0 then s7 = s7

+1next i

(3)将输入的字符串以反序显示。例如,输入“asdfghjkl”,显示“lkjhgfdsa”。s = inputbox(― 请输入字符串‖) for i = len( s ) to 1 step -1print mid ( s, i, 1 )next i

13、

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

private sub command1_click()

10100

将20转换成2进制数表示

相关主题