
本书任务
1.阐述核心内容。本书不是粗略论及众多主题,而是针对重要问题进行深入分析。
2.采用初学者能够理解和关联并感到舒适的示例与练习。示例中通常使用实际数据,没有包含太多的修饰内容,以帮助学习者能够更好地掌握编程技术。
3.做到内容简明扼要,将可读性与知识性融为一体。每个主题都是先讨论要点,后将次要细节以说明的形式进行介绍。
4.介绍当今编程方法中好的编程经验。首先论述问题解决技术和结构化程序设计,然后将它们贯穿使用在本书中。风格方面,采用面向对象的编程方式。
5.剖析主要的计算机应用程序。
前 言
Visual Basic自1991年问世以来,已成为全球广泛使用的编程语言,其最新版本为 Visual Basic 2005。不仅现有的 Visual Basic编程人员会被该语言的新功能深深吸引,就是那些刚开始学习编程语言的初学者也将发现Visual Basic 2005是通晓计算机程序开发的理想工具。
本书任务
1.阐述核心内容。本书不是粗略论及众多主题,而是针对重要问题进行深入分析。
2.采用初学者能够理解和关联并感到舒适的示例与练习。示例中通常使用实际数据,没有包含太多的修饰内容,以帮助学习者能够更好地掌握编程技术。
3.做到内容简明扼要,将可读性与知识性融为一体。每个主题都是先讨论要点,后将次要细节以说明的形式进行介绍。
4.介绍当今编程方法中好的编程经验。首先论述问题解决技术和结构化程序设计,然后将它们贯穿使用在本书中。风格方面,采用面向对象的编程方式。
5.剖析主要的计算机应用程序。
特色
小节(大多数)的练习。介绍编程的各小节都配有练习题。这些练习题一是为了使学习者对各小节关键内容加深理解,二是为了激发他们探究应用程序。大多数练习题要求学习者跟踪程序、发现错误和编写程序。
思考题。思考题是经过精心挑选的习题,位于一节的最后,在练习题的前面。练习题的下面给出了思考题的完整解决方法。思考题通常与容易混淆的或学习者思考后能更好理解的内容有关。读者应该认真研究思考题,学习其解决方案后再做练习题。
程序设计项目。从第 3 章开始,每一章都包含程序设计项目。它们不仅反应商业界中使用计算机的各种方式,而且代表一些游戏和常见主题。这些程序设计项目不仅数量大,而且难易程度各异,适合于学习该课程的不同兴趣和能力的学生。后面章节的有些程序设计项目可以用作学期结束时的考查项目。
说明。对新主题的扩展和补充被“挪后”,放在各节末尾的“说明”中,这样做是为了不打断有关内容的叙述。
实例分析。4个实例分析都针对某个重要的编程程序,首先分析问题,然后根据得到的自上向下的流程图和伪码来编写程序。www.prenhall.com/schneider 配套网站上可以找到这些程序。
章总结。在第3章至第11章的末尾均列出了该章中的关键结果,并对重要的术语进行了总结。
过程。过程最早是在第4章中引入的,这样就可以在解决简单问题时也采用结构化程序设计,而不只是将它用于解决复杂问题。不过,对于本书,过程可以轻松地挪到判定和循环结构后再学习。在第5章和第6章(以及7.1和7.2小节)中,小节末尾给出了包含过程的所有程序,这些程序可以放到以后学习或跳过。
数组。数组是用两节介绍的。一节给出基本定义,没有涉及过程;另一节介绍数组处理技术,说明如何将数组传递给过程。
提供基本知识的附录。附录B是对在Visual Basic环境中如何执行标准任务提供一种简明的和按步就班的参考。
有关调试的附录。对Visual Basic的高级调试程序的讨论放置在附录D中,这样教师就可以灵活安排何时介绍该主题。
配套网站。配套网站包含本书引用的所有示例、实例分析和数据文件,并为学生提供其他NetSearch术语、目的链接以及带有附加练习的联机学习指南和学习资源。
教师资源中心。教师资源中心包含所有练习和程序设计项目的解决方案、各章的测试文件、PowerPoint 课件以及本书所有示例和程序的数据文件。需要这些资源的教师请与longqm@tup.tsinghua.edu联系。
第6版新增内容
1.已加进学生和审阅者的各种建议。
2.更新并修订了示例和练习中的实际数据。
3.Visual Basic 的版本已从VB.NET升级到Visual Basic 2005,并解释了Visual Basic 2005的有关新增功能。
4.新增图形一节。
5.添加了9个程序设计项目。
目 录
第1章 计算机和Visual Basic 2005
简介 1
1.1 计算机简介 2
1.2 使用 Windows 4
1.2.1 鼠标指针 4
1.2.2 鼠标操作 4
1.2.3 Windows"Start”按钮 5
1.2.4 Windows 和小写的
windows 5
1.2.5 使用记事本 6
1.2.6 说明 9
1.2.7 思考题1.2 9
1.2.8 练习题1.2 9
1.2.9 思考题1.2的解答 10
1.3 文件和文件夹 10
1.3.1 使用Windows资源
管理器 11
1.3.2 使用“Open”和“Save As”
对话框 13
1.3.3 思考题1.3 14
1.3.4 练习题1.3 14
1.3.5 思考题1.3的解答 15
1.4 Visual Basic 2005 简介 16
1.4.1 Windows和Visual Basic
的由来 16
1.4.2 如何开发Visual Basic
应用程序 16
1.4.3 Visual Basic的不同版本 18
1.5 计算发展史 18
第2章 问题求解 24
2.1 程序开发过程 25
2.1.1 在计算机上执行任务 25
2.1.2 程序规划 25
2.2 程序设计工具 27
2.2.1 流程图 27
2.2.2 伪代码 28
2.2.3 层次图 29
2.2.4 确定纽约市给定编号街道的
方向的算法 30
2.2.5 班级平均成绩算法 31
2.2.6 说明 33
第3章 VisualBasic程序设计基础 34
3.1 Visual Basic控件 35
3.1.1 创建新的Visual Basic程序 35
3.1.2 文本框演练 37
3.1.3 按钮演练 41
3.1.4 标签演练 42
3.1.5 列表框演练 42
3.1.6 “Name”属性 42
3.1.7 帮助演练 43
3.1.8 字体 44
3.1.9 自动隐藏 44
3.1.10 放置和排列控件 44
3.1.11 说明 46
3.1.12 思考题3.1 46
3.1.13 练习题3.1 47
3.1.14 思考题3.1的解答 49
3.2 Visual Basic事件 49
3.2.1 事件过程演练 51
3.2.2 表单的属性和事件过程 53
3.2.3 事件过程头 54
3.2.4 说明 54
3.2.5 思考题3.2 56
3.2.6 练习题3.2 56
3.2.7 思考题3.2的解答 61
3.3 数字 61
3.3.1 算术运算 61
3.3.2 变量 63
3.3.3 增加变量的值 65
3.3.4 内置函数:Math.Sqrt、Int和
Math.Round 65
3.3.5 Integer数据类型 67
3.3.6 声明多个变量 67
3.3.7 括号 67
3.3.8 三种错误类型 68
3.3.9 说明 68
3.3.10 思考题3.3 69
3.3.11 练习题3.3 70
3.3.12 思考题3.3的解答 74
3.4 字符串 75
3.4.1 变量和字符串 75
3.4.2 使用文本框输入和输出 76
3.4.3 连接 77
3.4.4 字符串属性和方法:Length及ToUpper、ToLower、Trim、IndexOf和Substring方法 78
3.4.5 空字符串 81
3.4.6 字符串的初始值 81
3.4.7 Option Strict 81
3.4.8 内部说明 82
3.4.9 行延续字符 83
3.4.10 说明 83
3.4.11 思考题 3.4 84
3.4.12 练习题3.4 84
3.4.13 思考题 3.4 的解答 89
3.5 输入和输出 89
3.5.1 使用格式函数按一定格
式显示输出信息 89
3.5.2 用区域设置输出信息的格式 90
3.5.3 从文件读取数据 92
3.5.4 使用输入对话框输入信息 96
3.5.5 使用消息对话框输出信息 97
3.5.6 使用掩码文本框输入信息 98
3.5.7 说明 99
3.5.8 思考题3.5 100
3.5.9 练习题 3.5 100
3.5.10 思考题3.5的解答 109
3.6 总结 109
3.7 程序设计项目 110
第4章 一般过程 112
4.1 Sub过程,第1部分 113
4.1.1 将变量和表达式用作参数 118
4.1.2 Sub 过程调用其他
Sub过程 121
4.1.3 说明 122
4.1.4 思考题4.1 122
4.1.5 练习题4.1 123
4.1.6 思考题4.1的解答 136
4.2 Sub过程,第2部分 136
4.2.1 按值传递 136
4.2.2 按引用传递 137
4.2.3 局部变量 140
4.2.4 类变量 141
4.2.5 调试 143
4.2.6 思考题4.2 143
4.2.7 练习题4.2 144
4.2.8 思考题4.2的解答 152
4.3 Function过程 152
4.3.1 带有多个参数的用户
定义函数 155
4.3.2 不带参数的用户定义函数 158
4.3.3 比较Function过程与
Sub过程 159
4.3.4 使用区域指令缩起过程 159
4.3.5 思考题4.3 160
4.3.6 练习题4.3 161
4.3.7 思考题4.3的解答 166
4.4 模块化设计 166
4.4.1 自顶向下设计 166
4.4.2 结构化程序设计 168
4.4.3 结构化程序设计的优点 169
4.4.4 面向对象程序设计 170
4.4.5 相关引语 170
4.5 总结 170
4.6 程序设计项目 171
第5章 判定 173
5.1 关系运算符和逻辑运算符 174
5.1.1 ANSI值 174
5.1.2 逻辑运算符 176
5.1.3 Boolean数据类型 177
5.1.4 说明 177
5.1.5 思考题5.1 178
5.1.6 练习题5.1 178
5.1.7 思考题5.1的解答 180
5.2 If块 180
5.2.1 If块 180
5.2.2 ElseIf 子句 184
5.2.3 说明 186
5.2.4 思考题5.2 186
5.2.5 练习题5.2 187
5.2.6 思考题5.2的解答 197
5.3 Select Case 块 197
5.3.1 示例1 197
5.3.2 示例2 198
5.3.3 示例3 200
5.3.4 示例4 201
5.3.5 示例 5 202
5.3.6 示例6 203
5.3.7 示例7 204
5.3.8 说明 205
5.3.9 思考题5.3 205
5.3.10 练习题5.3 206
5.3.11 思考题5.3的解答 214
5.4 实例分析:周工资单 214
5.4.1 设计周工资单程序 215
5.4.2 工资单事件的伪代码 216
5.4.3 编写周工资单程序 216
5.4.4 程序和用户界面 217
5.4.5 说明 221
5.5 总结 222
5.6 程序设计项目 222
第6章 循环 225
6.1 Do 循环 226
6.1.1 示例 1 226
6.1.2 示例2 227
6.1.3 示例 3 228
6.1.4 示例 4 229
6.1.5 说明 229
6.1.6 思考题6.1 230
6.1.7 练习题6.1 230
6.1.8 思考题6.1的解答 237
6.2 使用 Do 循环处理数据列表 237
6.2.1 Peek 方法 237
6.2.2 计数器和累加器 239
6.2.3 标记 240
6.2.4 嵌套的循环 241
6.2.5 说明 242
6.2.6 思考题6.2 243
6.2.7 练习题6.2 243
6.2.8 思考题6.2的解答 250
6.3 For...Next 循环 252
6.3.1 控制变量的声明 255
6.3.2 嵌套的For...Next循环 256
6.3.3 说明 257
6.3.4 思考题6.3 258
6.3.5 练习题6.3 258
6.3.6 思考题 6.3 的解答 264
6.4 案例学习:分析贷款 264
6.4.1 设计分析贷款程序 265
6.4.2 用户界面 266
6.4.3 分析贷款程序的伪代码 267
6.4.4 编写分析贷款程序 268
6.4.5 说明 272
6.5 总结 273
6.6 程序设计项目 273
第7章 数组 277
7.1 创建和访问数组 278
7.1.1 声明数组变量 279
7.1.2 GetUpperBound 方法 282
7.1.3 ReDim 语句 282
7.1.4 将数组用作次数表 284
7.1.5 说明 285
7.1.6 思考题 7.1 286
7.1.7 练习题 7.1 286
7.1.8 思考题7.1的解答 294
7.2 使用数组 294
7.2.1 有序数组 295
7.2.2 使用数组中的部分数据 297
7.2.3 合并两个有序数组 298
7.2.4 将数组传递给过程 299
7.2.5 说明 303
7.2.6 思考题 7.2 303
7.2.7 练习题 7.2 303
7.2.8 思考题7.2的解答 309
7.3 一些其他类型的数组 309
7.3.1 控件数组 309
7.3.2 结构 311
7.3.3 说明 316
7.3.4 思考题 7.3 316
7.3.5 练习题 7.3 317
7.3.6 思考题 7.3 的解答 324
7.4 排序和查找 324
7.4.1 冒泡排序 325
7.4.2 希尔排序 329
7.4.3 查找 333
7.4.4 说明 338
7.4.5 思考题 7.4 339
7.4.6 练习题 7.4 339
7.4.7 思考题7.4的解答 344
7.5 二维数组 344
7.5.1 示例 1 345
7.5.2 示例2 348
7.5.3 说明 351
7.5.4 思考题7.5 351
7.5.5 练习题7.5 351
7.5.6 思考题 7.5 的解答 358
7.6 实例分析:一台成熟的收银机 359
7.6.1 程序设计 359
7.6.2 用户界面 359
7.6.3 数据结构 361
7.6.4 程序编码 361
7.7 总结 369
7.8 程序设计项目 369
第8章 顺序文件 375
8.1 顺序文件 376
8.1.1 创建顺序文件 376
8.1.2 向顺序文件添加条目 378
8.1.3 结构化的异常处理 382
8.1.4 说明 386
8.1.5 思考题8.1 386
8.1.6 练习题 8.1 386
8.1.7 思考题8.1的解答 393
8.2 使用顺序文件 395
8.2.1 对顺序文件进行排序 395
8.2.2 CSV格式 397
8.2.3 合并顺序文件 399
8.2.4 控制改变处理 402
8.2.5 说明 403
8.2.6 思考题8.2 404
8.2.7 练习题8.2 404
8.2.8 思考题8.2的解答 406
8.3 实例分析:记录支票和存款 406
8.3.1 程序设计 407
8.3.2 用户界面 407
8.3.3 程序编码 409
8.4 总结 417
8.5 程序设计项目 418
第9章 其他控件和对象 423
9.1 列表框、组合框和文件打开控件 424
9.1.1 列表框控件 424
9.1.2 组合框控件 426
9.1.3 OpenFileDialog 控件 428
9.1.4 思考题9.1 430
9.1.5 练习题9.1 430
9.1.6 思考题9.1的解答 432
9.2 七种基本的控件 433
9.2.1 分组框控件 433
9.2.2 复选框控件 433
9.2.3 单选钮控件 434
9.2.4 定时器控件 436
9.2.5 图片框控件 437
9.2.6 水平滚动条和垂直滚动条
控件 438
9.2.7 思考题9.2 440
9.2.8 练习题9.2 440
9.2.9 思考题9.2的解答 443
9.3 四种其他对象 443
9.3.1 Clipboard对象 443
9.3.2 Random 类 444
9.3.3 MenuStrip控件 444
9.3.4 多个表单 447
9.3.5 思考题9.3 450
9.3.6 练习题9.3 450
9.3.7 思考题9.3的解答 453
9.4 图形 453
9.4.1 图形对象 453
9.4.2 线、矩形、圆和扇形 454
9.4.3 饼图 456
9.4.4 条形图 457
9.4.5 动画 458
9.4.6 说明 459
9.4.7 思考题9.4 460
9.4.8 练习题9.4 460
9.4.9 思考题9.4的解答 463
9.5 总结 464
9.6 程序设计项目 464
第10章 数据库管理 469
10.1 数据库简介 470
10.1.1 Database Explorer 471
10.1.2 使用数据表访问
数据库 472
10.1.3 思考题10.1 478
10.1.4 练习题 10.1 478
10.1.5 思考题 10.1 的解答 481
10.2 关系数据库和 SQL 481
10.2.1 主键和外键 481
10.2.2 SQL 483
10.2.3 四种 SQL 请求
(查询) 483
10.2.4 DataGridView 控件 486
10.2.5 改变数据库的内容 488
10.2.6 使用 SQL 实现计算列 490
10.2.7 说明 491
10.2.8 思考题10.2 491
10.2.9 练习题10.2 492
10.2.10 思考题10.2的解答 496
10.3 总结 496
10.4 程序设计项目 497
第11章 面向对象程序设计 499
11.1 类和对象 500
11.1.1 对象构造方法 507
11.1.2 思考题 11.1 510
11.1.3 练习题11.1 511
11.1.4 思考题 11.1 的解答 516
11.2 对象数组、事件、包含 516
11.2.1 对象数组 516
11.2.2 事件 519
11.2.3 包含 522
11.2.4 思考题11.2 526
11.2.5 练习题11.2 526
11.2.6 思考题11.2的解答 529
11.3 继承 529
11.3.1 多态和重载 534
11.3.2 抽象属性、方法和类 539
11.3.3 说明 542
11.3.4 思考题11.3 543
11.3.5 练习题 11.3 544
11.3.6 思考题11.3的解答 549
11.4 总结 549
11.5 程序设计项目 550
附录A ANSI值 552
附录B 如何 554
附录C Visual Basic 6.0转换到
Visual Basic 2005 566
附录D Visual Basic调试工具 571