23
高等学校计算机应用规划教材 计算机基础与 Visual Basic 程序设计 (第三版) 杨日璟 郑江超 编著

计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

高等学校计算机应用规划教材

计算机基础与 Visual Basic

程序设计

(第三版)

杨日璟 郑江超 编著

北 京

Page 2: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

内 容 简 介

本书以全国计算机等级考试二级考试大纲为指导,介绍了二级 Visual Basic 程序设计等级考试所要

求的全部内容。全书共 11 章,主要内容包括计算机基础知识、Visual Basic 概述、Visual Basic 可视化编

程基础、Visual Basic 语言基础、Visual Basic 数据输入输出、Visual Basic 常用标准控件、Visual Basic控制结构、数组、过程、用户界面设计和文件。

本书内容丰富、层次清晰、通俗易懂,与《计算机基础与 Visual Basic 程序设计实验指导(第三版)》一起构成了一套完整的教学用书,既可作为高等学校 Visual Basic 程序设计课程的教学用书,也可作为

报考全国计算机等级考试(NCRE)人员的参考资料。 本书对应的电子课件和习题答案可以到 http://www.tupwk.com.cn 网站下载。

本书封面贴有清华大学出版社防伪标签,无标签者不得销售。 版权所有,侵权必究。侵权举报电话:010-62782989 13701121933

图书在版编目(CIP)数据

计算机基础与 Visual Basic 程序设计/杨日璟,郑江超 编著. —3 版. —北京:清华大学出版社,2017 (高等学校计算机应用规划教材) ISBN 978-7-302-47733-4

Ⅰ. ①计… Ⅱ. ①杨… ②郑… Ⅲ. ①电子计算机—高等学校—教材 ②BASIC语言—程序设计—高

等学校—教材 Ⅳ. ①TP3

中国版本图书馆 CIP 数据核字(2017)第 158391 号

责任编辑:胡辰浩 马玉萍 装帧设计:孔祥峰

责任校对:成凤进

责任印制:

出版发行:清华大学出版社

网 址:http://www.tup.com.cn,http://www.wqbook.com 地 址:北京清华大学学研大厦 A 座 邮 编:100084 社 总 机:010-62770175 邮 购:010-62786544 投稿与读者服务:010-62776969,[email protected] 质 量 反 馈:010-62772015,[email protected]

印 刷 者: 装 订 者: 经 销:全国新华书店 开 本:185mm×260mm 印 张:19.25 字 数:455 千字 版 次:2012 年 7 月第 1 版 2017 年 7 月第 3 版 印 次:2017 年 7 月第 1 次印刷 印 数:1~3000 定 价:43.00 元 ———————————————————————————————————————————— 产品编号:

Page 3: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

序 在信息社会里,信息的获取、存储、传输、处理和应用能力越来越成为一种最基本的

生存能力,正逐步被社会作为衡量一个人文化素质高低的重要标志。计算机技术成为影响

人们生活方式、学习方式和工作方式的重要因素。大学计算机基础课程,作为非计算机专

业学生的必修基础课,其教学目标就是为学生提供计算机方面的知识、能力与素质的教育,

培养学生掌握一定的计算机基础知识、技术与方法,以及利用计算机解决本专业领域中问

题的意识与能力。 多年来,大学计算机基础教学形成了大一上学期讲授大学计算机基础课程、下学期讲

授计算机程序设计基础课程的教学模式。目前,绝大多数二本院校依然采取这种教学模式。

这种模式在实践中存在如下弊端: 第一,因城乡、地区的差别,新生入学时计算机水平参差不齐,给教学带来很大困难。

随着我国中小学信息技术教育的逐步普及,高校新生计算机知识水平的起点也逐年提高。

同时,由于我国中学信息科学教育水平的不平衡,来自城市的学生入学时已经具备计算机

的基本技能,而来自农村的一些学生,特别是来自西部欠发达地区和少数民族地区的一些

学生,入学时才刚刚接触计算机。这种差异使得计算机基础教学的组织与安排非常困难。 第二,学时少、内容多、周期短,并且与专业课学习脱节,严重影响了学生的学习积

极性和程序设计思想的培养。在大一上学期讲授大学计算机基础课程时,由于内容宽泛,

涉及面广,每堂课要讲授或上机练习的内容又多,计算机基础知识好一点的学生上课不愿

意听讲、不屑于练习,而计算机基础知识相对差一点的学生又听不懂,极大地挫伤了学生

学习计算机知识的兴趣和积极性。大一下学期讲授计算机程序设计基础课程,由于学时少、

周期短,在教学中普遍缺乏利用程序设计解决实际问题和专业问题能力的训练,学完计算

机程序设计基础课程后,多数学生还不能真正领会计算机的强大功能,不能利用所学的计

算机知识解决相关的专业问题。 第三,计算机基础教学与大学生对全国计算机等级考试证书的需求脱节。由于就业的

压力,多数二本院校的学生在毕业时迫切需要获得全国计算机二级等级考试证书。但是,

在传统的计算机基础教学模式下,学生最快在大二上学期才能参加全国计算机等级考试,

一次性过级率相对较低。为在毕业前获得计算机二级证书,一些学生不得不一次又一次地

参加校外培训,花费了很多精力。 针对计算机基础教学中存在的问题和不足,2009 年,我校对计算机基础教学进行了改

革,建立了以学生为本,以就业需求为导向,以实践能力、创新能力和计算机应用能力培

养为目标,以大一下学期学生能够顺利参加全国计算机等级考试,提高我校的全国计算机

等级考试过级率为“抓手”,适合学生特点和需求、符合教育规律和学生认知心理的计算

机基础教学新的教学内容体系和教学模式。

Page 4: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版) • II •

新的教学内容体系和教学模式是:根据不同学科、专业学生的特点和需求,分别开设 “C 语言程序设计”、“Visual Basic 程序设计”和“Access 数据库程序设计”课程,并以

程序设计课程为主线,以相应的全国计算机二级等级考试大纲为依据,对传统的大学计算

机基础教学的两门课程“大学计算机基础”和“C 语言(Visual Basic、Access 数据库)程序

设计”的教学内容进行梳理、整合,并将 MATLAB 基础知识和数学建模入门知识纳入计

算机基础教学内容体系中来,使之更贴近学生的需求,更符合学生的认知规律,更有利于

学生计算机应用能力的培养和信息素养的提高。 1) 新的教学模式将传统的在大一下学期讲授的“C 语言(Visual Basic、Access 数据库)

程序设计”课程提前至大一上学期开始,并延伸到大一下学期结束,更符合大学生的认知

规律。大一上学期讲完“C 语言(Visual Basic、Access 数据库)程序设计”课程的基本内容,

