vb程序设计教程 第三版 龚沛曾 课后答案
- 格式:doc
- 大小:54.00 KB
- 文档页数:16
习题一答案在教材上找。
习题二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,由系统指定。
第四章一、1、(1)10x 不能做变量名。
上机验证结果:VB将10识别为行号,改成x = Sin(x) + y是为变量x赋值。
故无语法错误。
(2)Sqr函数的参数为负数。
上机验证结果:“无效的过程调用或参数”(3)赋值号左边不是变量名。
上机验证结果:“缺少子程序、函数或属性”(4)除数为0上机验证结果:“溢出”。
2、自己去教材中找3、算术表达式、关系表达式、逻辑表达式4、(1)“≥”应改为“>=”,前者是中文字符,不具有运算功能。
(2)“10<x<20”应改为“10<x And x<20”,否则运行结果错误。
(3)else if 要连在一起,中间没有空格elseif5、设置循环次数是一个比较大的次数6、do……Loop whie 表达式7、进入任务管理器强制关闭程序8、参见教材详述9、语法错误二、1、B2、C3、B (题干有误,将第二行改成print spc(i);)4、C5、B6、D7、D8、D9、C三、(1)6(2)19(3)无限(4)10100(5)将十进制转换成二进制(6)22 484(7)求x,y的最大公约数和最小公倍数(8)and(9)or(10) sum=0(11)t*i(12)picture1.cls(13)i=1(14)text1=””(15)val(inputbox(“请输入整数”))(16) a(i)<min(17)j=i(18)max(19)min第五章一、1、(2)、(4)、(7)正确2、数组名:a数组类型:single维数:二维各维上下界:第一维上界2,下界-1;第二维上界3,下界0 列出各元素: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)3、4、5参见教材6、可以,用redim语句7、不行。
《VB程序设计》综合复习资料第一章Visual Basic程序设计概述一、填空题1、Visual Basic是一种面向__________的可视化程序设计语言,采取了__________的编程机制。
2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,标准模块文件的扩展名是____________。
3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件。
4、Visual Basic 6.0用于开发__________环境下的应用程序。
二、选择题1、下面不是VB工作模式的是()A.设计模式B.运行模式C.汇编模式D.中断模式2、可视化编程的最大优点是()A.具有标准工具箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、下列不能打开属性窗口的操作是()A.执行“视图”菜单中的“属性窗口”命令B.按F4键C.按Ctrl+TD.单击工具栏上的“属性窗口”按钮4、下列可以打开立即窗口的操作是()A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化B.面向对象C.面向图形D.事件驱动三、简答题1、代码窗口主要包括哪几部分?2、在工程资源管理器窗口中,主要列出了哪三类文件?3、窗体布局窗口的主要用途是什么?4、VB的基本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章简单的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性。
2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定。
3、利用对象的属性setfocus可获得焦点,对于一个对象,只有其visible属性和____________属性为true,才能接受焦点。
习题一答案在教材上找。
习题二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,由系统指定。
《VB程序復针》傢合靈习诲料时间:2021.02. 03 创作:欧阳体第一# Visual Basic卷房谡针網毬1、VisualBasic县一神而角______________ 的可视亿程瘁後皆语育,采取了 ____________ 的編綏机利。
2、右VB中3痉立件的犷急2昱__________________ ,窃体文仿的豺急2县_________________ ,林推桜徒尢需的少屐2经3、如矽“3程”菜单下的__________________ 命今,可逸播并添利ActiveX 施<4 o4、Visual Basic 6.0用孑科岌 _____________ 环俺下的应用程厚。
二、遑舞题1、下而不县VB 3仔催式的昱()A.後诂栈弍B.迄紂槿式C・汇僞槿式D・中断楼式2、可视亿僞程的是尢优点昱()A.典有杉:隹工典箱B.—个工程立件由若孑个窃体尢件处戌C.不需爰备乍尢逻代錫来搐迖⑦衫対兔D.所风即所需3、下列不能鬥易属俊窃匕的闊仔县()A.仇朽“视囹"菜单中的“鷹俊窃Q”命今B.溜F4 縫C ・ Ctrl+TD・单击工具牲£的“属俸窃疗''壇纽4、下列可以鬥科立即窗(2的芻仔县()A. Ctrl+DB. Ctrl+E C・ Ctrl+F D. Ctrl+G5、Visual Basic的备痉机粥经()A・可视亿B.而為対兔C・而為谢衫D・事件郭动三、筒答题1、代親窗▽至理包循哪e部分?2、右3終悄懣管理器窃C?中,主殳列出3哪三垄交件?3、窗体布咼窗㊀的主殳用逹经讨么?4、VB的基本游点县什么?5、倉样理斜可视亿後皆?6、倉理理餡琴件礎为隔程?第Zf简单的VB繹房谡针-、鎭空題1、役签昱《可以用Tab縫来逸取冷今血鉉,应務用_______________ 属僅。
2、一个據件应窗体的铉養由_____________ 餉_________ 属僅块宝,典尢J由 ____________ 餉 _________ 属傕:兴&o3、列用対兔的念傕setfocus可获需仗点,对孑一个对兔,口侖典visible 4傕牝_____________ 4僅刈true,才能谑登仗点。
VB程序设计教程第三版泷沛曾等著实验B 答案第一题Private Sub Command1_Click()Dim f!, c!f = Val(Text1)c = 5 / 9 * (f - 32)Text2 = Format(c, "0.00")End SubPrivate Sub Command2_Click()Dim c!, f!c = Val(Text2)f = 9 / 5 * c + 32Text1 = Format(f, "0.00")End Sub第二题Private Sub Command1_Click()Dim r!, s!r = Val(Text1)s = 3.14 * r ^ 2Label2 = Format(s, "0.00")End SubPrivate Sub Command2_Click()Dim r!, d!r = Val(Text1)d = 2 * r * 3.14Label3 = Format(d, "0.00")End SubPrivate Sub Text1_lostfocus()If Not IsNumeric(Text1) ThenText1 = MsgBox("输入有非数字字符,请重新输入")Text1.SetFocusEnd IfEnd Sub第四题Private Sub Command1_Click()Text1.Text = UCase(Text1)Label1 = Len(Text1)End SubPrivate Sub Text1_lostfocus()If IsNumeric(Text1) ThenText1 = MsgBox("输入有非字母字符,请重新输入")Text1.SetFocusEnd IfEnd Sub第五题Private Sub Form_Click()RandomizeDim a As Integer, b As Integer, c As Integer, d AsIntegerd = Int(Rnd * 900 + 100)Print "" & da = d \ 100b = (d / 10) Mod 10c =d Mod 10Print "" & c & b & aEnd Sub第6题Private Sub Form_click()label1=left(text1,3)label2=mid(text1,4,4)label3=right(text1,3)end sub第8 题Private Sub Form_click()Dim a!, b!, c!, d!, e!a = Val(InputBox("输入实数"))b = a ^ 2c = Sqr(a)d = a ^ 3e = a ^ (1 / 3)Print "平方"; Format(b, "0.000"); "平方根"; Format(c,"0.000"); "立方"; Format(d, "0.000"); "立方根";Format(e, "0.000")End Sub。
VB 第三版部分习题解答习题三1.(1)单精度 (2)非法(3)单精度 ( 4)双精度 (5)非法 (6)整数 (7)字符型 (8)非法(9)日期型 ( 10)双精度 (11)非法 (12)八进制 (13)非法 (14)十六进制 ( 15)逻辑型 (16)非法 (17)非法 (18)单精度 2.VB 的合法变量名为: (1)、(2)、( 6)、( 9)、(10)、(11) 3. (1) A bs (x+y )+z^5 (2)(1+x*y )W (3) (10*x+Sqr (3*y )/ x/y(4) (-b+Sqr(b*b-4*a*c))/(2*a) (6) Sin(45*3.14/180)+(Exp(10)+Log(10))/Sqr(x+y+1) 4.(1) Chr(int(Rnd*10+67)) (2) Int(Rnd*101+100) (3) x*y>0(4) x Mod 5=0 Or x Mod 7=0 (5) (x Mod 10)*10+x\10 (7) Ucase?>= ”A ”And Ucase?<= ”Z ” (8) Mid(s,5,6) (10) x<z And y>z Or x>z And y<z (11) x>z And y>z5.习题四1. 顺序结构、选择结构、循环结构2. (1) 10x 是非法变量名 (2)待求平方根的数为负数 ( 3)赋值符号的基边是表达式 ( 4)分母为零3. InputBox 函数等待用户在文本框中输入数据,获得的是输入的字符串数据 MsgBox 函数等待用户按一按钮,获得的是表示按钮的整数值,以决定程序的流向4. Print Format (x, “0.0”) ,显示 1 位小数 Print Format (x, “0.00”) ,显示 2 位小数Print Format (x, “0.000”) ,显示 3 位小数5. 可以是算术表达式、关系表达式、输入表达式6. (1) 应写成 >= (2) 应写成 10<x And x<207. (1) If Mid (c,3,1)= “C ”Then msgBox “Yes ”Else MsgBox “No ”(2)If 语句Private Sub Command1_Click ()X=Val (Text1)If x>20 Theny=x*x+3*x+2elseIf x>=10 Theny=Sqr (3*x )-2elseIf x>0 Theny=1/x+Abs (x )end ifPrint yEnd SubSelect 语句Private Sub Command2_Click(5) 1/(1/r1+1/r2+1/r3)(6) Round(x*100)/100(9) x>=10 And x<20 (1) 188 (2) “200100” (3) 68.56 (4) 876554 (5) #2/29/2000# (6) 6X=Val(Text1)Select Case xCase Is>20y=x*x+3*x+2Case Is >=10 y=Sqr(3*x)-2Case Is>0 y=1/x+Abs(x) end SelectPrint yEnd Sub(3)If 语句If x>y Then Max=x Else Max=yIf z>Max Then Max=zIIf 函数Max=IIf(x>y,x,y)Max=IIf(Max.z,Max,z)8.不可以(可参见例 4.9 )9.(1) 6 (2) 19 (3) 不循环,步长小于0,循环初值小于终值(4) 死循环, 步长为0 10.第40号语句共执行了4次; 第50号共执行了12次; 第90号语句显示的结果是13 0 211.将循环终值设置成一个非常大的一个数,再通过if 语句判断结束条件12.(1) s=0For i=1 To 10S=s+(i+1)*(2*i+1)Next i(2)s3=0s7=0For i=1 To 100If i mod 7=0 Then s7=s7+1If i mod 3=0 Then s3=s3+1Next i(3)s=InputBox( “输入字符串”) For i=Len(s) To 1 Step -1 Print Mid(s,i,1)Next i13.运行后结果为10100,该程序的功能是将十进制数转换成二进制字符串14. 运行的结果为22和484;该程序的功能是用相减法求x,y的最大公约数和最小公倍15.Private Sub Form_ClickDim i%,min%,max%,avg%,x% min=100:max=50:avg=0 , 设置初值For i=1 To 20x=Int(Rnd*51+50) Print x;If x>max Then max=xIf x<min Then min=x avg=avg+xNext iPrintPrint “最小值=”;min, “最大值= ”;max, “平均值=”;avg/20 End Sub习题五1.Option Base 语句, 例如, 定义数组下界为1, 则有Option Base 12.(2)、(4) 、(7) 符合要求3.下标比下界小或者比上界大4.数组名为a, 数组类型为单精度、二维、各维下界分别为-1 和0、上界分别为 2 和3、数组的大小4X 4共16个元素。
答案习题一答案在教材上找。
习题二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,由系统指定。
答案习题一答案在教材上找。
习题二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,由系统指定。
《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)在程序运行阶段通过赋值语句实现。
方法是附属于对象的行为和动作,也可以理解为指使对象动作的命令。
面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程,称为方法供用户直接调用,这给用户的编程带来了很大的方便。
因为方法是面向对象的,所以在调用时一定要指明对象,如果省略指当前对象,一般指窗体。
Private Sub Command1_Click()Label3 = Text1End SubA.2Private Sub Form_Load()= 0End SubPrivate Sub Command1_Click() '自动= 200End SubPrivate Sub Command2_Click() '手动= 0Call MyMoveEnd SubPrivate Sub Timer1_Timer()Call MyMoveEnd SubSub MyMove()- 50If < 0 Then =End SubPrivate Sub Form_Click()Text1 = Val(Text1) + 1End SubPrivate Sub Form_Load()Text1 = 0End SubA.4Private Sub Form_Click()Caption = "单击窗体,改变图片"Picture = LoadPicture + "\")Print "欢迎利用VB"End SubPrivate Sub Form_DblClick()ClsCaption = "双击窗体,卸去图片"Picture = LoadPicture("") ' End SubPrivate Sub Form_Load()Caption = "装入窗体"Picture = LoadPicture + "\")Print "装入图"End SubPrivate Sub Form_Resize() ' 该事件的作用窗体始终与图一样大'Caption = "窗体大小不变"' = 260 * 16 ' 260是图的宽度,象素单位' = 260 * 16 + 200 ' 260是图的高度,象素单位,200是窗体的题目栏高度End SubA.5Sub Command1_Click()= "隶书"= 25End SubSub Command2_Click()===End SubB.1Private Sub Command1_Click()Text2 = Format(5 / 9 * (Val(Text1) - 32), "")End SubPrivate Sub Command2_Click()Text1 = Format(9 / 5 * Val(Text2) + 32, "") End Sub或Private Sub Command1_Click()Dim f!, c! ' 声明两个变量f = Val(Text1)c = 5 / 9 * (f - 32)Text2 = Format(c, "") ' 保留两位小数End SubPrivate Sub Command2_Click()Dim ff!, cc! ' 声明两个变量cc = Val(Text2)ff = 9 / 5 * cc + 32Text1 = Format(ff, "") ' 保留两位小数End SubB.2Private Sub Command1_Click()Label2 = Format(Val(Text1) * Val(Text1) * , "") End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * * 2, "")End SubPrivate Sub Text1_LostFocus()If Not IsNumeric ThenMsgBox "输入有非数字字符,请从头输入", , "警告"= ""End IfEnd Sub或Private Sub Command1_Click()Label2 = Format(Val(Text1) * Val(Text1) * , "")End SubPrivate Sub Command2_Click()Label3 = Format(Val(Text1) * * 2, "")End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenIf Not IsNumeric Then= ""End IfEnd IfEnd SubB.3Private Sub Command1_Click()n = Int(Log(2) / Log + 1)Label1 = n & "年后人数超过26亿"End SubB.4Private Sub Command1_Click()Dim x, dx, cdx =dx = UCase(x)cd = Len(x)Print "大写字母为:"; dxPrint "字符串长度为:"; cdEnd SubB.5Private Sub Command1_Click()Text1 = Int(Rnd * 900 + 100)End SubPrivate Sub Command2_Click()Dim x%, x1%, x2%, x3%x = Val(Text1)x1 = x Mod 10 ' 分离出的个位数x2 = (x Mod 100) \ 10 ' 分离出的十位数x3 = x \ 100 ' 分离出的百位数Label1 = x1 * 100 + x2 * 10 + x3End SubB.6Private Sub Form_Click()Label1 = Left(Text1, 11)Label2 = Mid(T ext1, 12, 6)Label3 = Right(Text1, 5)End SubB.7Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); Spc(18 - 4 * (i - 1)); String(2 * i - 1, "★")Next iEnd SubPrivate Sub Command2_Click()ClsEnd Sub进一步要求:Private Sub Command1_Click()PrintFor i = 1 To 5Print Tab(15 - i * 2); String(2 * i - 1, "★"); String(10 - (2 * i - 1), "☆"); String(2 * i - 1, "★")Next iEnd SubPrivate Sub Command2_Click()ClsEnd SubB.8Private Sub Form_Click()x = Val(InputBox("输入一正实数", "计算", 0))pf = Format(x * x, "")pfg = Format(Sqr(x), "")lf = Format(x * x * x, "")lfg = Format(x ^ (1 / 3), "")Print "平方为:"; pf; Space(5); "平方根为:"; pfg; Space(5); "立方为:"; lf; Space(5); "立方根为:"; lfgEnd SubC.1Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入x的值"))If x < 1000 Theny = xElseIf x < 2000 Theny = * xElseIf x < 3000 Theny = * xElsey = * xEnd IfPrint yEnd SubC.2Private Sub Form_Click()Dim x!, y!x = Val(InputBox("输入上网时间")) If x < 10 Theny = 30ElseIf x < 50 Theny = 30 + * (x - 10)Elsey = 30 + * 40 + 2 * (x - 50)End IfIf y > 150 Theny = 150End IfPrint yEnd SubC.3Private Sub Command1_Click()Dim x!, y!, z!x = InputBox ("input x")y = InputBox ("input y")z = InputBox ("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; zIf x < y Then t = x: x = y: y = tIf x < z Then t = x: x = z: z = tIf y < z Then t = y: y = z: z = tPrint " 排序后" & x & " " & y & " " & z End SubPrivate Sub Command2_Click()Dim x!, y!, z!x = InputBox("input x")y = InputBox("input y")z = InputBox("input z")Print " x y z"Print " 排序前"; x; " "; y; " "; zIf x < y Then t = x: x = y: y = tIf y < z Thent = y: y = z: z = tIf x < y Thent = x: x = y: y = tEnd IfEnd IfPrint " 排序后" & x & " " & y & " " & z End SubC.4Dim a(3) As IntegerPrivate Sub Command1_Click()For i = 0 To 2a(i) = Int(Rnd * 100 + 200)a(i)Next iEnd SubPrivate Sub Command2_Click()Dim z As IntegerFor i = 0 To 1If a(i) > a(i + 1) Thenz = a(i + 1)a(i + 1) = a(i)a(i) = zEnd IfNext ia(0)a(1)a(2)End SubC.5Private Sub Text2_LostFocus() Dim m%, n%, y%m = Val(Text1)n = Val(Text2)If n Mod 2 <> 0 ThenMsgBox ("脚数一定为偶数")Text2 = ""Elsey = n / 2 - mIf y < 0 ThenMsgBox ("脚数必需≥2倍的头数,请从头输入")Text2 = ""Elsex = n / 2 - mLabel2 = yLabel3 = m - yEnd IfEnd IfEnd SubC.6Private Sub Command1_Click()Dim a!, b!, c!, x1!, x2!, de!a = Text1b = Text2c = Text3de = b * b - 4 * a * ct = 2 * aIf de = 0 ThenText4 = Format(-b / t, "")Text5 = Format(-b / t, "")Else If de > 0 ThenText4 = Format ((-b + Sqr(de)) / t, "")Text5 = Format ((-b - Sqr(de)) / t, "")ElseText4 = Format(-b / t, "") & "+" & Format(Sqr(Abs(de)) / t, "") & "i"Text5 = Format(-b / t, "") & "-" & Format(Sqr(Abs(de)) / t, "") & "i"End IfEnd SubPrivate Sub Command2_Click()Text1 = ""Text2 = ""Text3 = ""Text4 = ""Text5 = ""End SubC.7Private Sub Text3_LostFocus()Select Case Trim(Text3)Case "+"Text4 = Val(Text1) + Val(Text2)Case "-"Text4 = Val(Text1) - Val(Text2)Case "*"Text4 = Val(Text1) * Val(Text2)Case "/"If Val(Text2) = 0 ThenMsgBox "分母为零,从头输入"Text2 = ""ElseText4 = Val(Text1) / Val(Text2)End IfEnd SelectEnd SubC.8Private Sub Text1_LostFocus()Select Case Trim(Text1)Case 1Text2 = "Monday"Case 2Text2 = "Tuesday"Case 3Text2 = "Wednesday"Case 4Text2 = "Thursday"Case 5Text2 = "Friday"Case 6Text2 = "Saturday"Case 7Text2 = "Sunday"Case Is > 7, Is < 1MsgBox "数字为1~7,从头输入"Text1 = ""End SelectEnd Sub或Private Sub Text1_LostFocus()If Text1 > 7 Or Text1 < 1 ThenMsgBox "数字为1~7,从头输入"Text1 = ""ElseText2 = Choose(Text1, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday") End IfEnd SubD.1Private Sub Form_Click()For i = 1 To 9Print T ab(10 - i); String(2 * i - 1, Trim(Str(i)))Next iEnd SubD.2Private Sub Form_Click()For i = 1 To 10 Step 1Print Tab(i); String((20 - 2 * i), Chr(64 + i))Next iEnd SubD.3Private Sub Command1_Click()Dim s!, t!, i&s = 1t = 1For i = 1 To 100000t = t + is = s + 1 / tIf 1 / t < Then Exit ForNext iPrint "For结构"; s, i; "项"End SubD.4Private Sub Command1_Click()Dim n&, pi#, i&n = InputBox("输入n值")pi = 2For i = 1 To npi = pi * (2 * i) / (2 * i - 1) * (2 * i) / (2 * i + 1) Next iPrint "当n=" & n & "时,pi="; piEnd SubD.5Private Sub Form_Click()Dim s!, t!, i!, a%, n%a = Int(Rnd * 9 + 1)n = Int(Rnd * 6 + 5)t = 0: s = 0Print "a="; a, "n="; nFor i = 1 To nt = t * 10 + as = s + tPrint t;Next iPrintPrint "s="; sEnd SubD.6Private Sub Command1_Click() Dim s As Integers = 0For i = 1 To 9For j = 0 To 9For k = 0 To 9s = i * 100 + j * 10 + kIf s = i ^ 3 + j ^ 3 + k ^ 3 ThenPrint sEnd IfNext kNext jNext iEnd SubPrivate Sub Command3_Click()main. ShowEnd SubD.7Private Sub Command1_Click() Dim a!, x0!, x1!a = 27x0 = 2i = 0Doi = i + 1x1 = 2 * x0 / 3 + a / (3 * x0 * x0)If Abs(x1 - x0) < Then Exit Dox0 = x1LoopPrint x1, iEnd SubD.8Private Sub Command1_Click()s = 0x0 =For i = 1 To 30s = s + x0x0 = x0 * 2Next iPrint sEnd SubD.9Private Sub Command4_Click()"x课安排在"; "y课安排在"; "z课安排在"""For z = 5 To 6For x = 1 To z - 2For Y = x + 1 To z - 1X1 = Choose(Weekday(x), "周一", "周二", "周三", "周四", "周五", "周六", "周日")Y1 = Choose(Weekday(Y), "周一", "周二", "周三", "周四", "周五", "周六", "周日")z1 = Choose(Weekday(z), "周一", "周二", "周三", "周四", "周五", "周六", "周日")" "; X1; " "; Y1; " "; z1Next YNext xNext zEnd SubE.1Private Sub Form_Click()Dim a(1 To 10) As IntegerFor i = 1 To 10a(i) = Int(Rnd * 71 + 30)Print a(i); " ";Next iMax = a(1)Min = a(1)Avg = a(1)For i = 2 To 10If a(i) > Max Then Max = a(i)If a(i) < Min Then Min = a(i)Avg = Avg + a(i)Next iAvg = Avg / 10PrintPrint "Max="; Max; " Min="; Min; " Avg="; Avg End SubE.2Private Sub Form_Click()Dim aa = Array(56, 78, 98, 88, 76, 78)For i = 0 To 5Print String(a(i) \ 5, "◆"); a(i)PrintNext iEnd SubE.3Dim a%(19)Private Sub Command1_Click()For i = 0 To 19a(i) = Int(Rnd * 101)a(i); " ";If (i + 1) Mod 4 = 0 ThenNext iEnd SubPrivate Sub Command2_Click()Dim s(5 To 9)For i = 0 To 19k = a(i) \ 10Select Case kCase 0 To 5s(5) = s(5) + 1Case 9 To 10 '90~100分的人数s(9) = s(9) + 1Case 6 To 8 ' 寄存其他三个分数段的下标有规律,按照K取得s(k) = s(k) + 1End SelectNext iFor i = 5 To 9If s(i) <> 0 Then "s("; i; ")的人数有"; Format(s(i), "0"); "个"Next iEnd SubE.4Private Sub Command1_Click()Dim d%(1 To 10)For i3 = 1 To 10Randomized(i3) = Int(Rnd * 91 + 10)Next i3For i = 1 To 10For j = 1 To 10 - iIf d(j) < d(j + 1) Thent = d(j): d(j) = d(j + 1): d(j + 1) = t End IfNext jNext iFor i = 1 To 10: d(i);If i Mod 5 = 0 ThenNext iEnd SubE.5Dim a%(3, 3), b%(3, 3)Private Sub Form_Load()For i = 0 To 3For j = 0 To 3a(i, j) = Int(Rnd * 36 + 35)b(i, j) = Int(Rnd * 41 + 100) Next jNext iEnd SubPrivate Sub Command1_Click()For i = 0 To 3For j = 0 To ia(i, j); " ";Next jNext iEnd SubPrivate Sub Command2_Click()For i = 0 To 3For j = i To 3Tab(j * 6); b(i, j);Next jNext iEnd SubPrivate Sub Command3_Click()sa = 0For i = 0 To 3sa = sa + a(i, i)Next isb = 0For i = 0 To 3sb = sb + b(i, 3 - i)Next i"A数组主对角线元素和为:"; sa"B数组副对角线元素和为:"; sb End SubE.6Private Sub Form_Click()n =ReDim a %( n + 1, n + 1)a(0, 0) = 1: a(1, 1) = 1: a(1, 0) = 1For i = 2 To n + 1For j = 2 To ia(i, j) = a(i - 1, j - 1) + a(i - 1, j) Tab((j - 1) * 5 - 2); a(i, j); ""; Next jNextEnd SubE.7Private Sub Form_Load()"大学计算机基础""C/C++程序设计""VB程序设计""Web程序设计""多媒体技术与应用""数据库技术与应用""网络技术与应用""硬件技术基础""软件技术技术基础"End SubPrivate Sub List1_Click()If >= 5 ThenMsgBox ("超过5门课程,不能再选")Exit SubElseEnd IfEnd SubE.8Sub Combo1_KeyPress(KeyAscii As Integer) Select Case KeyAsciiCase 48 To 57, 13Case ElseKeyAscii = 0End SelectIf KeyAscii = 13 Then= ""End IfEnd SubPrivate Sub Command1_Click()Dim min%, max%min = Val(0))max = Val(0))imin = 0imax = 0For i = 1 To - 1If Val(i)) > max Thenimax = imax = (i)ElseIf Val(i)) < min Thenimin = imin = (i)End IfNext it = (0)(0) = (imin)(imin) = tt = - 1)- 1) = (imax)(imax) = tEnd SubE.9Private Sub Form_Click()For i = 0 To - 1If Asc(Left(i), 1)) < 0 Then(i)= (i)"商丘师范学院"End IfNext iEnd SubE.10Private Type clerknumber As String * 3name As String * 5salary As IntegerEnd TypeDim a(0 To 4) As clerk, n%Private Sub Command1_Click()If n >= 5 ThenMsgBox ("输入人数超过数组声明的个数") ElseWith a(n).number = Text1.name = Text2.salary = Text3a(n).number, a(n).name, a(n).salary PrintEnd Withn = n + 1Text1 = ""Text2 = ""Text3 = ""End IfEnd SubPrivate Sub Command2_Click()Dim t As clerk, i%, j%For i = 0 To n - 1For j = i To n - 1If a(i).salary < a(j + 1).salary Thent = a(i): a(i) = a(j + 1): a(j + 1) = tEnd IfNext jNext i"工号姓名工资" For i = 0 To n - 1a(i).number, a(i).name, a(i).salaryPrintNext iEnd SubF.1Private Sub Form_Click()Dim a(1 To 10), amin, i%For i = 1 To 10a(i) = -Int(Rnd * 101 + 300)Print a(i);Next iCall s(a(), amin)PrintPrint "min="; aminEnd SubSub s(b(), min)Dim i%min = b(LBound(b))For i = LBound(b) + 1 To UBound(b)If b(i) < min Then min = b(i) Next iEnd SubF.2Private Sub Command1_Click()Dim mm%, nn%mm = Val(Text1)nn = Val(Text2)mm; Tab(6); nn; Tab(12); gcd(mm, nn) End SubFunction gcd%(ByVal m%, ByVal n%)If m < n Then t = m: m = n: n = tr = m Mod nDo While (r <> 0)m = n: n = r: r = m Mod nLoopgcd = nEnd FunctionF.3Dim x!Private Sub Command1_Click()Print "挪用标准函数Sin的结果"; Sin(x)End SubPrivate Sub Command2_Click()Print "挪用自概念函数MySin的结果"; MySin(x)End SubFunction MySin(x!) As DoubleDim i%, t!, s!t = xs = ti = 1Do While Abs(t) >t = -1 * t * x * x / ((i + 1) * (i + 2))s = s + ti = i + 2LoopMySin = sEnd FunctionPrivate Sub Command3_Click()x = InputBox("输入要计算正弦函数的角度值x")x = x * / 180End SubF.4Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 ThenIf Not IsNumeric(Text1) ThenMsgBox "输入非数字串,从头输入"= ""ElseIf IsH(Text1) ThenText1; " ★"ElseText1End IfText1 = ""End IfEnd IfEnd SubFunction IsH(ss As String) As BooleanDim i%, Ls%IsH = Truess = Trim(ss)Ls = Len(ss)For i = 1 To Ls \ 2If Mid(ss, i, 1) <> Mid(ss, Ls + 1 - i, 1) ThenIsH = FalseExit FunctionEnd IfNext iEnd FunctionF.5Function prime(ByVal m As Integer) As Booleanprime = TrueDim i%For i = 2 To m - 1If (m Mod i) = 0 Then prime = False: Exit Function '注意冒号和exit的范围Next iEnd FunctionPrivate Sub Command1_Click()n = 0For i = 6 To 100 Step 2For j = 3 To i \ 2If prime(j) ThenIf prime(i - j) Theni & " =" & j & " +" & i - jn = n + 1End IfEnd IfNext jNext i" 6和100之间共有"; n; "对素数和" End SubF.6Dim a%()Private Sub Form_Click()Print "1000之内的完数为:" For i = 1 To 1000If IsWs(i) ThenPrint i; "=1";For j = 1 To UBound(a)Print "+"; a(j);Next jPrintEnd IfNext iEnd SubFunction IsWs(m) As Boolean Dim s%s = 0For i = 1 To m \ 2If m Mod i = 0 ThenReDim Preserve a(j)a(j) = ij = j + 1s = s + iEnd IfNext iIf m = s Then IsWs = TrueEnd FunctionF.7Private Sub DeleStr(s1 As String, ByVal s2 As String)Dim i%ls2 = Len(s2)i = InStr(s1, s2)Do While i > 0s1 = Left(s1, i - 1) + Mid(s1, i + ls2) ' 在s1中去除s2子串i = InStr(s1, s2)LoopEnd SubPrivate Sub Command1_Click() ' 挪用DeleStr子进程Dim ss1 As Stringss1 = Text1Call DeleStr(ss1, Text2)Text3 = ss1End SubPrivate Sub Command2_Click()End SubF.8Private Sub Command1_Click()Dim maxw$maxlen Text1 & " ", maxwText2 = maxwEnd SubSub maxlen(s$, maxw$)Dim word$maxw = ""Do While s <> ""i = InStr(s, " ")word = Left(s, i - 1)If Len(word) > Len(maxw) Then maxw = word s = Mid(s, i + 1)LoopEnd SubPrivate Sub Command1_Click()Combo1If Option1 Then "Pentium II"If Option2 Then "Pentium I"If Option3 Then "Celeron"Text1If Check1 Then "声卡"If Check2 Then "Modem"If Check3 Then "网络适配器"End SubPrivate Sub Text1_LostFocus()st = UCase(Trim(T ext1))le = Len(st)If Not IsNumeric(Left(st, le - 2)) Or Right(st, 2) <> "MB" ThenMsgBox "有不合法字符!"Text1 = ""End IfEnd SubPrivate Sub Check1_Click()= Not SubPrivate Sub Check2_Click()= Not SubPrivate Sub Command1_Click()If Option1 ThenSin(Val(Text1))ElseIf Option2 ThenExp(Val(Text1))ElseIf Option3 ThenSqr(Val(Text1))End IfEnd SubPrivate Sub return_Click(Index As Integer)Unload Form2End SubG.3Private Sub HScroll1_Change()Text1 =Text2 =Text3 =Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "") Text5 = Format(Val(Text4) + Val(Text1), "")End SubPrivate Sub HScroll2_Change()Text1 =Text2 =Text3 =Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "") Text5 = Format(Val(Text4) + Val(Text1), "")End SubPrivate Sub VScroll1_Change()Text1 =Text2 =Text3 =Text4 = Format(Val(Text1) * (Text3 / 100) * (Text2 / 12), "") Text5 = Format(Val(Text4) + Val(Text1), "")End SubG.4Dim t As SinglePrivate Sub Command1_Click()t = InputBox("输入倒计时分钟数") t = t * 60= 0= t= tEnd SubPrivate Sub Command2_Click()= 1000= TrueEnd SubPrivate Sub Timer1_Timer()Dim m%, s%t = t - 1= tm = t \ 60s = t Mod 60Label1 = m & "分" & s & "秒"If t = 0 ThenMsgBox "时间到!"= 0= FalseEnd IfEnd SubG.5Private Sub Command1_Click()=End SubPrivate Sub Command2_Click()i = Shell("C:\WINDOWS\ " + , vbNormalFocus) End SubG.6rivate Sub bold_Click()= Not= NotEnd SubPrivate Sub del_Click()Text1 = ""End SubPrivate Sub end_Click()EndEnd SubPrivate Sub font12_Click()= 12End SubPrivate Sub font16_Click()= 16End SubPrivate Sub Form_Load()= False= FalseEnd SubPrivate Sub italic_Click()= Not= NotEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu menu2End SubG.7Private Sub Command1_Click()=End SubPrivate Sub Command2_Click()i = Shell("C:\WINDOWS\ " + , vbNormalFocus)End SubPrivate Sub return_Click(Index As Integer)Unload Form5End SubG.8G.9Private Sub 结束_Click()EndEnd SubPrivate Sub 删除最大值_Click()max = (0)For i = 1 To - 1If max < (i) Then max = (i): j = iNext ijEnd SubPrivate Sub 删除最小值_Click()min = (0)For i = 1 To - 1If min > (i) Then min = (i): j = iNext ijEnd SubPrivate Sub 随机产生_Click()RandomizeFor i = 0 To 9(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub 添加数据_Click()Int(Rnd * 30 + 70)End SubPrivate Sub 统计_Click()Dim max%, min%, ave!, m%, n%max = (0)min = (0)ave = (0)m = 0n = 0For i = 1 To - 1If max < (i) Then max = (i): m = iIf min > (i) Then min = (i): n = iave = ave + (i)Next i= (n)= (m)= Format(ave / , "")End SubG.10Private Sub experimentG2_Click()End SubPrivate Sub experimentG3_Click()End SubPrivate Sub experimentG4_Click()End SubPrivate Sub experimentG5_Click()End SubPrivate Sub font_12_Click()= 12End SubPrivate Sub font_16_Click()= 16End SubPrivate Sub rnd10_Click()RandomizeFor i = 0 To 9(i) = Int(Rnd * 30 + 70)Next iEnd SubPrivate Sub stat_Click()Dim max%, min%, ave!, m%, n%max = (0)min = (0)ave = (0)m = 0n = 0For i = 1 To - 1If max < (i) Then max = (i): m = iIf min > (i) Then min = (i): n = i。
vb程序设计教程第三版龚沛曾课后答案文库.txt心脏是一座有两间卧室的房子,一间住着痛苦,一间住着快乐。
人不能笑得太响,否则会吵醒隔壁的痛苦。
习题一答案在教材上找。
习题二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,由系统指定。
习题一答案在教材上找。
习题二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,由系统指定。
习题一答案在教材上找。
习题二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,由系统指定。
《VB程序设计》综合温习资料之五兆芳芳创作第一章 Visual Basic程序设计概述一、填空题1、VisualBasic是一种面向__________的可视化程序设计语言,采纳了__________的编程机制.2、在VB中工程文件的扩展名是____________,窗体文件的扩展名是____________,尺度模块文件的扩展名是____________.3、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件.4、Visual Basic 6.0用于开发__________情况下的应用程序.二、选择题1、下面不是VB任务模式的是()A.设计模式B.运行模式C.汇编模式D.中断模式 2、可视化编程的最大优点是()A.具有尺度东西箱B.一个工程文件由若干个窗体文件组成C.不需要编写大量代码来描述图形对象D.所见即所得3、下列不克不及打开属性窗口的操纵是()A.执行“视图”菜单中的“属性窗口”命令B.按F4键C.按Ctrl+TD.单击东西栏上的“属性窗口”按钮4、下列可以打开立即窗口的操纵是()A.Ctrl+D B.Ctrl+E C.Ctrl+F D.Ctrl+G5、Visual Basic的编程机制是()A.可视化 B.面向对象 C.面向图形 D.事件驱动三、简答题1、代码窗口主要包含哪几部分?2、在工程资源办理器窗口中,主要列出了哪三类文件?3、窗体计划窗口的主要用途是什么?4、VB的根本特点是什么?5、怎样理解可视化设计?6、怎要理解事件驱动编程?第二章复杂的VB程序设计一、填空题1、设置是否可以用Tab键来选取命令按钮,应该用______________属性.2、一个控件在窗体的位置由_______和________属性决定,其大小由__________和_________属性决定.3、利用对象的属性setfocus可取得焦点,对于一个对象,只有其visible属性和____________属性为true,才干接受焦点.4、设置控件布景颜色的属性名称是______________________.5、所有控件都具有的配合属性是__________________属性.6、一般情况下,控件有两个属性项的缺省值是相同的,这两个属性项是_______________.7、VB中的每个对象(控件)都有一组特征,这组特征称为__________,我们通过修改它可以控制对象的外不雅和操纵.8、通常情况下,VB中一个工程主要包含如下四个文件:窗体文件、工程文件、类模块文件和_____________文件,后者的扩展名为.Bas,通常由Basic语言编写,是一个可共用的子程序.9、VB有三种任务模式,辨别是设计(Design)模式、_____________和中断(Break)模式.二、选择题1、以下能够触发文本框Change事件的操纵是()A.文本框失去焦点B.文本框取得焦点C.设置文本框的焦点D.改动文本框的内容2、应用程序设计完成后,应将程序保管,保管的进程是()A.只保管窗体文件便可B.只保督工程文件便可C.先保督工程文件,之后保管窗体文件D.先保管窗体文件(或尺度模块文件),之后还要保督工程文件3、VB应用程序的运行模式是()A.解释运行模式B.编译运行模式C.两者都有D.汇编模式4、任何控件都具有的属性是()A.TEXTB.CAPTIONC.NAMED.FORECOLOR5、决定控件上文字的字体、字形、大小及效果的属性是()A.TEXTB.CAPTIONC.NAMED.FONT6、在窗体上成立了多个控件,如TEXT、LABEL1、COMMAND1,若要使程序一运行焦点就定位在COMMAND1控件上,应将COMMAND1控件的()设置为0A.INDEXB.TABINDEXC.TABSTOPD.ENABLED 7、运行时,当用户向文本框输入新的内容,或在程序代码中对文本框的TEXT属性进行赋值从而改动了文本框的TEXT属性值时,将触发文本框的()事件A.CLICKB.DBLCLICKC.GOTFOCUSD.CHANG E8、在运行时,按TAB键跳过了一个可以取得焦点的控件(如文本框),则可能是因为()A.该控件的TABSTOP属性值为TRUEB.该控件的TABINDEX属性值为FALSEC.该控件的ENABLED属性值为TRUED.该控件的ENABLED属性值为FALSE9、为了避免用户随意将光标置于控件上,应()A.将控件的TABINDEX属性设置为0B.将控件的TABSTOP属性设置为TRUEC.将控件的TABSTOP属性设置为FALSED.将控件的ENABLED属性设置为FALSE10、若要使标签控件显示时,不笼盖其布景内容,应设置标签控件的()属性A.BACKCOLORB.BORDERSTYLEC.FORECOLORD.BACKSTYLE11、如果要在文本框中输入字符时,只显示某个字符,如星号(*),运行时,在文本框中输入的字符仍然显示出来,而不显示星号,原因可能是()A.文本框的MULTILINE属性值为TRUEB.文本框的LOCKED属性值为TRUEC.文本框的MULTILINE属性值为FALSED.文本框的LOCKED属性为FALSE12、在运行阶段,要在文本框TEXT1取得焦点时选中文本框中所有内容,对应的事件进程是()A.Private Sub Text1_GotFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubB.Private Sub Text1_LostFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubC.Private Sub Text1_Change( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End SubD.Private Sub Text1_SetFocus( )Text1.SelStart=0Text1.Sellength=Len(Text1.Text)End Sub13、Visual Basic承继了Basic语言复杂易用的语法特点,同时支持面向对象的编程机制,其中组成其控件(对象)的三要素是()A.属性、事件、事件进程B.控件、窗体、事件C.属性、进程、办法D.属性、事件、办法14、决定标签(Label)显示的属性是()A.TextB.NameC.CaptionD.Alignment15、命令按钮的题目文字由()属性来设置.A.Text B.Caption C.Name D.(名称)16、若要设置文本的显示颜色,则可用()属性来实现.A.BackColor B.Forecolor C.FillColor D.Backstyle17、在运行时,若要调用某命令钮的Click事件进程,则可设置该命令钮对象的()属性为Ture来实现.A.Enabled B.Value C.Default D.Cancel18、在运行时,若要取得用户在文本框中所选择的文本,可通过拜访()属性来实现.A.SelStart B.SelLenght C.Text D.SelText三、简答题1、事件驱动的含义是什么?举例说明.2、交互式开发办法和传统的应用程序开发进程有什么不合?3、文本框在什么情况下使用?4、什么是工程?5、结构化程序设计的三种根本结构是什么?6、对象的三要素是什么?并辨别进行复杂的解释.7、为什么要生成可执行文件和制作装置盘?8、使用变量前先声明有什么利益?9、如何使用帮忙功效?10、结构化程序设计的特点是什么?11、为了把焦点移到某个指定的控件,在代码中应使用的办法是什么?12、启动Visua Basic后,只创建了一个窗体,若此时保管,需要保管几个文件?各是什么文件?先保管的是哪一个?13、为了避免文本框中的信息运行后被用户修改,应设置什么属性?第三章 VB根本语言一、填空题1、一般可以使用__________关头字声明常量.2、______类型也称变体类型,是一种通用的、可变的数据类型,它可暗示或存储任何一种数据类型.3、变量的声明分为两种办法:__________和____________.4、在VB中,用___________________语句设定数组的下界,用_____________和__________________语句辨别前往数组的上、下界.5、在代码模块中参加Option Explicit的目的是_____________________.6、function aa (a1 as date,optional a2 as boolean) as single,写出optional命令的作用__________________.7、在VB中,我们用一个复杂的______语句就能实现退出程序.8、生成消息框的命令是____________,生成输入框的命令是____________.9、通用对话框(commondialog)属activex控件,它可以显示多个尺度对话框,包含打开/另存为、字体、打印等对话框,若要显示所有文件,则应设置其属性filter=____________,若要使它显示为打印对话框,则应使用什么办法____________.10、从字符串中任意位置截取字符的函数是__________.11、语句For j = 3 To 20 Step 3 使循环体执行了______次.12、对于正在使用的动态数组Arraya(),要增加一个单元,但不克不及破坏数组内的数据,则应使用语句__________________________________.13、在Visual Basic中声明静态变量的关头字是_________________.14、表达式10 Mod 6 \ 4的值为______.15、表达式chr(Asc("a") + 5)的值为_________.16、VB中使用注释有2种办法,即________和________.17、VB中的数据以四种形式存储:常量、_________、_________和记实.18、为了在VB中存储一个4行5列的二维矩阵,需要定义一个整型的数组,请把数组定义语句弥补完整:Dim Juzhen(__) as Integer.19、控件数组由一组相同类型的控件组成,这些控件共用一个相同的控件名,但是每个控件都有一个唯一的下标来区分,我们使用属性____来设置下标.20、在进程调用中,实现调用进程的实参和被调用进程的形参之间的数据传递有两种方法:按值传递和____.21、为了包管程序中必须对变量的强制性定义,需要在代码模块的声明部分参加______________语句.22、阐发For……Next循环结构的实例:For i = 5 To 30 Step 2 中,循环体一共执行了______次.23、表达式Mid("UniversityOfPetroleum", 8, 4) 的值为_________.24、常量分为普通常量和__________常量.25、要将大写字母转换为小写字母,可使用____________函数.26、不管焦点在哪个控件上,按__________键相当于按了取消按钮.27、执行“工程”菜单下的__________命令,可选择并添加ActiveX控件.28、__________是程序中VB停止执行的地方.29、逻辑常量为True或__________.30、使用了__________________的声明后,当程序中使用未经声明的变量时,程序运行时会报错.31、要将小写字母转换为大写字母,可使用____________函数.32、自字符串N1位开始向右取N2个字符,要使用_________________函数.33、日期常量暗示时,用符号__________将日期型数据括起来.34、局部变量只能在__________中声明和使用.35、模块级变量的声明关头字是Dim或__________.36、函数Abs(x)的功效是__________.37、表达式3/6*5的值是__________.二、选择题1、以下哪个是正当的变量()A.right B.abc@123 C.123_abc D.ab123c 2、下列说法错误的是()A.在同一模块不合进程中的变量可以同名B.不合模块中定义的全局变量不成以同名C.引用另一模块中的全局变量时,必须在变量名前加模块名D.同一模块中不合级的变量可以同名3、把MsgBox的前往值转换为数值应该使用的函数是()A.LogB.StrC.LenD.Val4、语句DIM AA(3,4,5)中定义的数组有()个元素A.12 B.60 C.120 D.3455、下面程序运行后输出的结果是()A$="CHINA"B$=STRING$(3,A$)PRINT B$ENDA.CHI B.CCC C.INA D.AAA6、以下语句的输出结果是()Print Format$(32548.5, "000,000.00")A.32548.5 B.325,485.00 C.032,548,50 D.32,548,507、以下叙述中错误的是()A.如果进程被定义为Static类型,则该进程中的局部变量都是Static类型B.Sub进程中不克不及嵌套定义Sub进程C.Sub进程中可以嵌套调用Sub进程D.事件进程可以像通用进程一样由用户定义进程名8、Visual Basic提供的On Error Resume next错误陷阱语句暗示()A.当产生错误时,使程序转跳到语句标号为0的程序块B.当产生错误时,不使用错误处理程序块C.当产生错误时,疏忽错误行,持续执行下一语句D.当产生错误时,终止本进程执行,持续执行下一进程9、在Visual Basic中,若要将控制权交给操纵系统则通过()的语句.A.End B.Exit Do C.Exit Sub D.DoEvents 10、在Visual Basic 中语句的续行号采取()A.空格与下划线 B.下划线与空格 C.空格与短线 D.短线与空格11、假定有以下程序段:For i=1 to 3For j=5 to 1 Step –1Print i*jNext j,i则语句Print i*j的执行次数是()A.15 B..16 C.17 D.1812、从键盘上输入两个字符串,辨别保管在变量str1、str2中.确定第二个字符串在第一个字符串中起始位置的函数是()A.LeftB.MidC.StringD.Instr13、如果将布尔常量值TRUE赋值给一个整型变量,则整型变量的值为()A.0B.1C.TRUED.FALSE14、下列叙述不正确的是()A.注释语句是非执行语句,仅对程序的内容起注释作用,它不被解释和编译B.注释语句可以放在代码中的任何位置C.注释语句不克不及放在续行符的前面D.代码中参加注释语句的目的是提高程序的可读性15、语句PRINT “INT(13.2)”;INT(13.2)的输出结果为()C.INT(13.2)= 13D.INT(13.2)= 1416、如果TAB函数的参数小于1,则打印位置在第()列A.0B.1C.2D.317、变量未赋值时,数值型变量的值为()A、0B.空C.1D.无任何值18、下列语句中正确的是()A.txt1.text+txt2.text=txt3.textB.=cmd okC.12label.caption=1234D.a=inputbox(“hello”)19、假定变量BOOLV AR是一个布尔型变量,则下面正确的赋值语句是()A.BOOLV AR=‘TRUE’B.BOOLV AR=.TRUEC.BOOLV AR=#TRUE#D.BOOLV AR=3<420、以下()程序段可以实施X、Y变量值的变换()A.Y=X:X=YB.Z=X:Y=Z:X=YC.Z=X:X=Y:Y=ZD.Z=X:W=Y:Y=Z:X=Y21、语句PRINT “SGN(26)=”;SGN(26)的输出结果为()A.SGN(26)=26B.SGN(26)= 26C.SGN(26)= +1D.SGN(26)= 122、读下面程序段,判断变量Str2的取值是()Dim Str1, Str2 as StringStr1="University"Str2=STRING$(3,Str1)A.Uni B.UUUC.ity D.yyy23、VB支持自定义数据类型,在某程序中我们定义了如下类型:TypeStudentnumber AsstringnameAsStringageAsIntegerEndType针对上述定义,如下几项用法正确的是()A.="张三" B.Dim s AsStudent ="张红"C.DimsAsTypeStudent D.DimsAsType="张三" ="张三"24、一个工程中包含两个名称辨别为Form1、Form2的窗体,一个名称为mdlFunc的尺度模块.假定在Form1、Form2和mdlFunc中辨别成立了自定义进程,其定义格局为:Form1中定义的进程:Private Subfrmfunction1()EndSubForm2中定义的进程:PublicSubfrmfunction2()EndSubmdlFunc中定义的进程:PublicSubmdlFunction()EndSub在调用上述进程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是()A.上述三个进程都可以在工程中的任何窗体或模块中直接被调用B.只有mdlFunction进程能够被工程中各个窗体或模块直接被调用C.frmfunction1只能在form1中调用,而frmfunction2 则可以在所有模块或窗体中被直接调用D.上述三个进程都只能在各自被定义的模块中直接调用25、VB中Do……Loop结构既可以组成当型循环,也可以组成直到型循环,按照下面的代码:Dim i,n as Integern = 20i = 1DoPrint i;i = i + 2Loop Until i >20判断循环结构的类型和循环体的执行次数,正确的选项是()A.当型循环,20次B.直到型循环,10次C.当型循环,10次D.直到型循环,20次26、在程序中,使用InputBox函数可以接受用户的输入,如果要把它的前往值转换为数值型的数据,应该使用的函数是()A.Val B.LenC.Str D.Log27、动态数组因为在程序运行前无法确定数组的大小,所以经常按照程序的运行情况,对数组进行重新定义,以下关于VB中动态数组的叙述中不正确的是()A.可以用ReDim语句重新定义动态数组,并且可以进行多次重定义B.首次用Dim进步履态数组声明的时候,必须指明它的类型和上下界C.Preserve为ReDim语句的可选参数,用于保存动态数组原来的内容D.当对动态数组使用Erase语句进行释放操纵时,将释放其内存28、VB中的控件也叫做部件或组件,主要包含三类,以下哪一项不属于VB控件的分类()A.控件B.可拔出对象C.ADO控件 D.ActiveX控件29、表达式4+5 \ 6 * 7 / 8 Mod 9 的值是()A.4 B.5 C.6 D.730、可以同时删除字符串前导和尾部空白的函数是()A.Ltrim B.Rtrim C.Trim D.Mid三、简答题1、全局变量声明有哪些限制?2、字符串是否可以自动转换为数字类型?3、用Format函数格局化后的字符格局在不合区域情况下的输出是否相同?为什么?4、在InputBox函数中,哪一个参数是必须的?5、在MsgBox函数中哪一个参数是必须的?6、在什么情况下使用进程?7、为什么要进行程序调试?8、调试程序有哪些手段?9、用语句Dim A(3 To 5) As Integer定义的数组的元素个数是多少?10、设有如下的Visual Basic表达式:5*x^23*x2*Sin(a)/3,与它对应的数学式是什么?11、数学式)x+-对应的VB表达式是什么?a)(y32(b12、表达式2>3 And 4<=5 Or 4>4的值是什么?13、怎样在程序中设置断点?14、在什么情况下可以设置断点?15、程序出错的类型有哪几种?16、在同一模块、不合进程中声明的相同变量名,两者是否暗示同一个变量?为什么?17、什么情况下会出现“数组下标越界错误”?18、逐语句和逐进程有什么区别?19、表达式2.75 * 2 \ 3.45的值是什么?20、在程序设计中为什么尽量不必GoTo语句?四、读程序题1、阐发以下程序,写出运行结果.Private Sub Form_Click()score = Int(Rnd * 10) + 80Select Case scoreCase Is < 60A$ = "F"Case 60 To 69A$ = "D"Case 70 To 79A$ = "C"Case 80 To 89A$ = "B"Case ElseA$ = "A"End SelectPrint A$End Sub2、读下面的程序,阐发其功效,写出运行结果.在窗体上有一个命令按钮,名称为Command1.然后编写如下程序:Private Sub Command1_Click()For I = 1 To 4For J = 0 To IPrint Chr$(65 + I);Next JPrintNext IEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是什么?3、阅读下面的程序,阐发并写出其功效.Sub insert(a() As Single,ByVal x As Single)Dim m as integer,n as integern=1Do While n<20 And x>a(n)LoopFor m=201 To n Step –1a(m+1)=a(m)Next ma(n)=xEnd Sub4、阐发以下程序,写出运行结果.Sub subP(b() As Integer)For i =1 To 4b(i)=2*iNext iEnd SubPrivate Sub Commandl_Click()Dim a(1 To 4)As Integera (1)=5a (2)=6a (3)=7a (4)=8subP a()For i =1 To 4Print a(i)End Sub运行上面的程序,单击命令按钮,输出结果是什么?5、阐发以下程序,写出运行结果.Sub sele()Dim n as Integeri=21:n=3Do While i>ni=i-nLoopPrint iEnd Sub6、阐发以下程序,写出运行结果.Sub selectPrint()Dim a as IntegerDim b as IntegerDim c as Integera=2:b=5:c=2If(a>=b)and(a>=c) or (b>c) ThenPrint aa=a+2Print bEndIfPrint a;b;cEnd Sub7、阐发以下程序,写出运行结果.Sub swap()Dim x as IntegerDim y as IntegerDim z as Integerx=1:y=2:z=0Print x;y;zx=x+yx=x*zPrint x,y,zEnd Sub8、阐发以下程序,写出运行结果.Sub selectPrint()Dim a as IntegerDim b as IntegerDim c as Integera=3:b=3:c=2If(a>=b)and(a>c)Then Print aPrint a,b,cEnd Sub五、编程题1、输入一年号,判断它是否是闰年.界面如下图所示,包含两个标签、一个文本框和一个命令按钮.提示:如果此年号能被400整除或不克不及被400除尽,也不克不及被100除尽,但能被4整除,则它是闰年;不然,不是闰年.2、输入两个正整数m、n,求m和n的最大条约数.要求成立如下图所示的窗体,其中主要的控件包含:两个标签(Lable1、Lable2)、两个文本框(Text1、Text2)和一个按钮(Command1).3、输入某学生成绩(百分制),若是100≥成绩≥90输出优秀;若是90>成绩≥80输出良好;若是80>成绩≥70输出中等;若是70>成绩≥60输出合格;若是60>成绩≥0,输出不合格;若是其他数则输出error信息.4、在窗体中显示从9号字型到16号字型.5、在有序序列中拔出一个数,使拔出后的数列仍然有序(设按由小到大排列).6、编程实现二维数组转置.7、随机输入10个100以内的整型数,计较其和及平均值.8、找出所有的水仙花数.水仙花数是个三位数,它的列位数字的立方和等于这个三位数自己.例如371=33+73+13,则371是水仙花数.9、从键盘输入一个大于2的正整数,判断该数是否是素数.10、求二维数组中的最小值及其所在行号、列号.11、求一元二次方程ax2+bx+c=0的根(包含实根和复根).12、输入一个正整数n,计较出n!并输出.13、Faibonacci数列为0,1,1,2,3,5,8,13 …,计较并输出第20项以及前20项的和.第四章经常使用控件与窗体一、填空题1、向列表框控件添加新项目的办法是__________.2、在VB中,最主要的两种对象是____________和____________.3、当窗体启动时可通过__________属性控制窗体位于所有者的中心位置.4、若要将窗体Form1隐藏起来,则可通过执行代码_________________来实现.5、要使装入到列表框中的数据项能自动按字母顺序排序,应设置该控件的_________属性为__________.6、窗体上放置了若干个文本框和命令按钮,当窗体装入后,要将焦点自动定位到文本框Text1上,则在设计时需要将__________控件的_________属性设置为__________.7、在标签控件中通过编程使文字换行用的代码是___________________.8、设置计时器控件只能触发______________________事件.9、设置计时器对象触发事件的时间距离用_____________________属性.10、转动条控件主要支持两个事件,它们是_______________事件.11、要使鼠标停留在按钮上显示特殊的鼠标形状,应设置的属性值是_________________.12、设某列表框共有10项,按题目要求补齐程序,完成相应的功效.(1)按下命令按钮Command1时将列表框第8项的内容显示在窗体上:PrivateSubCommand1_Click()List.__________(7)=TrueEndSub(2)单击列表框某一项时立行将该项打印在窗体上:PrivateSubList1_Click()Print_______________(3)按下命令按钮Command1时在窗体上删除第1、3、5、7、9项:PrivateSubCommand1_Click()ForI=1To5NextIEndSub(4)在列表框的每一项之后拔出一个新的项:PrivateSubCommand1_Click()ForI=1to10X=InputBox(“请输入拔出的第”&I&“项内容”) NextIEndSub13、设在界面上放置了一个转动条Hscroll1和一个标签控件Label1,要使每次单击转动条两端箭头时,或单击转动条滑块与两端箭头之间的空白区域时,标签内容能够反应转动条的值,补齐以下代码.PrivateSubHscroll1.__________________()EndSub要使拖动转动条滑块时标签内容能够反应转动条的值,补齐以下代码.PrivateSubHscroll1.________________()14、列表框(ListBox)用于列出可供选择的项目的列表,用户可以选择一个或多个项目.它具有几个很是重要的数组属性,其中____属性存放了列表框中所有项目的值.15、菜单项一般由题目、拜访键、快捷键和复选标记等组成,通过对相应的属性进行设置可以改动这些项目的状态,其中与复选标记相对应的属性是____.16、keydown与keypress事件各有其参数,若需取得用户按下 "a" 仍是 "A" 需用____________事件.17、控件________组合了文本框和列表框的功效,是VB 中一种功效很是强大的选择类控件.18、若需要将窗体Form2以模态窗口的形式显示出来,可通过执行代码_________________来实现.19、菜单中的分隔条是一种菜单控件,不响应__________事件,不克不及被选中.二、选择题1、当程序运行时,在窗体上单击鼠标,以下哪个事件是窗体不会接收到( )A.MouseDownB.MouseUpC.LoadD.Click2、窗体Form1的Name属性是Frm1,它的单击事件进程名是()A.Form1_ClickB.Form_ClickC.Frm1_ClickD.Me_Click3、用于设置通用对话框控件显示文件类型的属性是()A.Filter B.Path C.Partern D.FoleName4、用于从内存删除窗体的命令是()A.Move B.Hide C.Unload D.Delete5、用于前往窗体可用区域宽度的属性是()A.ScaleWidth B.ScaleLeft C.ScaleHeight D.ScaleTop6、下列关于属性设置的叙述错误的是:()A.一个控件具有什么属性是VB预先设计好的,用户不克不及改动B.一个控件具有什么属性是VB预先设计好的,用户可以改动C.一个控件的属性便可以在属性窗口中设置,也可以用程序代码设置D.一个控件的属性在属性窗口中设置,还可以利用程序代码为其设置新值7、下列说法正确的是()A.对象属性只能在“属性窗口”中设置B.一个新的工程可以在“工程窗口”中成立C.必须先成立一个工程,才干开始设计应用程序D.只能在“代码窗口”中编写程序代码8、下列关于窗体上控件的根本操纵错误的是()A.按下一次DEL键只能删除一个控件B.按下一次DEL键可以同时删除多个控件C.按住SHIFT键,然后单击每个要选择的控件,可以同时选中多个控件D.按住ALT键,然后单击每个要选择的控件,可以同时选中多个控件9、下列关于设置控件属性的叙述正确的是()A.用户必须设置属性值B.所有的属性值都可以由用户随意设定C.属性值不必一一重新设置D.不合控件的属性项都完全一样10、不成以通过下列()操纵将焦点赋给对象A.运行时使用TAB键B.在代码中用CALL语句调用C.在代码中用SETFOCUS办法D.用拜访键或用鼠标单击选择对象11、要在FORM_LOAD事件进程中使用PRINT办法在窗体上输出一定的内容,应()A.设置窗体的VISIBLE属性B.设置窗体的CAPTIONC.调用窗体的SHOW办法D.设置窗体ENABLED 属性12、下面()对象无CAPTION属性A.FORMB.COMMANDBUTTONC.TEXTBOXD.LABEL13、通用对话框控件和文件列表框控件中,都能按照文件的类型对要显示的文件进行筛选过滤,后者使用()属性进行该项设置.A.Pattern B.Path C.FilterD.FileName14、对于复选框控件chkBoy,如果在程序中设置它为选中状态,下面语句正确的是()A.chkBoy.Checked = true B.chkBoy.Value = trueC.chkBoy.Selected = true D.chkBoy.Value = 115、计时器(Timer)控件用于每隔一段时间自动触发一次Timer事件,可以有纪律地重复执行一段程序,它用于设置两次事件时间距离的属性是()A.IntervalB.SmallChangeC.LargeChange D.Max16、以下关于VB中窗体(Form)的说法中,不正确的描述为()A.执行Unload Form语句后,窗体Form消失,但仍在内存中B.当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操纵都被禁止C.窗体的Height、width属性用于设置窗体的高和宽D.窗体的load事件在加载窗体时产生17、关于转动条控件,下面说法错误的是()A.点击转动条的箭头,可以改动它的value值,从而引发Change事件B.拖动转动框,可以触发Scroll事件C.通常,水平转动条的值从左向右递增,垂直转动条的值自上而下递增D.拖动转动框,可以触发Change事件,并且是连续触发的18、在窗体上放置一个命令按钮,名称为Command1.单击命令按钮时,执行如下事件进程:PriVateSubCommand1_C1ick()a$="softwareandhardware"b$=Right(a$,8)c$=Mid(a$,1,8)Msgboxa$,b$,c$,1EndSub则在弹出的信息框的题目栏中显示的信息是()A.softWareandhardware B.softwareC.hardwafe D.出现错误19、在多重窗体程序设计中,关头的问题是要解决不合窗体之间的衔接和窗体的显示、封闭等问题,以下关于窗体的相关语句和办法的叙述中,错误的是()A.Load语句用于加载指定窗体,即在内存中创建该窗体B.Show办法兼具Load语句的功效,可以将窗体显示出来C.Hide办法用于将窗体隐藏起来D.Unload语句用来释放窗体,但窗体并没从内存中消 20、转动条控件的属性中,暗示取值规模最大值的属性是()A.MaxB.LargeChangeC.Min D.Value 21、程序中如果需要检测和控制鼠标的位置和状态的改动,就需要使用鼠标事件,其中下面哪个选项用于暗示拖动事件()A.DragDrop B.MouseDownC.MouseUpD.MouseMove22、为了使用通用对话框进行打开文件的操纵,应将通用对话框的Action属性设定为().A.0 B.1 C.2 D.3三、简答题1、什么是单选按钮?什么是复选框?在使用上有什么不合?2、转动条的change事件和scroll事件有什么不合?3、快捷键和拜访键有什么区别?4、在程序运行期间,如果拖动转动条上的转动块(即滑块),则触发转动条的什么事件?5、假定有一个菜单项,名为MenuItem,为了在运行时使该菜单项失效(变灰),应使用什么语句?6、为了暂时封闭计时器(即时钟控件),应把该计时器的什么属性设置为False?7、单选按钮和复选框(即查抄框)各用于什么情况?8、如作甚一个菜单项设置热键和快捷键?9、菜单的形式有哪两种?10、在KeyPress事件中,如何取消用户刚输入的字符?11、框架的作用是什么?12、如果要计时器每秒钟产生4个Timer事件,则Interval 属性值应设多少?13、在一个窗体的程序代码中能否拜访另一个窗体上控件的属性?若不成则请说明理由;若行则请说明如何拜访.14、如安在框架中成立控件?15、组合框有哪几种类型?四、读程序题1、对窗体编写如下代码:Option Base 1Private Sub Form_KeyPress(KeyAscii As Integer)a = Array(237,126,87,48,498)m1 = a(1)m2 = 1If KeyAscii = 13 ThenFor i =2 To 5If a(i)>ml Thenm1 =a(j)m2 =iEnd IfNext iEnd IfPrint m1。
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,由系统指定。
习题一答案在教材上找。
习题二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=137.文本框最有用的方法是SetFocus,把光标移到指定的文本框中。
8.命令按钮 Picture属性:按钮可显示图片文件(.bmp和.Ico),当Style为1时有效。
10. 启动窗体时将命令按钮定位在窗体中央的代码Private Sub Form_Load()Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2Command1.Top = Form1.ScaleHeight / 2 - Command1.Height / 2End Sub11.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)4. 根据条件写表达式(1) 随机产生大写字母 Chr(Int(Rnd * (Asc("L") - Asc("C") + 1) + Asc("C")))(2) [100,200]内的随机数 Int(Rnd * 101) + 100(3) 点(x,y)位于第一或第三象限 x > 0 And y > 0 Or x < 0 And y < 0 或 x * y > 0(4) x是5或7的整数倍 x Mod 5 = 0 Or Int(x / 7) = x / 7(5) 将两位整数x的个位与十位对换 x \ 10 + (x Mod 10) * 10(6) 四舍五入取两位小数 Round(x, 2)(7) 字符变量C是字母字符(不区分大小写)——准确地说是:字符变量C的第一个字符是字母C >= "A" And C <= "Z" Or C >= "a" And C < "z"或 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 10 <= x And x < 20(10) x,y至少有一个小于z x < z Or y < z(11)x,y都大于z x > z And y > z5. 写表达式的值(1) 188 ——注意运算的优先级顺序,以及整除运算“\”的计算(2) 200100 ——计算100 + "100"时,由于两个操作数类型不同,在可能的情况下自动采用精度较高的类型,即把字符型转换为数值型,100 +100 得到200;然后进行字符串连接运算200 & 100 ,再自动将两个数值转换为字符串,得200100。
(3) 68.56 ——在四舍五入函数产生之前,这就是四舍五入的计算方法(4) 876554 ——先进行字符串的“+”运算,再转换成数值。
在变量名和函数名后可加上类型符,以强调其类型,但不是必须的。
(5) 2000-2-29(6) 66.Shell函数调用i = Shell("mspaint.exe", 1) '启动画图i = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe", 1) '启动Word 说明:“画图”是Windows本身提供的程序,可以省略路径。
8. 答:单精度浮点型第7,9题答案在教材中找。