VB程序设计第三版习题答案(1-4)
更新时间:2024-04-16 06:18:01 阅读量: 综合文库 文档下载
《VB程序设计基础》(第三版)习题标准答案
参考答案:
1、简述Visual Basic的特点。 答: ⑴基于对象的可视化设计工具
⑵事件驱动的编程机制
⑶提供易学易用的应用程序集成开发环境 ⑷结构化的程序设计语言
⑸强大的网络、数据库、多媒体功能 ⑹完备的联机帮助功能
3、Visual Basic 6.0有学习版、专业版和企业版,怎样知道所安装的是哪个版本?
答:在启动VB 6.0的启动封面上,能显示对应的版本,见教材例1.1 4、Visual Basic 6.0有多种类型的窗口,若想在设计时看到代码窗口,怎样操作?
答:选择“视图∣代码窗口”命令或“工程资源管理器”窗口的“查看代码”按钮。
5. 叙述建立一个完整的应用程序的过程。 答:
a) 建立用户界面的控件对象。 b) 控件属性的设置。 c) 控件事件过程及编程。 d) 运行和调试程序。
e) 保存程序。
6. 当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。试问该工程涉及多少个要保存的文件?若要保存该工程中的所有文件,应先保存什么文件,再保存什么文件?若不这样做,系统会出现什么信息?
答:涉及两个文件要保存。先保存窗体文件(.frm),再保存工程文件(.vbp)。若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7. 保存文件时,若不改变目录名,则系统默认的目录是什么? 答:系统的默认目录是VB98。
习题二 参考答案:
2、属性与方法的区别是什么?
答:对象中的数据保存在属性中,VB程序中的对象都有许多属性,它们是用来描述和反映对象特征的参数。可以通过两种方法来设置属性:(1)在设计阶段利用属性窗口直接设置对象的属性值;(2)在程序运行阶段通过赋值语句实现。
方法是附属于对象的行为和动作,也可以理解为指使对象动作的命令。面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程,称为方法供用户直接调用,这给用户的编程带来了很大的方便。因为方法是面向对象的,所以在调用时一定要指明对象,如果
省略指当前对象,一般指窗体。
5、如果文本框要显示多行文字,应对什么属性设置为何值? 答:将该文本框的Multiline属性设置为True. 6、标签和文本框的区别是什么?
答:标签和文本框共同点都可以在窗体上显示文字。不同点在于:标签的内容在Caption属性内,在窗体上只能显示文字,不能编辑;文本框内容在Text属性内,在窗体上可直接对内容进行编辑。 7、要让文本框获得焦点的方法是什么? 答:SetFocus
9、当某文本框输入数据后(按了回车键),经判断后认为是数据输入错,应怎样删除原来文本框中的数据? 答:[文本框.]text=””
10. 在程序运行前,对某些控件设置属性值,除了在窗体中直接设置外,还可以通过代码设置,这些代码一般存放在什么事件中?如果要将命令按钮定位在窗体的中央,试写出事件过程代码。 答:这些代码一般放在Form_Load( ) 事件过程中。 要将按钮定位在窗体的中央,事件过程如下: Private Sub Form_Load()
Command1.Left = Form1.ScaleWidth \\ 2 - Command1.Width \\ 2 Command1.Top = Form1.ScaleHeight \\ 2 - Command1.Height \\ 2 End Sub
其中,ScaleWidth、ScaleHeight表示窗体的相对宽度和高度。
习题三
1. 下列哪些是VB的合法常量,分别指出其类型。
(1)100.0 单精度型 (2)0 非法 (3)1E1 单精度型 (4)123D3 双精度型 (5)123,456 非法 (6)0100 整型
(7)”ASDF” 字符型 (8)“1234” 非法 (9)#2000/10/7# 日期型
(10)100# 双精度型 (11)? 非法 (12)&O100 八进制整型
(13)&O78 非法 (14)&H123 十六进制整型 (15)True 逻辑型
(16)T 非法 (17) &H12ag 非法 (18)-1123! 单精度型
2. 下列符号中,哪些是VB的合法变量名?
(1)a123 合法 (2)a12_3 合法 (3)123_a 非法 (4)a 123 非法
(5)Integer 非法 (6)XYZ 合法 (7)False 非法 (8)sin(x) 非法
(9)sinx 合法 (10)变量名 合法 (11)abcdefg 合法 (12)? 非法
3. 把下列算术表达式写成VB表达式。 (1) |x?y|?z5 答:Abs(x+y)+z^5 (2) (1?xy)6 答: (1+x*y)^6 (3)
10x?3y xy答:(10*x+Sqr(3*y))/x/y
?b?b2?4ac(4)
2a答:(–b+sqr(b^2-4*a*c))/(2*a) (5)
1
111??r1r2r3答:1/(1/r1+1/r2+1/r3)
e10?ln10(6) sin45?
x?y?1?答:sin(45*3.14/180)+(exp(10)+ log(10))/sqr(x+y+1)
4. 根据条件写出相应的VB表达式。 (1)产生”C”~”L”范围内的一个大写字符。
答:Chr(int(Rnd*10+67))
(2) 产生100~200(包括100和200)范围内的一个正整数。
答:Int(Rnd*101+100)
(3)已知直角坐标系中任意一点的坐标(x,y),表示其位于第
一或第三象限内。
答: x*y>0
(4) 表示x是5或7的倍数。
答:x Mod 5=0 or x Mod 7=0
(5)将任意一个两位数x的个位数与十位数对换。例如,x=78,则表达式的值应为87.
答:(x Mod 10)*10+x\\10
(6) 将变量x的值按四舍五入保留小数点后两位。例如,x的值为123.2389,则表达式的值应为123.24。
答:Round(x*100)/100 (或Round(x,2))
(7)表示字符型变量C是字母字符(不区分大小写字母)。
答:Ucase(c)>=”A” And Ucase(c)<=”Z” 或 Lcase(c)>=”a” And Lcase(c)<=”z” (8) 取字符型变量S中从第5个字符起的6个字符。
答:Mid(S,5,6)
(9)表示关系表达式10?x?20。
答:x>=10 And x<20 (10) x, y之一小于z。
答:x
答:x>z 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#) 答:#2/29/2000# (6) Len (“VB程序设计”) 答: 6
7. Visual Basic提供了哪些标准数据类型?声明类型时,其类型关键字分别是什么?其类型符又是什么? 答: 见课本39页表3.1
9. 将数字字符串转换成数值,使用什么函数?判断是否是数字字符串,使用什么函数?取字符串中的某几个字符,使用什么函数?实现大小写字母间的转换,使用什么函数?
答:数字字符串转换成数值,用Val( )函数;IsNumeric( )函数判断是否是数字字符串;Mid( )函数用于取字符串中的某几个字符;Ucase( )函数用于将小写字母转换成大写字母;Lcase( )函数用于将大写字母转换成小写字母。
1.结构化程序设计的三种基本结构是什么? 答:顺序结构、选择结构和循环结构。 2.
指出下列赋值语句中的错误(包括运行时要产生的错误)。
⑴ 10x=sin(x)+y 答:10x错误变量名
⑵ c=3+sqr(-3) 答:sqr(x) 中自变量要求>=零 ⑶ c+x+y=c*y 答:赋值符号的左边是表达式 ⑷ x=sin(x)/(20 mod 2) 答:分母不能为零
3.Msgbox函数和InputBox函数之间有什么区别?各自获得什么值? 答:两个函数的共同之处是均显示对话框。区别:InputBox函数等待用户在文本框中输入数据,获得的是输入的字符串数据;Msgbox函数等待用户按一按钮,获得的是表示按钮的整数值,以决定程序的流向。
4.要使单精度变量x,y,z分别保留1位、2位、3位小数,并在窗体上显示,应使用什么函数?如何编写对应的Print方法?
答: Print Format(x, \
Print Format(y, \Print Format(z, \5.
语句
if 表达式 then …
中的表达式可以是算术、字符、关系、逻辑表达式中的哪些? 答:可以是算术、关系、逻辑表达式。
按照一般语言的规定,if后应该是关系表达式、逻辑表达式,根据其结果逻辑量是True或False决定是否执行Then后面的句子。而在VB中还可以是算术表达式,因为VB逻辑判断中,对于非0值就作为True,而0值作为False,因此分段函数 可用VB语句表示为:
If x Then y = sin (x) / x Else y = 0 而不必写成If x < >0 Then y = sin (x) / x
6 指出下列语句中的错误。 ⑴ If x ≥ y Then print x 答:“≥”应写成“>=” ⑵ If 10 < x < 20 then x = x + 20
答:VB中表示x的范围“10 < x < 20”应写成“10 < x and x < 20”
sinx/xx?0,x?0 y?{0x?0⑶ If c >= 〝A〞 and c <= 〝Z〞 then Print 〝大写字母〞
Else If c >= 〝a〞 and c <= 〝z〞then Print 〝小写字母〞 End if
答:“Else If”之间不能有空格,即应写成“ElseIf”
7.按照下列条件,写出相应的条件语句:
(1) 当字符型变量中第三个字符是”C”时,利用Msgbox显示“Yes”,否则显示”No”。
答:If Mid(c,3,1)=”C” Then MsgBox”Yes” Else MsgBox”No”
(2) 利用if语句、Select Case 语句两种方法计算分段函数:
?2?x?3x?2 , x?20? y??3x?2 , 10?x?20
?1??|x| , 0?x?10?x
If语句 Private Sub Command2_Click() 答: x=Text1.Text If x>20 Then y=x*x+3*x+2 Else y=Sqr(3*x)-2 End If Print y End Sub
Select语句 Private Sub Command1_Click() x=Text1.Text Select Case x Case Is>20 y=x*x+3*x+2 Case Is<10 y=1/x+Abs(x) Case Else Y=Sqr(3*x)-2 End Select Print y End Sub
(3)利用if语句和IIf函数两种方法求三个数x,y,z中的最大值并存入变量Max中。 答:If语句
If x>y Then Max=x Else Max=y If z>Max Then Max=z
IIf函数:
Max = IIf(x > y, x, y) Max = IIf(Max > z, Max, z)
8 在多分支结构的实现中,可以用if …Then… ElseIf …End if 形式的语句,也可以用Select Case … End Select 形式的语句,由于后者的条件书写更灵活、简洁,是否可以完全取代前者?
答:不可以。虽然select case….End select语句在条件的书写上更简洁和灵活,但是却不可以完全取代If…then…elseif…end if形式的语句。因为select case….End select语句在使用上是有一些限制的。 首先,看该语句的形式: Select Case <变量或表达式> Case <表达式列表1>
<语句块1> Case <表达式列表2> <语句块2> … [Case Else
<语句块n+1> ] End Select
其中<变量或表达式>只能含有一个变量,任何含有多个变量的形式都是错误的。例如,要判断x,y是否在第一、第三象限内,若输入如下语句:Select Case x,y,VB程序会显示“缺少:语句结束”。
其次,在后面的Case“表达式列表”中不能出现Select Case变量或表达式中使用的变量,也不能出现主教材上列出的四种形式以外的符号或关键字(符号是:逗号;关键字是:Is、To)。
例如,上述象限的判断,若语句表示如下: Select Case x,y
Case x>0 And y>0
Print “第一象限” Case x<0 And y<0 Print “第三象限” End Select
则程序有多处错误:Select Case x,y中出现了多个变量;在Case x>0 And y>0中出现了变量和And逻辑运算符。上述例子只能用If的多分支结构来实现。
由此可见,虽然Select Case结构清晰,但使用受到限制,凡是对多个变量的条件判断只能用If的多分支结构来实现。
9.计算下列循环语句的次数 ⑴ For I =- -3 To 20 Step 4 答:循环次数为6次。
⑵ For I = -3.5 To 5.5 Step 0.5 答:循环次数为19次。
⑶ For I= -3.5 To 5.5 Step -0.5 答:不循环。步长<0, 循环初值<终值。 ⑷ For I= -3 To 20 Step 0 答:无数次。
10.下列 30-90 为语句标号,分别标记该语句,第40 句执行了几
次?,第50 句执行了几次?,第90 句显示的结果是多少? 30 For j = 1 To 12 Step 3 40 For k = 6 To 2 Step -2 50 mk = k 60 Print j, k 70 Next k 80 Next j 90 Print j, k, mk
答:第40 句执行了4次。第50 句执行了12次。第90 句显示的结果是13 0 2。
11.如果事先不知道循环次数,如何用 For …… Next 结构来实现?
答:只要将循环的终值设置为一个非常大的值,然后在循环体内增加 If 语句,判断是否达到循环结束条件。形式如下: For 循环变量=1 To 非常大的数 …….
If 达到循环结束条件 Then Exit For ……. Next 循环变量
12.利用循环结构,实现如下功能:
⑴ s??(i?1)(2i?1)
i?110答: S=0
For i = 1 To 10
S = S +(i + 1)*(2* i + 1) Next i
⑵ 分别统计 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 + 1
Next i
⑶ 将输入的字符串以反序显示。如输入“ASDFGHJKL”,显示“LKJHGFDSA”。 答:
s = InputBox(\输入字符串\For i = Len(s) To 1 Step -1
Print Mid(s, i, 1);
Next i
13.下面程序运行后的结果是什么?该程序的功能是什么? Private Sub Command1_Click() Dim x$, n% n = 20 x = \
Do While n <> 0 a = n Mod 2 n = n \\ 2
x = Chr(48 + a) & x Loop Print x End Sub
答:运行后结果为 10100,该程序的功能是将十进制数转换成二进制字符串。
14.下面程序运行后的结果是什么?该程序的功能是什么? Private Sub Command1_Click() Dim x%, y%, z% x = 242: y = 44 z = x * y Do Until x = y
If x > y Then x = x - y Else y = y - x
Loop Print x, z / x End Sub
答:运行后结果为 22 和 484,该程序的功能是用相减法求 x ,y 的最大公约数和最小公倍数。
15.利用随机函数产生20 个 50 们的最大值、最小值和平均值。 答:
Private Sub Command1_Click() Dim i%, t%, Max%, Min%, Avr! Form1.FontSize = 12 Avr = 0
Print \随机数为:\ Randomize
t = Int(Rnd() * 51 + 50) Print t; Avr = Avr + t Max = t Min = t For i = 1 To 19
t = Int(Rnd() * 51 + 50)
100范围内的随机数,显示它 ~ Print t; Avr = Avr + t
If t > Max Then Max = t If t < Min Then Min = t Next i Print Avr = Avr / 20
Print \最大值为: Print End Sub
最小值为:平均值为:\\\
正在阅读:
VB程序设计第三版习题答案(1-4)04-16
体育办公室卫生管理制度04-17
中班美术:蜡笔、水笔和毛笔-许甜甜老师04-18
Minimal types in simple theories05-23
中美对战02-26
关于团结友爱的作文(集合13篇精选范文)08-02
安徽航信税控发票开票软件(金税盘版)V2.0问题汇总-5月号2015.05.20 - 图文09-12
童年的游戏作文03-31
基于单片机的智能巷道清扫机硬件设计10-21
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 程序设计
- 答案
- 华为手机出口现状分析
- 外语学习的真实方法及误区分析详尽版
- 2011年湖南省普通高中学业水平考试政治试卷(含答案)
- 重点税源税源专业化管理成效显著
- 实验指导书
- 营养与食品卫生学习题集
- 2015年商业综合体行业现状及发展趋势分析
- 广西茶叶商店名录2018版1639家 - 图文
- 1量房记录表
- 苏教版小学三年级上册科学实验报告单
- 多西他赛注射液市场调查
- 江苏省空调制冷设备生产企业名录2018版2226家 - 图文
- 基本公共卫生居民健康档案试题
- 新人教版数学一年级下册:第3课时读数写数(教案)
- 人教新教材小学二年级数学上册第三、四单元练习题
- 鲁班软件电子教材(钢筋) - 图文
- 高速收费员关于榜样力量的演讲稿
- 关于调整合肥地区建设工程取费费率的通知
- 工作态度自我鉴定
- 校学生会工作计划4篇