㈠ VB语言程序设计的作品目录
第1章认识VisualBasic
1.1VB概述
1.1.1VB的发展过程
1.1.2VB的特点
1.1.3VB的启动和退出
1.2对VB应用程序设计的初步认识
1.2.1设计VB应用程序的步骤
1.2.2第一个简单程序
1.2.3第二个简单程序
1.3对象和事件的基本概念
1.3.1对象及其属性、方法和类
1.3.2事件、事件过程及事件驱动
1.4VB的集成开发环境
1.4.1主窗口
1.4.2工具箱和控件
1.4.3其他窗口
1.4.4使用帮助系统
1.5工程管理
1.5.1工程中的文件
1.5.2创建、打开和保存工程
1.5.3添加、删除和保存文件
1.5.4程序的运行
习题1
编程及上机调试
第2章程序设计基础
2.1数据类型
2.2常量与变量
2.2.1常量
2.2.2变量
2.3表达式
2.3.1算术表达式
2.3.2字符串表达式
2.3.3日期表达式
2.4常用内部函数
2.4.1数学函数
2.4.2字符串函数
2.4.3日期/时间函数
2.4.4类型转换函数
2.5程序代码编写规则
2.5.1语句及语法
2.5.2代码书写规则
2.5.3结构化程序的基本结构
习题2
编程及上机调试
第3章顺序结构程序设计
3.1赋值语句
3.2注释、结束与暂停语句
3.3使用Print方法输出数据
3.3.1Print方法
3.3.2特殊打印格式
3.4窗体
3.4.1窗体的基本属性
3.4.2窗体的事件
3.4.3窗体的方法
3.4.4焦点与Tab键序
3.5基本控件
3.5.1控件的公共属性
3.5.2命令按钮
3.5.3标签
3.5.4文本框
3.6使用对话框
3.6.1输入对话框
3.6.2消息对话框
3.7程序举例
习题3
编程及上机调试
第4章选择结构程序设计
4.1条件表达式
4.1.1关系表达式
4.1.2逻辑表达式
4.2条件语句
4.2.1If...Then语句
4.2.2If...Then...Else语句
4.2.3IIf函数
4.2.4条件语句的嵌套
4.3多分支语句
4.4选择性控件
4.4.1单选按钮
4.4.2复选框
4.5计时器控件
4.6程序举例
习题4
编程及上机调试
第5章循环结构程序设计
5.1循环语句
5.1.1For...Next循环语句
5.1.2Do...Loop循环语句
5.1.3While...Wend循环语句
5.1.4循环出口语句
5.2多重循环
5.3列表框与组合框
5.3.1列表框
5.3.2组合框
5.4常用算法
5.5程序举例
习题5
编程及上机调试
第6章数组
6.1数组的概念
6.1.1数组与数组元素
6.1.2下标和数组的维数
6.2数组的声明和应用
6.2.1数组声明语句
6.2.2Array函数
6.2.3数组的应用
6.3动态数组
6.3.1建立动态数组
6.3.2数组刷新语句
6.4ForEach...Next循环语句
6.5控件数组
6.5.1控件数组的概念
6.5.2控件数组的建立
6.5.3控件数组的使用
6.6程序举例
习题6
编程及上机调试
第7章过程
7.1通用过程
7.1.1Sub过程
7.1.2Function过程
7.2参数传递
7.2.1形参与实参
7.2.2按地址传递和按值传递
7.3过程的嵌套调用
7.4变量的作用范围
7.4.1代码模块的概念
7.4.2变量的作用域
7.4.3变量的生存期
7.5多窗体与SubMain过程
7.5.1多窗体处理
7.5.2SubMain过程
7.6程序举例
习题7
编程及上机调试
第8章程序调试与错误处理
8.1VB程序中的错误类型
8.2程序工作模式
8.3程序调试
8.3.1静态检查与动态检查
8.3.2使用VB调试工具
8.4错误处理
8.4.1错误处理的步骤
8.4.2Err对象
8.4.3捕获错误语句
8.4.4退出错误处理语句
习题8
编程及上机调试
第9章数据文件与文件管理
9.1数据文件
9.1.1数据文件的基本概念
9.1.2顺序文件
9.1.3随机文件
9.1.4二进制文件
9.2文件基本操作
9.3文件系统控件
习题9
编程及上机调试
第10章菜单及对话框
10.1键盘与鼠标事件
10.1.1键盘事件
10.1.2鼠标事件
10.1.3拖放操作
10.2菜单设计
10.2.1下拉式菜单
10.2.2菜单编辑器
10.2.3菜单的Click事件
10.2.4运行时改变菜单属性
10.2.5弹出式菜单
10.3对话框
10.3.1通用对话框
10.3.2自定义对话框
习题10
编程及上机调试
第11章绘图及其他常用控件
11.1框架
11.2滚动条
11.3图形方法和图形控件
11.3.1坐标系
11.3.2图形方法
11.3.3图片框
11.3.4图像框
11.3.5Shape形状控件
11.3.6Line直线控件
11.4GoTo语句和几个定义语句
习题11
编程及上机调试
附录A字符ASCII码表
附录B颜色代码
附录C习题参考答案
㈡ vb程序设计教程答案
Option Explicit
Private Sub Command1_Click()
Dim a() As Integer
Dim i, j, n
ReDim a(9, 9)
For i = 1 To 8
Print Tab(25 - i * 2);
For j = 1 To i
a(i, 1) = 1
a(i, i) = 1
a(i + 1, j + 1) = a(i, j) + a(i, j + 1)
Print a(i, j);
Next j
Print
Next i
End Sub
㈢ 计算机等级考试考点分析、题解与模拟二级VB(2012年专用)目录
本文内容详尽分析了计算机等级考试中关于二级Visual Basic部分的考点、题解与模拟题。全书分为11章,从Visual Basic程序开发环境到上机全真模拟试题,系统地介绍了Visual Basic的相关知识和实践技能。
第一章“Visual Basic程序开发环境”详细介绍了Visual Basic的特点、版本、启动与退出方法,主窗口和其它窗口的使用,以及经典题解和同步练习。
第二章“对象及其操作”深入讲解了对象、窗体和控件的概念,控件的画法和基本操作,Visual Basic中的语句,编写简单应用程序,以及程序的保存、装入和运行等。
第三章“程序设计基础”涵盖了数据类型、常量和变量、变量的作用域、内部函数、字符处理与字符串函数、运算符与表达式、数据输出和输入方法,以及MsgBox函数和字型、打印机输出等内容。
第四章“常用标准控件”对文本控件、图形控件、按钮控件、选择控件(复选框、单选按钮、列表框和组合框)、滚动条、计时器、框架、焦点与Tab顺序进行了详细描述。
第五章“控制结构与数组”从选择控制结构、多分支控制结构、循环控制结构(For、当、Do循环)以及GoTo型控制结构、数组的概念、静态与动态数组、数组操作等方面进行探讨。
第六章“过程”详细介绍了Sub过程与Function过程、参数传递、可选和可变参数、对象参数、局部内存分配和Shell函数。
第七章“菜单与对话框”涉及Visual Basic中的菜单、菜单编辑器、菜单项控制与增减、弹出式菜单、对话框概述、文件对话框和其他对话框。
第八章“键盘与鼠标事件过程”介绍了KeyPress事件、KeyDown和KeyUp事件、鼠标事件、鼠标光标形状、拖放等。
第九章“多重窗体与数据文件”讲解了多重窗体应用程序的建立、执行与保护、工程结构、闲置循环与DoEvents语句、文件的打开与关闭、文件操作语句和函数、顺序文件和随机文件、文件系统控件。
第十章“笔试全真模拟试卷”提供了三套全真模拟笔试试题,每套试题配有参考答案及解析。
第十一章“上机全真模拟试题”则包括考试纪律、操作步骤以及三套上机全真模拟试题,同样提供了参考答案及解析。
附录部分包括全国计算机等级考试二级Visual Basic考试大纲、2011年3月和9月的笔试试卷、参考答案及解析。
本文内容覆盖了从理论知识到实践操作的各个方面,旨在帮助考生全面掌握Visual Basic的基础知识与技能,为计算机等级考试做好充分准备。
㈣ 《vb程序设计教程》 王贺明主编 课后习题答案,谢谢啦!
第一题:
这部分内容主要考察的是程序设计语言的知识点:
开发图形用户界面 (GUI) 的方法——不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象add到屏幕上的一点即可。 “Basic”指的是 BASIC (Beginners All-Purpose Symbolic Instruction Code) 语言,是一种在计算技术发展历史上应用得最为广泛的语言。
VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件,用于高效生成类型安全和面向对象的应用程序 。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。
在使用传统的程序设计语言编程时,一般需要通过编写程序来设计应用程序的界面(如界面的外观和位置等),在设计过程中看不见界面的实际效果。而在Visual Basic 6.0中,采用面向对象程序设计方法(Object-Oriented Programming),把程序和数据封装起来作为一个对象,每个对象都是可视的。
开发人员在界面设计时,可以直接用Visual Basic 6.0的工具箱在屏幕上"画"出窗口、菜单、命令按键等不同类型的对象,并为每个对象设置属性。开发人员要做的仅仅是对要完成事件过程的对象进行编写代码,因而程序设计的效率可大大提高。
㈤ VB语言程序设计教程的目录
第1章 Visual Basic概述 1
1.1 Visual Basic的发展历程及特点 1
1.1.1 Visual Basic的发展历程 1
1.1.2 Visual Basic语言的主要特点 2
1.2 Visual Basic 6.0的安装与启动 3
1.2.1 Visual Basic 6.0的安装 3
1.2.2 Visual Basic 6.0的启动与退出 4
1.3 Visual Basic 6.0的集成开发环境 6
1.3.1 主窗口 6
1.3.2 窗体设计器窗口 7
1.3.3 工程资源管理器窗口 8
1.3.4 属性窗口 8
1.3.5 工具箱窗口 9
1.3.6 代码窗口 10
1.3.7 立即窗口 10
1.3.8 调色板窗口 11
1.3.9 窗体布局窗口 11
1.3.10 对象浏览器窗口 11
习题 12
第2章 Visual Basic简单程序设计 13
2.1 面向对象程序设计基本概念 13
2.1.1 对象 13
2.1.2 对象的三要素 13
2.2 窗体 15
2.2.1 窗体结构 15
2.2.2 窗体的属性、方法和事件 15
2.3 基本控件 18
2.3.1 标签 20
2.3.2 文本框 21
2.3.3 命令按钮 23
2.4 Visual Basic应用程序设计步骤 24
习题 30
第3章 Visual Basic程序设计基础 33
3.1 命名规则和语法规则 33
3.1.1 命名规则 33
3.1.2 语句与语法规则 33
3.2 数据类型 34
3.2.1 基本数据类型 34
3.2.2 自定义数据类型 37
3.3 常量与变量 37
3.3.1 常量 37
3.3.2 变量 38
3.3.3 变量的作用域 39
3.3.4 默认声明 41
3.4 运算符和表达式 42
3.4.1 算术运算符 42
3.4.2 关系运算符 43
3.4.3 逻辑运算符 44
3.4.4 字符串运算符 45
3.4.5 表达式 45
3.5 常用函数 46
3.5.1 数学函数 46
3.5.2 转换函数 47
3.5.3 字符串函数 47
3.5.4 日期和时间函数 48
3.5.5 格式输出函数 48
习题 49
第4章 Visual Basic程序控制结构 51
4.1 顺序结构程序设计 51
4.1.1 算法 51
4.1.2 顺序结构中的常用语句 52
4.1.3 顺序结构中的数据输出 53
4.1.4 InputBox函数 56
4.1.5 MsgBox函数?56
4.2 选择结构程序设计 59
4.2.1 if语句和iif函数 59
4.2.2 Select Case语句 63
4.3 循环结构程序设计 66
4.3.1 Do loop语句 66
4.3.2 While Wend语句 67
4.3.3 For…Next语句 67
4.3.4 循环嵌套语句 69
4.3.5 其他控制语句 71
习题 72
第5章 数组与过程 80
5.1 数组 80
5.1.1 一维数组 80
5.1.2 二维数组及多维数组 83
5.1.3 动态数组 85
5.1.4 For Each…Next语句 88
5.1.5 控件数组 89
5.2 过程 91
5.2.1 过程的概念 91
5.2.2 子程序过程Sub 91
5.2.3 函数过程 Function 93
5.2.4 过程之间参数的传递 95
5.2.5 过程嵌套及递归 98
5.2.6 变量、过程的作用域 100
习题 101
第6章 Visual Basic常用控件 106
6.1 单选控件与复选控件 106
6.1.1 单选控件(OptionButton) 107
6.1.2 复选控件(CheckBox) 107
6.2 列表框和组合框 109
6.2.1 列表框控件(ListBox) 109
6.2.2 组合框控件(ComboBox) 113
6.3 图形框与图像框控件 115
6.3.1 图形框控件(PictureBox) 115
6.3.2 图像框控件(Image) 115
6.4 滚动条与计时器 116
6.4.1 滚动条(HscrollBar与VscrollBar) 116
6.4.2 时间(Timer)控件 118
6.5 文件操作控件 119
6.5.1 磁盘列表框(DriveListBox)控件 119
6.5.2 DirListBox(文件夹列表框)控件 120
6.5.3 文件列表框(FileListBox)控件 120
6.5.4 3个控件的连接 120
6.6 直线与形状控件 121
6.7 控件布局 123
习题 124
第7章 Visual Basic高级控件 128
7.1 高级控件简介 128
7.2 通用对话框(CommonDialog)控件 129
7.2.1 ShowOpen方法 129
7.2.2 ShowSave方法 130
7.2.3 ShowColor方法 131
7.2.4 ShowFont方法 131
7.2.5 ShowPrint方法 133
7.2.6 ShowHelp方法 134
7.3 图像列表(ImageList)控件 135
7.4 工具栏控件 138
7.4.1 ToolBar控件概述 138
7.4.2 ToolBar控件的属性 138
7.4.3 用ToolBar与ImageList设计工具栏 139
7.5 状态栏(StatusBar)控件 142
7.5.1 StatusBar控件概述 142
7.5.2 StatusBar控件的属性 142
7.5.3 StatusBar控件中添加窗格 143
7.6 进度条(ProgressBar)控件 145
7.6.1 进程条控件的概? 145
7.6.2 进程条控件ProgressBar的属性 145
7.7 树视图(TreeView)控件 147
7.7.1 TreeView控件概述 147
7.7.2 TreeView控件的属性 147
7.7.3 TreeView控件的方法 148
7.8 列表视图(ListView)控件 151
7.8.1 常用属性 151
7.8.2 常用方法 152
7.9 选项卡(TabStrip)控件 153
7.10 图像组合(ImageCombo)控件 155
7.11 滑块(Slider)控件 156
7.12 绘图 158
7.12.1 绘图基础 158
7.12.2 绘图方法 159
习题 162
第8章 菜单及MDI窗体设计 163
8.1 下拉?菜单设计 163
8.1.1 下拉式菜单的组成 163
8.1.2 菜单编辑器的启动 164
8.1.3 菜单编辑器的使用方法 164
8.2 弹出式菜单设计 167
8.3 MDI多窗体程序设计 171
8.3.1 创建MDI主窗体 172
8.3.2 建立MDI子窗体 172
8.3.3 MDI窗口菜单设计 172
习题 173
第9章 文件操作 174
9.1 文件的基本概念 174
9.2 顺序文件的存取 175
9.2.1 顺序文件的打开与关闭 175
9.2.2 写(存)顺序文件 176
9.2.3 读(取)顺序文件 178
9.3 随机文件的存取 179
9.3.1 随机文件的打开与关闭 179
9.3.2 读(取)随机文件 179
9.3.3 写(存)随机文件 180
9.4 二进制文件的存取 182
9.4.1 随机文件的打开与关闭 182
9.4.2 读(取)/写(存)二进制文件 182
9.5 文件中常用的操作语句和函数 183
9.5.1 常用的文件操作语句 183
9.5.2 常用的文件操作函数 184
习题 185
第10章 数据库应用程序设计 187
10.1 数据库的基本知识 187
10.1.1 数据库的相关概念 187
10.1.2 数据库的查询 188
10.2 数据库的创建和管理 189
10.3 通过Data控件访问数据库 194
10.3.1 Data控件常用属性、方法、事件 195
10.3.2 Recordset对象 196
10.3.3 数据绑定控件 198
10.3.4 数据库应用程序的设计步骤 199
10.3.5 Data控件用法示例 199
10.4 通过ADODC控件访问数据库 206
10.4.1 ADODC控件简介 206
10.4.2 数据绑定控件 208
10.4.3 ADODC控件用法示例 208
10.5 通过ADO对象访问数据库 219
10.5.1 ADO对象简介 219
10.5.2 Connection对象 220
10.5.3 Recordset对象 222
10.5.4 ADO对象用法示例 226
10.6 数据库中图片的存取 233
10.6.1 直接存取图片 233
10.6.2 存取图片地址 239
习题 242
第11章 多媒体应用程序设计 244
11.1 多媒体控件 Multimedia MCI 244
11.1.1 常用命令、属性和事件 245
11.1.2 制作多媒体播放器 247
11.2 动画控件Animation 250
11.2.1 常用属性、事件和方法 250
11.2.2 播放AVI动画 251
11.3 调用多媒体API函数开发多媒体应用程序 252
11.3.1 API函数简介 252
11.3.2 API函数制作多媒体应用程序举例 253
第12章 网络应用程序设计 255
12.1 网络基础 255
12.1.1 IP地址 255
12.1.2 域名 255
12.1.3 端口 255
12.1.4 协议 256
12.2 Winsock控件 256
12.2.1 Winsock控件的常用属性 257
12.2.2 Winsock控件的常用方法 258
12.2.3 Winsock控件的常用事件 259
12.2.4 Winsock编程模型 259
12.2.5 Winsock控件用法示例——简易聊天程序 260
12.3 WebBrowser控件 270
12.4 Internet Transfer控件 273
第13章 程序调试与错误处理 278
13.1 错误类型 278
13.2 代码调试 279
13.2.1 Visual Basic3种模式 279
13.2.2 调试?具 280
13.2.3 调试窗口 281
13.2.4 调试方法 282
13.3 错误处理 283
附录 常用字符与ASCII代码对照表 285
参考文献 286
VB语言的前景
在目前各种编程语言共存的时代,VB会不会落伍呢?当然不会了,在我写这篇文章的同时,微软已经透露了VB7.0将完全面向对象的消息,可以肯定下一代VB的功能一定会强大很多,我们这些所谓的 VB 程序员总算可以放心了,VB不会落后于时代,毕竟它是使用人数最多的优秀的开发工具。
好了,侃了这么多关于VB的台前幕后,总之是为想学编程的你树立信心,编程一点都不难,只要你决定了开始,就让我们一起踏上愉快的编程之旅吧。
接下来谈谈怎样学习VB,先说说“看实例学VB6.0”系列教程,它是面向编程初学者的VB入门教程,这个教程的特点是抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,而是采用了每节一个生动有趣的小例子的形式,每个小例子中会涉及到一个或几个VB编程的知识点(可能是控件,也许会是某个函数或编程小技巧),使你快速入门。希望你学完此教程后能达到下述的效果:
从对编程一窍不通或从未接触过编程的状态,通过学习能够对VB6.0的编程环境比较熟悉,掌握VB开发界面的使用方法;对VB语言的基本语法大致了解,知道常见的语句的意义;学习VB常用控件的使用方法,并能将它们灵活运用到应用程序中;能开发简单的VB程序。到那时你已经能够继续深入的学习VB编程,可以继续参与到程序设计栏目其他版块的学习中去,嘻嘻,目标就是这样啦。
然后谈谈学习编程的方法,万事开头难,刚刚开始,遇到些困难没关系,慢慢来。编程是一个不断学习,不断积累的过程,编程的乐趣也正是存在于学习的过程中。我们每学一点,就赶快把它用到实际的程序中去,自己多学多用多实践,水平才能不断提高,这就是“学以致用”。
另外,编程涉及到很多的知识,象操作系统的、软件工程的、硬件系统的以及编程思想等各个方面,这就需要我们多看看这方面的资料,扩充自己的知识面。
㈥ 第三版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)
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 > z
5. 写表达式的值
(1) 188 ——注意运算的优先级顺序,以及整除运算“\”的计算
(2) 200100 —— 计算100 + "100"时,由于两个操作数类型不同,在可能的情况下自动采用精度较高的类型,即把字符型转换为数值型,100 +100 得到200;然后进行字符串连接运算200 & 100 ,再自动将两个数值转换为字符串,得200100。
(3) 68.56 ——在四舍五入函数产生之前,这就是四舍五入的计算方法
(4) 876554 ——先进行字符串的“+”运算,再转换成数值。在变量名和函数名后可加上类型符,以强调其类型,但不是必须的。
(5) 2000-2-29
(6) 6
6.Shell函数调用
i = Shell("mspaint.exe", 1) '启动画图
i = Shell("C:\Program Files\Microsoft Office\OFFICE11\winword.exe", 1) '启动Word
说明:“画图”是Windows本身提供的程序,可以省略路径。
8. 答:单精度浮点型
第7,9题答案在教材中找。
习题四
第1,3,5,8题答案在教材中找。
2. 赋值语句的错误
(1)10x 不能做变量名。
上机验证结果:VB将10识别为行号,x = Sin(x) + y是为变量x赋值。故无语法错误。
(2)Sqr函数的参数为负数。
上机验证结果:“无效的过程调用或参数”
(3)赋值号左边不是变量名。
上机验证结果:“缺少子程序、函数或属性”
(4)除数为0
上机验证结果:“溢出”。
4. [答案略]
说明:小数位可以使用四舍五入函数Round或输出格式函数Format。例如Round(x, 2)和Format(x, “0.00”)均可使结果只保留两位小数。但如果四舍五入后要进行数值运算,则使用Round函数,例如z=Round(x,2)+Round(y,2)。而Format函数通常只用于输出格式设置。
6.指出错误
(1)“≥”应改为“>=”,前者是中文字符,不具有运算功能。
(2)“10<x<20”应改为“10<x And x<20”,否则运行结果错误。
7.写条件语句
(1)
Dim c As String
c = InputBox("c=")
If Mid(c, 3, 1) = "C" Then
MsgBox "Yes"
Else
MsgBox "No"
End If
(2)
# 使用If语句
Dim x As Single, y As Single
x = Val(InputBox("x="))
If x > 20 Then
y = x ^ 2 + 3 * x + 2
ElseIf x >= 10 Then
y = Sqr(3 * x) - 2
ElseIf x > 0 Then
y = 1 / x + Abs(x)
End If
Print "y="; y
# 使用Select Case语句
Dim x As Single, y As Single
x = Val(InputBox("x="))
Select Case x
Case Is > 20
y = x ^ 2 + 3 * x + 2
Case Is >= 10
y = Sqr(3 * x) - 2
Case Is > 0
y = 1 / x + Abs(x)
End Select
Print "y="; y
(3)
# 使用If语句
Dim x As Single, y As Single, z As Single, Max As Single
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = x
If y > Max Then Max = y
If z > Max Then Max = z
Print "Max="; Max
# 使用IIF函数
x = Val(InputBox("x="))
y = Val(InputBox("y="))
z = Val(InputBox("z="))
Max = IIf(x > y, x, y)
Max = IIf(z > Max, z, Max)
Print "Max="; Max
9. 计算循环次数
(1) 6
(2)19
(3)0
(4)死循环直至溢出
10. 40号语句执行 4次;第50 号语句执行12次;
执行第90号语句输出的结果是: 13,0,2
说明:该程序为嵌套循环,其中外循环由j值变化(1,4,7,10)控制执行4次,当j值为13时结束循环;内循环由k值变化(6,4,2)控制执行3次,当k值为0时结束循环。第40 行是外循环的循环体,故执行4次;第50 行是内循环的循环体,故执行4*3=12次。
11. 可以定一个较大的循环次数,在循环体中根据条件用Exit For退出。
但这种情况通常用Do While循环控制。
12. 编程(并非唯一正确答案)
(1)
Dim i As Integer, s As Integer
For i = 1 To 10
s = s + (i + 1) * (2 * i + 1)
Next i
Print "s="; s
(2)
Dim i As Integer, n3 As Integer, n7 As Integer
For i = 1 To 100
If i Mod 3 = 0 Then n3 = n3 + 1
If Int(i / 7) = i / 7 Then n7 = n7 + 1
Next i
Print "1-100中3的倍数有"; n3; "个"
Print "1-100中7的倍数有"; n7; "个"
(3)
Dim s1 As String, s2 As String, i As Integer
s1 = InputBox("Input String")
s2 = ""
For i = 1 To Len(s1)
s2 = Mid(s1, i, 1) + s2
Next i
Print "原序:"; s1
Print "反序:"; s2
或
For i = Len(s1) To 1 Step -1
s2 = s2 + Mid(s1, i, 1)
Next i
13. 输出字符串“10100”。该程序功能是将十进制数转化为二进制。
说明:要理解该程序需要了解数制转换的计算方法(有兴趣者参看网络http://ke..com/view/1426817.htm)。48是字符"0"的ASCII码。
14. 运行时输出 22 484
该程序功能是求x和y最大公约数和最小公倍数。
说明:此算法称为“辗转相减法”。可对照例4.17的辗转相除(辗转求余)法。
15.[50,100]间的20个随机数,求最大值、最小值、平均值。
Dim x As Integer, sum As Integer, aver As Single
Dim n%, i%, max%, min%
Randomize
max = 50: min = 100: n = 20
For i = 1 To n
x = Int(Rnd * 51 + 50)
List1.AddItem x
sum = sum + x
If x > max Then max = x
If x < min Then min = x
Next i
aver = sum / n
Print "最大值:"; max, "最小值:"; min, "平均值:"; aver
习题五
1. 指定数组的默认下界 Option Base 1
2.合理的数组声明
(1)错。定义数组不可用变量(教材99页)。
(2)正确。该数组下标为0-11。
(3)错。VB中数组下标用圆括号。
(4)正确。三维数组三个下标分别为0-1,0-1,0-2,共12个元素。
(5)错误。非动态数组,不可重定义。
(6)错误。动态数组重定义时不可改变数据类型。
(7)正确。二维数组两个下标分别为0-2,0-3,共12个元素。
(8)语法错误,二维数组定义中漏写逗号——可能是印刷错误,加上此逗号则正确。
3.当引用数组元素时下标值小于定义的最小下标,或大于最大下标时,会发生“下标越界”错误。
4.数组名:a ;数组类型:Single(单精度浮点型);维数:二维;
各维的上下界:第一维下界(最小下标)为 -1,上界(最大下标)为2,
第二维下界(最小下标)为 0,上界(最大下标)为3;
数组的大小:4行4列共16个元素
以矩阵的格式输出二维数组:
For i = -1 To 2
For j = 0 To 3
Print a(i, j);
Next j
Print
Next i
或写成更加通用的代码形式:
For i = LBound(a, 1) To UBound(a, 1)
For j = LBound(a, 2) To UBound(a, 2)
Print Tab(j * 8); a(i, j);
Next j
Print
Next i
6.一维字符数组
Dim a(1 To 20) As String
Private Sub Command1_Click() '(1)随机产生字符串
Dim i As Integer, j As Integer, n As Integer, c As String * 1
Randomize
For i = 1 To 20
a(i) = "" '将第i个元素清空
n = Int(Rnd * 10 + 1) '产生[1,10]的随机数
For j = 1 To n 'a(i)中有n个字符
c = Chr(Int(Rnd * 26 + 97)) '随机产生字母97是字母a的ASCII码
a(i) = a(i) + c
Next j
Next i
End Sub
Private Sub Command2_Click() '(2)输出字符串
Dim i As Integer
For i = 1 To 20
Print Tab(((i - 1) Mod 5) * 11); a(i);
If i Mod 5 = 0 Then Print
Next i
End Sub
Private Sub Command3_Click() '(3)最长的字符串
Dim i As Integer, imax As Integer
imax = 1
For i = 2 To 20
If Len(a(i)) > Len(a(imax)) Then
imax = i
End If
Next i
Print "最长的字符串:"; a(imax)
End Sub
第7,8题答案在教材中找。
第9题“自定义变量”含义不明,暂时无法回答。
第5,10 题 [暂略]
习题六
第1,2,6-8题答案可在教材中找到。
3.指出过程说明中的错误
(1)Sub子过程不应该定义类型
(2)函数与形式参数不应该同名
(3)数组作为形式参数时,应使用传地址方式,不可使用传值(ByVal)
(4)形式参数应该是变量或数组名,不可以是一个数组元素
4.指出调用过程语句的错误
(1)无语法错误,但因形参sum所对应的实参是常量3,故计算结果无法传递给主调程序。
(2)实参变量c与形参sum的类型不一致。
(3)类似于(1),形参sum所对应的实参是表达式a+b,故计算结果无法传递给主调程序。
(4)类似于(1)和(2),形参sum所对应的实参是表达式Sqr(c),故计算结果无法传递给主调程序。另外srq(a)存在语法错误(拼写错)。
(5)与(2)相同,实参c与形参sum的类型不一致。
5.迭代法求平方根
(1)自定义函数的定义及调用
Function FSqr1(a As Single) As Single
Dim x0 As Single, x As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
FSqr1 = x
End Function
Private Sub Command1_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
y = FSqr1(x)
Print y
End If
End Sub
(2)自定义子过程的定义及调用
Sub FSqr2(a As Single, x As Single)
Dim x0 As Single
x = a
Do
x0 = x
x = (x0 + a / x0) / 2
Loop While Abs(x - x0) > 0.00001
End Sub
Private Sub Command2_Click()
Dim x!, y!
x = Val(InputBox("x="))
If x >= 0 Then
Call FSqr2(x, y)
Print y
End If
End Sub
(3)递归函数及调用 [略]
习题七
第1-9题,答案在教材上找;第10,12-14题,略。
11.检测Ctrl和F3同时按下的代码:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 2 And KeyCode = 114 Then MsgBox "HAHA"
End Sub
习题八
第1,2,6,7,9题答案可阅读教材找到。
3.写Open语句
(1) Open "Seqnew.dat" For Output As #1 '重写
或 Open "Seqnew.dat" For Append As #1 '添加
(2)Open "Seqold.dat" For Input As #2
(3)Open "Seqappend.dat" For Append As FreeFile
4.编程,将文件Text.dat 读入变量strTest。
Dim strTest As String
Open "Text.dat" For Input As #2
Do While Not EOF(2)
strTest = strTest + Input(1, #2)
Loop
8.本课程不涉及二进制文件。故此处以顺序文件读写方式编程。另外合并的结果可以是合并到其中某一个文件,也可以是合并到一个新的文件,此处代码是合并到其中一个文件F1.txt。
'方法一,在2号文件一次读一个字符并写入1号文件
Dim strTemp As String * 1
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
Do While Not EOF(2)
strTemp = Input(1, #2)
Print #1, strTemp; '注意结尾有分号,否则每个字符一行
Loop
Close
'方法二,在2号文件一次读一个字符并累加,最后将累加结果写入1号文件
Dim strTemp As String '注意方法一变量定义的区别
Open "d:\F1.txt" For Append As #1
Open "d:\F2.txt" For Input As #2
strTemp = ""
Do While Not EOF(2)
strTemp = strTemp + Input(1, #2)
Loop
Print #1, strTemp
Close
习题九
答案在教材上找。
习题十
答案在教材上找