下学期通过参加 3 月下旬的全国计算机等级考试,使学生的程序设计基础知识得到强化;

等级考试后,通过综合性、设计性实验,使学生的计算机应用能力得到进一步提高。 2) 将与专业课学习密切相关的计算机软件(MATLAB 软件)纳入大一的计算机基础教

学中来,并结合数学建模进行讲解,为学生学习后续专业课程和参加数学建模竞赛奠定了

扎实的基础,对学生的实践能力、创新能力的培养起到了非常好的作用。 3) 以“案例教学”为主要教学模式,改变了以往 Office 软件的讲法,以毕业论文排版

为案例,介绍 Word 高级应用;以成绩统计分析为案例,介绍 Excel 知识;以简历、展板

的设计为案例,介绍 PowerPoint 应用,更加贴近学生的就业需求。 4) 改革考核方式,实行阶段性滚动考试,加强学习过程的监督与考核,极大地提高了

学生自主学习的积极性。基于“百科园通用考试平台”开发了 C 语言、VB 程序设计、Access数据库、Office 应用的题库,为学生自主练习提供了方便,并且为按单元进行的阶段性考

试和期末考试提供了重要保障。 以大连民族大学为例,在新制定的培养方案中,非计算机专业的大学计算机基础课程

共 5 学分,其中 4 学分为通识教育必修课,1 学分为通识教育选修课。我校的具体做法是:

4 学分的必修课在大一下学期 3 月底的全国计算机等级考试前完成,1 学分的选修课主要在

大一下学期全国计算机等级考试后完成。具体分 3 个阶段实施。 第一阶段,大一上学期,3.5 学分,68 学时,其中理论课教学 32 学时,上机实验课教

学 36 学时。根据不同的专业,分别开设“C 语言程序设计”、“Visual Basic 程序设计”

和“Access 数据库程序设计”课程,并结合相应程序设计课程的需要,完成新生入学的计

算机入门教育,使学生尽快了解计算机基本原理,熟悉计算机的基本操作;完成对全国计

算机二级等级考试大纲所要求的计算机程序设计主要内容的学习。 第二阶段,大一下学期前 4 周,0.5 学分,12 学时的上机实验课教学。针对 3 月底的

全国计算机二级等级考试,进行辅导和上机强化训练。 第三阶段,大一下学期全国计算机等级考试后,1 学分,24 学时的上机实验课教学。

共两部分内容:一是进行计算机程序设计课程的综合性、设计性实验,进一步提高学生的

计算机程序设计能力和计算机应用能力;二是应用软件选讲,提高学生使用软件解决实际

问题和专业问题的能力。通过开设不同的模块课程,使学生可以根据自己的专业需求、兴

Page 5: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

序 • III •

趣爱好和个人能力等具体情况选修相应的课程,达到考核要求即可获得相应的学分。在这

里可供学生选修的课程有:“办公自动化应用”、“网络工程师培训”、“Flash 动画设计

与制作”、“Excel VBA 数据处理技术”、“图形图像处理”、“Office 2010 应用”、“计

算机组装、维护与应用软件实训”、“音频视频处理”、“Visio 图形化设计”和“MATLAB基础与应用技术”等。

多年的教学实践使我们体会到,新的教学内容体系和教学模式至少有以下 4 点好处: 第一,拉长了大学计算机程序设计基础课程的学习周期,由原来的一个学期变为现在

的两个学期,分 3 个阶段实施,符合学生的认知规律,并且对培养学生的编程思想和利用

计算机解决实际问题的能力非常有益。 第二,将获得全国计算机二级等级考试证书作为新生入学的第一个阶段性目标,可以

使学生尽快摆脱刚入大学时的“迷茫”状态,有利于优良学风的建设。 第三,满足了学生对全国计算机二级等级证书的需求,增加了学生将来就业的筹码。 第四,提高了学生的素质,增强了学生的自主学习能力和利用软件解决实际问题的

能力。 为了配合计算机基础教学改革,满足教学用书的基本需求,2010 年 5 月,我们成立了

教材编写委员会,着手进行系列教材的编写工作。共编写主辅教材 6 本,分别是《计算机

基础与 C 语言程序设计》和《计算机基础与 C 语言程序设计实验指导》、《计算机基础与

Visual Basic 程序设计》和《计算机基础与 Visual Basic 程序设计实验指导》、《计算机基

础与 Access 数据库程序设计》和《计算机基础与 Access 数据库程序设计实验指导》。2012年 7 月该套教材由清华大学出版社出版。

《计算机基础与 C 语言(Visual Basic、Access 数据库)程序设计》教材包括:计算机入

门基础知识,全国计算机二级等级考试大纲所要求的程序设计相关内容。 《计算机基础与 C 语言(Visual Basic、Access 数据库)程序设计实验指导》辅助教材包

括:《计算机基础与 C 语言(Visual Basic、Access 数据库)程序设计》习题解答、实验指导、

全国计算机二级等级考试介绍(包括大纲、公共基础知识的相关内容以及模拟试题)以及应

用软件选讲(包括 Office 的高级应用和 MATLAB 软件简介)。 教材是体现教学内容和教学方法的知识载体,是进行教学的基本工具,是深化教育教

学改革、全面推进素质教育、培养创新人才的重要保证。教材建设是提高教学质量的基础

性工作,要为学生知识、能力、素质的协调发展创造条件。该套教材的使用,对我校全国

计算机等级考试过级率的提高起到了至关重要的作用。与改革前相比,我校的全国计算机

等级考试过级率提高了 20%。2012 级同学在 2013 年 3 月首次参加全国计算机等级考试,

过级率为 52.4%,创历史最好成绩。该套教材是 2013 年辽宁省教学成果二等奖“以就业需

求为导向计算机应用能力培养为目标的计算机基础教学新模式”的主要成果之一,其中,

《计算机基础与 C 语言程序设计》和《计算机基础与 C 语言程序设计实验指导》2014 年

被评为辽宁省第二批“十二五”普通高等教育本科省级规划教材。 有关我校的计算机基础教学改革:2009 年 10 月,获得辽宁省教育教学改革项目立项;

2010 年 1 月,在首届全国民族院校计算机基础课程教学研讨会上,我校做了“基于应用型

Page 6: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版) • IV •

人才培养的计算机基础教学课程体系及教学内容的探讨”的主题报告,初步介绍了计算机

基础教学改革思路与设想,得到与会代表的热烈反响;2011 年 7 月,在辽宁省计算机基础

学会年会上,我校做了“基于能力培养与等级考试需求的计算机基础教学改革”的主题发

言,得到与会同行们的充分肯定和兄弟院校的广泛关注;2011 年 11 月,获得国家民族事

务委员会本科教学改革与质量建设研究项目立项;2012 年 10 月,在全国高等院校计算机

基础教学研究会学术年会上,发表了“新形势下的计算机基础教学改革实践——以大连民

族学院为例”的研究论文,全面介绍了我校的计算机基础教学改革,获得优秀论文二等奖;

2013 年 6 月,在国家民族事务委员会 2013 年民族院校教学观摩会上,我校做了计算机基

础课教学改革的经验介绍,并于同年获得辽宁省教学成果二等奖。 该套教材在第二版的基础上进行了修订,将主教材中有关全国计算机二级等级考试公

共基础知识所要求的相关内容移到相应的辅助教材中,并删除辅助教材中有关 Office 高级

应用的部分(该内容已另外出版了一套教材),使得教材结构更加合理。该套教材适合作为

高等院校的计算机基础教学用书,也可作为学生自学计算机基础知识和相关程序设计基础

知识,准备全国计算机二级等级考试的参考用书。 为了继续做好计算机基础教学的改革工作,我们热忱欢迎专家、同行以及广大读者多

提宝贵意见!

焉德军 2017 年 3 月

Page 7: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

前 言

由于 Visual Basic 显著的特点,越来越多的高等学校将 Visual Basic 程序设计作为非计

算机专业学生学习程序设计的第一门课程。鉴于目前高校的计算机公共基础课程学时普遍

偏少,同时,为了更好地配合二本院校的学生参加全国计算机等级考试实际应用的需要,

编写组成员在深入调研、参考同行专家意见的基础上,认真总结多年的教学实践经验,对

本教材的第二版内容进行了修订。修订主要包括以下几个方面的内容:

本教材第二版中的第 12 章(数据结构与算法)、第 13 章(软件工程基础)、第 14 章(数据

库基础)是全国计算机等级考试二级中计算机公共基础知识部分的考试内容,将这三章内容

调整到本书的配套教材《计算机基础与 Visual Basic 程序设计实验指导(第三版)》中,使得

本教材内容更加精炼、紧凑。

新版对第二版的第 6 章、第 7 章、第 8 章、第 9 章中程序应用举例部分的内容做了重

新选择和编排,整理后的题目更典型、简单易懂。

每一章的课后习题部分都删掉了填空题类型,保留了选择题和编程题类型。同时增加

了选择题的数量。

本书与配套教材《计算机基础与 Visual Basic 程序设计实验指导(第三版)》一起构成了

一套完整的教学用书,既可作为高等学校的教学参考书,也可供报考全国计算机等级考试

(NCRE)的人员及其他自学人员使用。

本书由杨日璟、郑江超编著,第 1 章由辛慧杰编写,第 2 章、第 3 章由李宏岩编写,

第 5 章、第 6 章由杨为明编写,第 4 章、第 7 章、第 8 章、第 10 章由杨日璟编写,第 9

章、第 11 章由郑江超编写。全书由杨日璟统稿审定。

在本书的编写过程中,得到了许多教师的大力支持和帮助,在此一并表示感谢。

尽管我们做了大量细致的修订工作,但书中仍会存在一些疏漏甚至错误之处,恳请兄

弟院校的同行及广大读者不吝指正。我们的信箱是 [email protected],电话是

010-62796045。

本书对应的电子课件和习题答案可以到 http://www.tupwk.com.cn 网站下载。

编 者

2017年3月

Page 8: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

目 录

第 1 章 计算机基础知识........................1

1.1 计算机基本结构..........................1

1.1.1 计算机系统的组成 ................. 1

1.1.2 计算机硬件系统..................... 1

1.1.3 计算机软件系统..................... 2

1.2 数制与编码.................................. 3

1.2.1 数制的基本概念..................... 4

1.2.2 常用数制 ................................ 4

1.2.3 数制转换 ................................ 5

1.2.4 数据在计算机中的表示方式 .... 7

1.2.5 字符编码 ................................ 9

1.2.6 汉字编码 ................................ 9

1.2.7 存储单位 ..............................11

1.3 习题 ........................................... 12

第 2 章 Visual Basic 概述 ...................13

2.1 关于 Visual Basic ......................13

2.1.1 Visual Basic 的发展..............13

2.1.2 Visual Basic 的主要用途 ......14

2.1.3 Visual Basic 的特点..............14

2.2 Visual Basic 6.0 的安装和

启动 ........................................... 15

2.2.1 Visual Basic 6.0 的运行

环境及安装 ..........................15

2.2.2 启动 Visual Basic 6.0............16

2.3 Visual Basic 6.0 的集成

开发环境 ................................... 17

2.3.1 主窗口..................................17

2.3.2 窗体设计器窗口...................19

2.3.3 工程资源管理器窗口 ...........20

2.3.4 属性窗口.............................. 21

2.3.5 工具箱窗口.......................... 21

2.3.6 代码窗口.............................. 23

2.3.7 窗体布局窗口 ...................... 24

2.4 创建 Visual Basic 应用程序 ..... 25

2.4.1 开发 Visual Basic 应用

程序的步骤.......................... 25

2.4.2 设计一个简单应用程序 ....... 25

2.5 工程管理 ................................... 28 2.5.1 保存程序.............................. 28

2.5.2 运行程序.............................. 29

2.5.3 生成和运行可执行文件 ....... 29

2.5.4 工程文件的管理 .................. 30

2.6 使用 Visual Basic 6.0 的

帮助系统 ................................... 31

2.7 习题 ........................................... 33

第 3 章 Visual Basic 可视化

编程基础 ................................ 35

3.1 Visual Basic 中对象的概念 ...... 35

3.1.1 对象与类.............................. 35

3.1.2 对象的属性、事件和方法 ... 36

3.2 窗体 ........................................... 37

3.2.1 窗体的基本属性 .................. 38

3.2.2 窗体事件.............................. 45

3.2.3 窗体方法.............................. 46

3.3 控件 ........................................... 47

3.3.1 控件的命名及控件值........... 48

3.3.2 控件的基本操作 .................. 48

3.3.3 标签 ..................................... 51

3.3.4 文本框 ................................. 52

Page 9: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版) • VIII •

3.3.5 命令按钮 ..............................54

3.3.6 Visual Basic中设置颜色

的常用方法 ..............................55

3.4 程序举例.................................... 56

3.5 习题 ........................................... 58

第 4 章 Visual Basic 语言基础............61

4.1 Visual Basic 语言字符集及

编码规则 ................................... 61

4.1.1 Visual Basic 的字符集 ..........61

4.1.2 编码规则与约定...................62

4.2 数据类型.................................... 63

4.3 常量和变量................................66

4.3.1 常量 .....................................66

4.3.2 变量 .....................................68

4.4 常用的内部函数........................71

4.4.1 数学函数 ..............................71

4.4.2 类型转换函数 ......................72

4.4.3 字符串函数 ..........................74

4.4.4 日期与时间函数...................77

4.5 运算符和表达式........................77

4.5.1 算术运算符和算术表达式.....78

4.5.2 字符串运算符和字符串

表达式..................................79

4.5.3 关系运算符和关系表达式....80

4.5.4 逻辑运算符和逻辑表达式....81

4.5.5 日期表达式 ..........................82

4.5.6 表达式的执行顺序 ...............82

4.5.7 立即执行窗口 ......................83

4.6 习题 ........................................... 84

第 5 章 Visual Basic 数据输入输出 ....87

5.1 使用 Print 方法输出数据.......... 87

5.1.1 Print 方法 .............................87

5.1.2 特殊打印格式 ......................88

5.2 输入和输出函数........................92

5.2.1 InputBox()函数——输入

对话框 .............................. 92

5.2.2 MsgBox()函数——消息框..... 93

5.3 字体 ........................................... 96

5.4 打印机输出 ............................... 97

5.5 习题 ........................................... 99

第 6 章 Visual Basic 常用标准控件 ....102

6.1 单选按钮和复选框 ................. 102

6.1.1 单选按钮............................ 102

6.1.2 复选框 ............................... 103

6.2 框架 ......................................... 106

6.3 图形控件 ................................. 108

6.3.1 图片框和图像框 ................ 108

6.3.2 直线和形状........................ 111

6.4 滚动条 ..................................... 112

6.5 计时器 ..................................... 115

6.6 列表框与组合框 ..................... 117

6.6.1 列表框 ............................... 117

6.6.2 组合框 ............................... 121

6.7 焦点与 Tab 键顺序 ................. 126

6.8 习题 ......................................... 129

第 7 章 Visual Basic 控制结构 ......... 134

7.1 顺序结构 ................................. 134

7.1.1 赋值语句............................ 134

7.1.2 结束语句 End..................... 136

7.1.3 暂停语句 Stop.................... 136

7.2 选择结构 ................................. 136

7.2.1 If 条件语句 ........................ 136

7.2.2 Select Case 语句................. 140

7.2.3 IIf 条件函数 ....................... 143

7.2.4 程序举例............................ 143

7.3 循环结构 ................................. 147

7.3.1 For 循环控制结构 .............. 147

7.3.2 Do 循环控制结构............... 151

Page 10: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

目 录 • IX •

7.3.3 While 循环控制结构 ..........153

7.3.4 多重循环 ............................156

7.3.5 Go To 语句.........................158

7.3.6 循环出口语句 ....................159

7.3.7 程序举例 ............................160

7.4 习题 ......................................... 161

第 8 章 数组......................................167

8.1 数组的概念..............................167

8.2 数组的声明和应用..................168

8.2.1 静态数组声明 ....................168

8.2.2 动态数组声明 ....................170

8.2.3 数组的清除和重定义 .........172

8.3 数组的基本操作......................174

8.3.1 数组的引用 ........................174

8.3.2 给数组元素赋初值 .............174

8.3.3 不同数组间数组元素的

相互复制 ............................176

8.3.4 数组元素的输出.................177

8.3.5 For Each...Next 循环语句 ....178

8.4 数组的应用..............................179

8.5 控件数组.................................. 185

8.5.1 控件数组的概念.................186

8.5.2 控件数组的创建.................187

8.6 用户定义的数据类型.............. 188

8.7 程序举例.................................. 191

8.8 习题 ......................................... 193

第 9 章 过程......................................198

9.1 事件过程与通用过程.............. 198

9.2 Sub 子过程的定义和调用 ...... 200

9.2.1 Sub 子过程的定义..............200

9.2.2 Sub 子过程的建立..............201

9.2.3 Sub 子过程的调用..............201

9.3 Function 函数过程的定义

和调用 ..................................... 203

9.3.1 Function 过程的定义.......... 203

9.3.2 Function 函数过程的建立....204

9.3.3 Function 过程的调用.......... 204

9.4 参数传递 ................................. 206

9.4.1 形参和实参........................ 207

9.4.2 传地址和传值 .................... 207

9.4.3 数组参数的传送 ................ 209

9.4.4 对象参数............................ 211

9.5 变量的作用域 ......................... 213

9.5.1 变量的作用域概述............. 214

9.5.2 静态变量............................ 216

9.6 程序举例 ................................. 217

9.7 过程嵌套和递归 ..................... 219

9.8 习题 ......................................... 221

第 10 章 用户界面设计..................... 226

10.1 对话框 ................................... 226

10.1.1 通用对话框控件............. 226

10.1.2 文件对话框 .................... 228

10.1.3 “颜色”对话框............. 230

10.1.4 “字体”对话框............. 232

10.1.5 “打印”对话框............. 234

10.2 菜单设计 ............................... 234

10.2.1 菜单概述........................ 234

10.2.2 菜单编辑器 .................... 235

10.2.3 下拉式菜单 .................... 237

10.2.4 弹出式菜单 .................... 241

10.3 多重窗体 ............................... 243

10.3.1 建立多窗体应用程序 ..... 243

10.3.2 多窗体应用程序的

执行与保存 .................... 245

10.4 键盘和鼠标事件 ................... 247

10.4.1 键盘事件........................ 247

10.4.2 鼠标事件........................ 251

10.4.3 鼠标指针的形状............. 253

Page 11: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版) • X •

10.4.4 拖放................................255

10.5 习题 ....................................... 258

第 11 章 文件....................................263

11.1 文件系统控件........................263

11.1.1 驱动器列表框.................263

11.1.2 目录列表框 ....................264

11.1.3 文件列表框 ....................265

11.1.4 三个控件的联动.............266

11.2 文件概述................................268

11.3 文件操作语句和函数............ 269

11.3.1 Open 语句.......................269

11.3.2 Close 语句 ......................270

11.3.3 函数................................271

11.4 顺序文件................................273

11.4.1 打开顺序文件.................273

11.4.2 顺序文件的读操作......... 273

11.4.3 顺序文件的写操作......... 275

11.5 随机文件 ............................... 278

11.5.1 记录与随机文件............. 279

11.5.2 随机文件的打开和关闭.....280

11.5.3 随机文件的写操作......... 280

11.5.4 随机文件的读操作......... 281

11.6 二进制文件的操作 ............... 282

11.6.1 二进制文件的打开......... 283

11.6.2 二进制文件的读写......... 283

11.7 习题 ....................................... 284

附录一 ASCII 码表完整版 ................ 289

附录二 键盘键值表 .......................... 291

参考文献............................................. 294

Page 12: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

第1章 计算机基础知识

在现代生活中,计算机无处不在,计算机技术已渗透到社会生活的各个领域。各行各

业的人都可以利用计算机来解决各自的问题。本章将简单介绍计算机的基本结构、数制与

编码。

1.1 计算机基本结构

1.1.1 计算机系统的组成

一个完整的计算机系统包括硬件系统和软件系统两部分,如图 1-1 所示。组成一台计

算机的物理设备的总称叫作计算机硬件系统,是计算机工作的基础。指挥计算机工作的各

种程序的集合称为计算机软件系统,是计算机的灵魂,是控制和操作计算机工作的核心。

计算机工作时软、硬件协同工作,二者缺一不可。

外存储器: 软盘、硬盘、光盘、闪存(优盘)等

实用程序:诊断程序、排错程序等

计算机系统

硬件

系统 输入设备:键盘、鼠标、扫描仪、光笔、麦克风等

输出设备:显示器、打印机、绘图仪、音响等

其他设备:网络适配器、调制解调器、集线器等

外部设备

主 机

运算器

控制器中央处理单元

(CPU)只读存储器(ROM)随机存储器(RAM)

高速缓冲存储器(Cache)

内存储器

操作系统:Windows、、UNIX、Linux、OS/2、DOS等

软件

系统

应用软件

系统软件 语言处理程序:C、Pascal、Fortran、Visual Basic等

通用软件:办公软件包、数据库管理系统、实时监控等

专用软件:各企业的管理信息系统等 图 1-1 计算机系统的组成结构

1.1.2 计算机硬件系统

不同类型的计算机,其硬件组成是不一样的。自计算机诞生以来,各种类型的计算机

结构及性能都已发生了很大的变化,但都是基于冯·诺依曼思想而设计的。计算机结构如

图 1-2 所示,主要特点可归结为以下 3 点:

软盘、硬盘、光盘、闪存(优盘等)

Page 13: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版)

• 2 •

(1) 计算机由输入设备、存储器、运算器、控制器和

输出设备 5 个基本部分组成。 (2) 程序和数据存放在存储器中,并按地址寻访。 (3) 程序和数据用二进制表示。 硬件系统是计算机工作的基础,计算机的运算速度、

存储容量、计算精度等性能很大程度上取决于硬件的配

置。下面简单介绍计算机的 5 个基本组成部分。 图 1-2 冯·诺依曼计算机结构

● 运算器:主要功能是进行算术运算和逻辑运算。运算器中的数据取自内存,运算

的结果又送回内存。运算器对内存的读/写操作是在控制器的控制之下进行的。 ● 控制器:是计算机的神经中枢和指挥中心,控制器的功能是依次从存储器取出指

令,翻译指令、分析指令、向其他部件发出控制信号,指挥计算机各部件协同工

作。运算器和控制器合称为中央处理单元(CPU)。 ● 存储器:主要功能是存放程序和数据。存储器通常分为内存储器和外存储器。内

存储器简称内存(又称主存),是计算机中信息交流的中心。内存要与计算机的各个

部件打交道,进行数据交换。因此,内存的存取速度直接影响计算机的运算速度。

外存储器设置在主机外部,简称外存(又称辅存)。外存只和内存交换数据,而且不

是按单个数据进行存取,而是成批地进行数据交换。 ● 输入设备:用来接受用户输入的原始数据和程序,并将它们转换为计算机可以识

别的形式(二进制代码)存放到内存中。常用的输入设备有键盘、鼠标、扫描仪、光

笔、数字化仪、麦克风等。 ● 输出设备:用于将存放在内存中由计算机处理的结果转换为人们所能接受的形式。

常用的输出设备有显示器、打印机、绘图仪、音响等。

1.1.3 计算机软件系统

计算机软件(Computer Software)是相对于硬件而

言的,它包括计算机运行所需的各种程序、数据及其

有关技术文档资料。通常,软件可分为系统软件和应

用软件两大类。用户与计算机系统各层次之间的关系

如图 1-3 所示。 图 1-3 用户与计算机系统各层次之间的关系

1. 系统软件

系统软件是管理和维护计算机资源的软件,包括操作系统、程序设计语言、语言处理

程序、数据库管理系统、系统辅助处理程序等。 ● 操作系统(OS):控制所有在计算机上运行的程序并管理整个计算机的资源,目前

计算机常见的操作系统有 Windows、UNIX、Linux 和 DOS 等。

硬件

系统软件

应用软件 输入信息

输出信息

计算机用户

Page 14: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

第 1 章 计算机基础知识

• 3 •

● 程序设计语言:计算机语言大致分为机器语言、汇编语言和高级语言。 ① 机器语言:是二进制代码表示的指令集合,计算机能直接识别和执行,但其直观

性差,可读性不强。 ② 汇编语言:是符号化的机器语言,它用助记符来表示指令中的操作码和操作数。

它比机器语言前进了一步,属于低级语言。

③ 高级语言:是接近人类自然语言和数学语言的计算机语言,特点是与计算机的指

令系统无关。较流行的高级语言有 FORTRAN、COBOL、C、C++、VB、Delphi和 Java 等。

● 语言处理程序:是指将非机器语言编写的程序翻译成能直接执行的机器语言的翻

译程序。用高级语言编写的程序称为源程序,计算机不能直接识别和执行。必须

把源程序翻译成机器能够识别的机器指令代码(也称为目标程序),计算机才能执

行。翻译有编译方式和解释方式,工作过程如图 1-4 所示。

高级语言源程序

机器语言目标程序

执行结果

编译程序

(编译) (运行)

(a) 编译过程

(连接)

可执行

程序

连接程序

高级语言

源程序

执行

结果

解释程序

(解释并执行)

(b) 解释过程 图 1-4 源程序翻译成机器指令的过程

编译方式是把源程序用相应的编译程序翻译成机器语言的目标程序,然后再链接成可

执行程序,运行可执行程序后得到结果。目标程序和可执行程序都是以文件方式存放在磁

盘上,再次运行该程序,只需直接运行可执行程序,不必重新编译和链接。 解释方式是将源程序输入计算机,用该语言的解释程序将其逐条解释,逐条执行,执行

完后只能得到结果,而不能保存解释后的机器代码,下次运行该程序时还要重新解释执行。 ● 数据库管理系统:数据库管理系统是能够对数据库进行加工、管理的系统软件。 ● 系统辅助处理程序:也称“软件研制开发工具”、“支持软件”或“工具软件”,

主要有调试程序、装配和链接程序以及测试程序等。

2. 应用软件

应用软件是用户为解决实际问题所开发的软件的总称。应用软件一般分为两大类:通

用软件和专用软件。 通用软件支持最基本的应用,如文字处理软件(Word)、表格处理软件(Excel)等。专用软

件是专门为某一专业领域而开发的软件,如财务管理系统、计算机辅助设计(CAD)软件等。

1.2 数制与编码

计算机不仅仅是对数值进行处理,还要处理语言、文字、图形、图像等各种信息,而

计算机只识别二进制数,这些信息都必须经过数字化处理后,才能进行存储和传送。

(链接)

Page 15: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版)

• 4 •

1.2.1 数制的基本概念

数制是指用一组固定的数码符号和统一的规则来表示数值的方法,也称为计数制。数

制的种类很多,除了十进制数,还有二十四进制、六十进制等。不论是哪一种数制,其计

数和运算都有共同的规律和特点。

1. 逢 R 进一

R 是计数制中所需要的数字字符的总个数,称为基数。例如:十进制数用 0,1,2,3,4,5,6,7,8,9 这 10 个不同的数字字符来表示数值。在十进制中基数是 10,表示逢十进一。

2. 位权表示法

位权(也叫权)是指一个数字在某个位置上所代表的值,处在不同位置上的数字所代表

的值不同,每个数字的位置决定了它的值或位权。例如,在十进制数 586 中,5 的位权是

100(即 102)。 位权与基数的关系是,各进位制中位权的值是基数的若干次幂。因此,用任何一种数制

表示的数都可以写成按位权展开的多项式之和。例如,十进制数 256.07 可以用如下形式表示:

2101210 107100106105102)07.256(

1.2.2 常用数制

人们使用计算机时用的是十进制数,而计算机内部用的是二进制数。计算机应用中常

需要使用十六进制数或八进制数。

1. 十进制数

十进制数的进位规则是“逢十进一”,其基数为 10,有 0,1,2,3,4,5,6,7,8,9 共 10 个数字字符。十进制数的特点是:逢十进一,借一当十。

2. 二进制数

二进制数的进位规则是“逢二进一”,其基数为 2,只有 0、1 两个数字字符。二进制

数的特点是:逢二进一,借一当二。 任何一个二进制数,都可以用以下方法表示为十进制数:

2101232 212121202121)11.1101(

10)75.13(

3. 八进制数

八进制数的进位规则是“逢八进一”,其基数为 8,有 0,1,2,3,4,5,6,7 共 8个数字字符。八进制数的特点是:逢八进一。例如,对于八进制数 376.4,可用以下方法表

Page 16: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

第 1 章 计算机基础知识

• 5 •

示为十进制数: 1012

8 84868783)4.376( 5.0687643

10)5.254(

4. 十六进制数

十六进制数的进位规则是“逢十六进一”,其基数为 16,有 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 共 16 个字符。十六进制数的特点是:逢十六进一。例如,

对于十六进制数 3AB.11,可用以下方法表示为十进制数: 21012

16 161161161116101633AB.11)( 10)0664.939(

常用数制的对应关系如表 1-1 所示。

表 1-1 常用数制的对应关系

十进制 二进制 八进制 十六进制

0 0000 0 0

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

16 10000 20 10

1.2.3 数制转换

由于计算机采用二进制,而在日常生活中人们习惯使用十进制,所以在计算机进行数据

处理时就必须把输入的十进制数转换成计算机所能接受的二进制数,计算机运行结束后,再

把二进制数转换成人们习惯的十进制数输出。这两个转换过程完全由计算机系统自动完成。

Page 17: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版)

• 6 •

1. 二进制数与十进制数间的转换

(1) 二进制数转换成十进制数 二进制数转换成十进制数,只要将二进制数按位权展开,然后将各项数值按十进制数

相加,便可得到等值的十进制数。例如:

1021124

2 )75.22(2121212121)11.10110(

同理,若将任意进制数转换为十进制数,只需将数(N)R 写成按位权展开的多项式表达

式,并按十进制规则进行运算,便可求得相应的十进制数(N)10。 (2) 十进制数转换成二进制数 十进制数转换成二进制数需要将整数部分和小数部分分别转换,然后再将两者的转换

结果合并起来即可。 ● 整数转换:整数转换除 2 取余法,直到商为 0,倒序排列。 【例 1-1】 将(57)10转换为二进制数,用除 2 取余法得:

2 572 28

2 14

2 72 3

2 10

余数

………1=a0

………0=a1

………0=a2

………1=a3

………1=a4

………1=a5

结果: 210 )111001()57( 。

● 小数转换:小数转换乘 2 取整法,顺序排列。 【例 1-2】 将(0.834)10转换成二进制小数,用乘 2 取整法得:

结果: 210 )1101.0()834.0( 。

0.834× 2

1.6680.668

× 2

1.3360.336

× 2

0.672× 2

1.344

整数

………1=a -1

………1=a -2

………0=a -3

………1=a -4

由小数转换可见,在小数部分乘 2 取整的过程中,不一定能使最后的乘积为 0,因此

转换值存在误差。通常在二进制小数的精度已达到预定的要求时,运算便可结束。 同理,若将十进制数转换成任意 R 进制数(N)R,则整数部分转换采用除 R 取余法;小

数部分转换采用乘 R 取整法。

Page 18: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

第 1 章 计算机基础知识

• 7 •

2. 二进制数与八进制数、十六进制数间的转换

八进制数和十六进制数的基数分别为 8=23,16=24,所以 3 位二进制数恰好相当于一

位八进制数,4 位二进制数相当于一位十六进制数,相互转换比较方便。 二进制数转换成八进制数:从小数点开始,分别向左、向右,将二进制数按每 3 位一

组分组(不足 3 位的补 0),然后写出每一组等值的八进制数。 【例 1-3】将二进制数 100110110111.00101 转换成八进制数。

100 110 110 111 . 001 010 ↓ ↓ ↓ ↓ ↓ ↓ ↓ 4 6 6 7 . 1 2

结果: 82 )12.4667()00101.111001101101(

八进制数转换成二进制数的方法恰好和二进制数转换成八进制数相反,即从小数点开始

分别向左、向右将八进制数的每一位数字转换成 3 位二进制数。如本例按相反过程转换,有:

28 )00101.111001101101()12.4667(

二进制数转换成十六进制数:从小数点开始分别向左、向右将二进制数按每 4 位一组

分组(不足 4 位补 0),然后写出每一组等值的十六进制数。 【例 1-4】将二进制数 1111000001011101.0111101 转换成十六进制数。

1111 0000 0101 1101 . 0111 1010 ↓ ↓ ↓ ↓ ↓ ↓ ↓ F 0 5 D . 7 A

结果: 82 )F05D.7A()0111101.0111011111000001(

类似地,将十六进制数转换成二进制数,可按本例相反过程操作。

1.2.4 数据在计算机中的表示方式

在计算机中处理的数据可分为数值型和非数值型两类。由于计算机采用二进制,因此

所有数据信息在计算机内部都必须以二进制编码的形式表示。也就是说,一切输入到计算

机中的数据都是由 0 和 1 两个数字进行组合的。对于数值型数据来说有正有负,在数学中

用符号“+”和“-”分别表示正数和负数,但在计算机中数的正、负号要用 0 和 1 来表示。

1. 带符号数的表示方法

在计算机中,对有符号的数常用原码、反码和补码 3 种方式表示,其主要目的是解决

减法运算的问题。任何正数的原码、反码和补码的形式完全相同,负数则各自有不同的

表示形式。 (1) 数的原码表示 正数的符号位用 0 表示,负数的符号位用 1 表示,有效值部分用二进制绝对值表示,

Page 19: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版)

• 8 •

这种表示法称为原码。原码对 0 的表示方法不唯一,即正的 0(000…00)和负的 0(100…00)。例如:X=+76;Y=-76。则:

(2) 数的反码表示 正数的反码和原码相同,负数的反码是对该数的原码除符号位外各位取反,即“0”

变“1”,“1”变“0”。例如: (+76)原=(+76)反=01001100 (-76)原=11001100 (-76)反=10110011 可以验证,任何一个数的反码的反码即是原码本身。 (3) 数的补码表示 正数的补码和原码相同,负数的补码是其反码加 1。例如: (+76)原=(+76)反=(+76)补=01001100 (-76)原=11001100 (-76)反=10110011 (-76)补=10110100 可以验证,任何一个数的补码的补码即是原码本身。

引入补码的概念之后,减法运算可以用加法来实现,并且两数的补码之“和”等于两

数“和”的补码。因此,在计算机中,加减法基本上都是采用补码进行运算。

2. 定点数与浮点数

数值除了有正、负数外,还有带小数点的数值。在计算机中,通常采用隐含规定小数

点的位置来表示有小数点的数。 根据小数点的位置是否固定,数的表示方法可以分为定点整数、定点小数和浮点数 3

种类型。定点整数和定点小数统称为定点数。 (1) 定点整数 定点整数是指小数点隐含固定在整个数值的最后,符号位右边的所有位数表示的是一

个整数。如果用 4 位表示一个定点整数,则 0110 表示二进制数“+110”,即十进制数“+6”。 (2) 定点小数 定点小数是指小数点隐含固定在某一个位置上的小数。通常将小数点固定在最高数据

位的左边。如果用 4 位表示一个定点小数,则 0110 表示二进制数+0.110,即十进制数+0.75。 (3) 浮点数 浮点数是指小数点位置不固定的数,它既有整数部分又有小数部分。在计算机中通常

把浮点数分成阶码(也称为指数)和尾数两部分来表示,其中阶码用二进制定点整数表示,

(X)原 = 0 1001100 (Y)原 = 1 1001100

↑ ↑ 符号位 数值

Page 20: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

第 1 章 计算机基础知识

• 9 •

尾数用二进制定点小数表示,阶码的长度决定数的范围,尾数的长度决定数的精度。为保

证不损失有效数字,通常还对尾数进行规格化处理,即保证尾数的最高位为 1,实际数值

通过阶码进行调整。 浮点数的格式多种多样,例如:某计算机用 32 位表示浮点数,阶码部分为 8 位补码

定点整数,尾数部分为 24 位补码定点小数。采用浮点数的最大优点是数值表示的范围大。

1.2.5 字符编码

信息编码就是指对输入到计算机中的各种数值型和非数值型数据用二进制进行编码

的方式。字符是计算机中使用较多的非数值型数据,要处理此类数据,就必须用二进制编

码来表示字符数据,需要对字符进行编码。 最常用的字符编码是 ASCII 码,即美国信息交换标准代码(American Standard Code for

Information Interchange,ASCII)。 ASCII 码有 7 位码和 8 位码两种形式。7 位 ASCII 码是用 7 位二进制数进行编码的,

可以表示 128 个字符。这是因为 1 位二进制数可以表示两种状态,0 或 1(21=2);两位二进

制数可以表示 4 种状态,00、01、10、11(22=4);以此类推,7 位二进制数可以表示 27=128种状态,每种状态都对应一个 7 位二进制码,这些码可以排列成一个十进制序号 0~127,详见附录一。

ASCII 码表的 128 个字符是这样分配的:第 0~32 号及 127 号(共 34 个)为控制字符,

主要包括换行、回车等功能字符;第 33~126 号(共 94 个)为字符,其中第 48~57 号为 0~9十个数字符号,第 65~90 号为 26 个大写英文字母,第 97~122 号为 26 个小写英文字母,

其余为一些标点符号、运算符号等。例如,大写字母 A 的 ASCII 码值为 1000001,即十进

制数 65,小写字母 a 的 ASCII 码值为 1100001,即十进制数 97。这些字符基本满足了各种

程序设计语言、西文文字、常见控制命令等的需要。 为了使用方便,在计算机的存储单元中,一个字符的 ASCII 码占一个字节(8 个二进制

位),其最高位只用作奇偶校验位,如图 1-5 所示。 ASCII 码虽然是最常用的编码,但由于最高位 b7

用来作为校验位,因此只能表示 128 个不同的字符。如

果最高位 b7也用来编码,则称为扩展 ASCII 码(即 8 位

码),可用来表示 256 个不同的字符。

1.2.6 汉字编码

计算机在处理汉字信息时也要将其转换为二进制代码,这就需要对汉字进行编码。汉

字的输入、转换和存储方法与西文类似,但由于汉字数量多,不能由西文键盘直接输入,

因此必须先把它们分别用以下编码转换后存放到计算机中再进行处理操作。

b7 b6 b5 b4 b3 b2 b1 b0

奇偶校验

编 码 位

图 1-5 一个字节的 ASCII 码表示

Page 21: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版)

• 10 •

1.机外码(也称输入码)

机外码是指用户通过西文键盘输入的汉字信息编码,它由键盘上的字母、数字及特殊

符号组成。常用的输入码有五笔字型、全拼输入法、双拼输入法、微软输入法、区位码、

自然码、智能 ABC 输入法等。输入码是用户与计算机进行汉字交流的第一接口。

2.国标码(也称交换码)

计算机处理汉字所用的编码标准是我国于 1980 年颁布的国家标准 GB2312_1980,即

《中华人民共和国国家标准信息交换汉字编码》,简称国标码。在国标码中,共收录了一、

二级汉字和图形字符 7445 个。其中图形字符 682 个,一级汉字(常用汉字)3755 个,按汉语

拼音字母排列;二级汉字(不常用汉字)3008 个,按偏旁部首排列。为了编码,将汉字分成

若干个区,每个区中 94 个汉字。由区号和位号(区中的位置)构成了区位码。例如,“中”

位于第 54 区 48 位,区位码为 5448。区号和位号各加 32 就构成了国标码,这是为了与 ASCII码兼容,每个字节值大于 32(0~32 为非图形字符码值)。所以,“中”的国标码为 8680。

为了满足信息交换处理的需要,在国标码的基础上,2003 年 3 月我国又推出了《信息

技术·信息交换用汉字编码字符集·基本集的扩充》新国家标准,共收录了 27000 多个汉

字,还包括藏、蒙、维吾尔等主要少数民族文字,采用单、双、四字节混合编码,总编码

空间为 150 万个码位以上,基本解决了计算机汉字和少数民族文字的使用标准问题。

3.机内码(也称内码)

机内码是指计算机内部存储、处理加工汉字时所用的代码。输入码通过键盘被接受后

由汉字操作系统的“输入码转换模块”转换为机内码,每个汉字的机内码用 2 个字节的二

进制数表示。虽然一个汉字在用不同的输入法时其外码各不相同,但其内码是统一的。为

了与 ASCII 码相区别,通常将其最高位置为 1,大约可表示 16000 多个汉字。汉字机内码

的每个字节都大于 128,而每个西文字符的 ASCII 码值均小于 128。 例如:

汉字 汉字国标码 汉字机内码 中 8680(01010110 01010000)2 (11010110 11010000)2=(D6D0)16 华 5942(00111011 00101010)2 (10111011 10101010)2=(BBAA)16

4.字形码

字形码是指文字信息的输出编码。计算机对各种文字信息的二进制编码处理后,必须

通过字形输出码转换成人们能看懂且能表示为各种字形字体的文字格式,即字形码,然后

通过输出设备输出。 字形码通常采用点阵形式,不论一个字的笔画是多少,都可以用一组点阵表示。每个

点即二进制的一个位,由“0”和“1”表示不同的状态,如明、暗或不同的颜色等特征,

表现字的形和体(即字形和字体)。所有字形码的集合构成的字符集称为字库。根据输出字

符的要求不同,字符点的多少也不同。点阵越大、点数越多,分辨率就越高,输出的字形

Page 22: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

第 1 章 计算机基础知识

• 11 •

就越清晰。汉字字形有 16×16、24×24、32×32、48×48、128×128 点阵等,不同字体

的汉字需要不同的字库。点阵字库存储在文字发生器或字模存储器中。字模点阵的信息量

很大,所占存储空间也很大。以 16×16 点阵为例,每个汉字要占用 32 个字节(16×16/8=32)。如图 1-6 所示字形点阵及代码显示了“大”字的 16×16 字形点阵及代码。

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0 3 0 00 3 0 00 3 0 00 3 0 4F F F E0 3 0 00 3 0 00 3 0 00 3 0 00 3 8 00 6 4 00 C 2 01 8 3 01 0 1 82 0 0 CC 0 0 7

十六进制码

图 1-6 字形点阵及代码

1.2.7 存储单位

各种各样的数据在计算机内都用二进制形式存储,在计算存储空间的大小时,要用到

不同的存储单位。

1. 位(bit)

位是计算机的最小存储单位,简写为 b,表示二进制中的一位。位也称为“比特”,

一个二进制位只能表示两种状态,即只能存放二进制数“0”或“1”。

2. 字节(Byte)

字节是计算机的最小存储单元,也是处理数据的基本单位,简写为“B”,表示二进

制中的 8 位,即 1B=8b。字节也称为“拜特”,是 Byte 的音译。 常用的存储单位有 KB、MB、GB、TB。1KB 表示 1K 字节,读作“千字节”,是 2

的 10 次方字节,等于 1024 个字节;相应的 1MB 读作“兆字节”,是 2 的 20 次方字节,

等于 1024 KB;1GB 读作“吉字节”,是 2 的 30 次方字节;1TB 读作“太字节”,是 2的 40 次方字节。

3. 常用单位的前缀

当人们说 64KB 的时候,KB 是 Kilobyte(千字节)的缩写。Kilo 是一种度量前缀,表示

1000。如 1Kilometer 是 1 千米,1Kilogram 是 1000 克。由于数据在计算机中用二进制形式

存储,因此为了计算的方便,当 K 用在度量存储空间的时候,这里的 1000 仅仅是一个近

似值。它的实际值是 2 的 10 次方,等于 1024。

Page 23: 计算机基础与Visual Basic 程序设计 - Tsinghua University高等学校计算机应用规划教材 计算机基础与Visual Basic 程序设计 (第三版) 杨日璟 郑江超

计算机基础与 Visual Basic 程序设计(第三版)

• 12 •

在描述计算机存储容量时,常用的存储单位 KB、MB、GB、TB 的前缀含义如表 1-2所示。

表 1-2 计算机存储容量的常用单位

前缀 前缀的含义 单位 单位的含义

Kilo- 1 000 K 210=1 024

Mega- 1 000 000 M 220=1 048 576

Giga- 1 000 000 000 G 230=1 073 741 824

Tera- 1 000 000 000 000 T 240=1 099 511 627 776

1.3 习 题

一、选择题

1. 计算机硬件系统包括( )。 A) 内存储器和外部设备 B) 显示器、主机箱、键盘 C) 主机和外部设备 D) 主机和打印机

2. 计算机软件系统应包括( )。 A) 操作系统和语言处理程序 B) 数据库软件和管理软件 C) 程序和数据 D) 系统软件和应用软件

3. 系统软件中最重要的是( )。 A) 解释程序 B) 操作系统 C) 数据库管理系统 D) 工具软件

4. 将高级语言翻译成机器语言的方式有两种,分别是( )。 A) 解释和编译 B) 文字处理和图形处理 C) 图像处理和翻译 D) 语音处理和文字编辑

5. “程序存储思想”是( )提出来的。 A) 丹尼尔·里奇 B) 冯·诺依曼 C) 贝尔 D) 马丁·理查德

6. 已知字符“8”的 ASCII 码是 56,则字符“5”的 ASCII 码是( )。 A) 52 B) 53 C) 54 D) 55

7. 1KB 表示( )。 A) 1024 位 B) 1000 位 C) 1000 字节 D) 1024 字节