《问题求解与程式设计习题解答和实验指导》是2015年清华大学出版社出版的图书,图书作者是鲍春波 林芳 谢丽聪。
基本介绍
- 书名:问题求解与程式设计习题解答和实验指导
- 作者:鲍春波 林芳 谢丽聪
- 出版社:清华大学出版社
- 出版时间:2015年
基本信息
作者:鲍春波 林芳 谢丽聪
定价:39元
印次:1-1
ISBN:9787302402664
出版日期:2015.09.01
印刷日期:2015.08.18
定价:39元
印次:1-1
ISBN:9787302402664
出版日期:2015.09.01
印刷日期:2015.08.18
内容简介
本书是与主教材《问题求解与程式设计》配套使用的习题解答和实验指导,包括5个部分。第一部分是教材各章的概念填空题目和全部线上评测题目的参考答案,每个线上评测题目的求解均与教材的风格一致,按照分析设计实现的框架展开。第二部分是实验指导,详细介绍了程式设计的命令行环境、集成环境的搭建方法,以及vi编辑器、Emacs编辑器的使用方法。特别介绍了如何用gcc编译器和grx图形库(与Turbo C图形库兼容)进行图形程式设计。第三部分是实验,包括精心设计的10个实验,每个实验对应主教材的一章。第四部分是实验解答,包括每个实验中程式基础练习的答案、程式改错题目的错误原因分析。第五部分是课程设计的具体要求和内容安排,因材施教,有针对性地安排了两种课程设计方案。
目录结构
第一部分习题解答
概念填空/3
1计算机与程式设计/3
2程式设计入门/3
3选择程式设计/3
4循环程式设计/3
5模组化程式设计/4
6数组程式设计/4
7指针程式设计/4
8结构程式设计/4
9档案程式设计/4
10低级程式设计/4线上评测/5
1计算机与程式设计/5
2程式设计入门/5
2.1Hello/5
2.2输出图案/5
2.3简单的整数运算/6
2.4计算二次多项式的值/7
2.5硬币兑换问题/8
2.6分离3位整数的每一位/9
2.7简单的浮点运算/10
2.8存款利息计算/10
2.9平均成绩计算/11
2.10二进制数转换为十进制数/12
3选择程式设计/13
3.1奇偶判断/13
3.2求两个整数的最大值/13
3.3比较两个整数的大小/14
3.4分段函式求值/15
3.5回文判断/163.6字元判断/16
3.7计算一个整数的位数/18
3.8选择时间段/19
3.9求三个整数的最大值/20
3.10三个整数排序/21
4循环程式设计/22
4.1求10个整数的最大值和最小值/22
4.2求任意多个整数的最大值和最小值/23
4.3求奇数自然数之和/24
4.4计算a+aa+aaa+…的值/25
4.5求任意多个正整数之和/26
4.6近似计算/27
4.7列印上三角的99乘法表/28
4.8列印菱形图案/29
4.9求最大公约数/30
4.10求水仙花数/31
4.11求π的近似值/32
4.12列出完数/33
4.13猴子吃桃问题/34
5模组化程式设计/35
5.1求和函式/35
5.2阶乘计算函式/37
5.3温度转换函式/38
5.4数字字元判断函式/39
5.5判断两个实数是否相等的函式/40
5.6自定义的输出格式函式/41
5.7牛顿法求一个数的平方根函式/42
5.8计算两个整数的最大公约数函式/43
5.9递归计算两个数的最大公约数函式/44
5.10递归计算正整数n的k次幂函式/45
5.11用递归把一个整数转换为字元串/47
6数组程式设计/48
6.1把一组数据逆序/48
6.2求一组数据的最大值/49
6.3一组数据的逆序函式/50
6.4一组数据的最大值函式/51
6.5向一组数据首插入一个数据/52
6.6插入排序/53
6.7比赛评分/54
6.8递归倒置一个字元串/55
6.9统计单词数/58
6.10单词排序/59
6.11杨辉三角(二维数组)/61
6.12矩阵加法/62
6.13把一个字元串的字元之间插入空格/64
6.14字元串连线函式/65
7指针程式设计/66
7.1用指针间接访问变数/66
7.2用指针访问一维数组/67
7.3用指针访问字元串/68
7.4用列指针访问二维数组/69
7.5用行指针访问二维数组/70
7.6用指针调用函式/71
7.7用指针作为函式的参数/73
7.8用指向二维数组的列指针作为函式的
参数/75
7.9用指向二维数组的行指针作为函式的
参数/76
7.10字元串逆置函式的指针版(非递归)/78
7.11动态创建一维数组——求最大值索引的
函式/79
7.12动态创建二维数组——矩阵转置函式/80
7.13字元串比较/82
7.14学生姓名排序/85
8结构程式设计/87
8.1计算平面上的点之间的距离/87
8.2计算任意多个平面上的点之间的距离/88
8.3平面上的点静态连结/90
8.4平面上的点动态连结/91
8.5约瑟夫环/94
8.6比赛报名管理/97
8.7个人财务管理/100
8.8通讯录管理/103
8.9複数运算/108
8.10输出某一天是星期几/110
9档案程式设计/112
9.1档案版的平面上点之间的距离/112
9.2档案版的最大最小值/114
9.3档案版的求学生成绩平均值/115
9.4二进制数据档案的建立和载入/117
9.5结构数据档案的建立和载入/119
9.6档案记录的修改和更新/121
9.7在档案中查找某个记录信息/123
9.8在档案中插入一条记录/126
9.9删除档案中的某一条记录/128
9.10把档案中的数据记录排序/130
10低级程式设计/134
10.1按位列印无符号整数/134
10.2判断给定的整数是不是2的整数
次幂/135
10.3把字元包装到无符号整型变数中/136
10.4把包装到无符号整型变数中的字元解
包装/138
10.5用位段表示扑克牌信息/141
第二部分实验指导
1命令行实验环境的建立/147
1.1软体下载与安装/147
1.1.1MinGW/147
1.1.2TDMG++/148
1.2在命令行使用gcc编译器/148
1.2.1分步生成hello.exe/148
1.2.2一步生成hello.exe/149
1.3make命令和makefile档案/1502集成开发环境的建立/152
2.1Code∷Blocks/152
2.1.1Code∷Blocks的基本用法/153
2.1.2建立一个工程/153
2.1.3构造自己的库/155
2.2其他集成环境/160
2.2.1DevC++/160
2.2.2RHIDE/161
2.2.3TurboC/C++和WinTC/161
2.2.4VisualC++/162
2.2.5EclipseCDT/1633编辑器/165
3.1vi编辑器/165
3.1.1vim的启动和退出/165
3.1.2在vim/gvim中移动游标/167
3.1.3开始编辑/168
3.1.4使用ex模式的命令行/168
3.1.5在vim中执行外部命令/171
3.1.6可视模式/171
3.2Emacs编辑器/171
3.2.1Emacs简介/171
3.2.2Emacs软体下载和安装/172
3.2.3Emacs配置/172
3.2.4Emacs的基本用法/1744程式测试与调试/176
4.1程式的错误类型/176
4.1.1编译连结错误/176
4.1.2运行错误/176
4.1.3逻辑错误/177
4.2程式排错/177
4.2.1使用调试器调试/178
4.2.2不使用调试器调试/182
4.3程式测试/1835GRX图形库介绍/185
5.1生成GRX图形库/185
5.2GRX图形程式设计/187
5.2.1GRX的HelloWorld!/187
5.2.2编译运行GRXHello程式/188
5.2.3GRX基本绘图函式/189
5.2.4用GRX库编译TurboC图形
程式/207
第三部分实验
1实验準备/219
1.1实验目的/219
1.2实验内容/219
1.2.1熟悉课程网站/219
1.2.2英文打字练习/219
1.2.3命令练习/219
1.2.4编辑练习/220
1.2.5编译练习/2202程式设计入门实验/223
2.1实验目的/223
2.2实验内容/223
2.2.1程式基础练习/223
2.2.2程式改错/224
2.2.3问题求解/2253选择程式设计实验/226
3.1实验目的/226
3.2实验内容/226
3.2.1程式基础练习/226
3.2.2程式改错/227
3.2.3问题求解/2284循环程式设计实验/230
4.1实验目的/230
4.2实验内容/230
4.2.1程式基础练习/230
4.2.2程式改错/233
4.2.3问题求解/2345函式程式设计实验/236
5.1实验目的/236
5.2实验内容/236
5.2.1程式基础练习/236
5.2.2程式改错/238
5.2.3问题求解/2406数组程式设计实验/242
6.1实验目的/242
6.2实验内容/242
6.2.1程式基础练习/242
6.2.2程式改错/244
6.2.3问题求解/2467指针程式设计实验/247
7.1实验目的/247
7.2实验内容/247
7.2.1程式基础练习/247
7.2.2程式改错/249
7.2.3问题求解/2518结构程式设计实验/252
8.1实验目的/252
8.2实验内容/252
8.2.1程式基础练习/252
8.2.2程式改错/254
8.2.3问题求解/2559档案程式设计实验/257
9.1实验目的/257
9.2实验内容/257
9.2.1程式基础练习/257
9.2.2程式改错/258
9.2.3问题求解/25910低级程式设计实验/261
10.1实验目的/261
10.2实验内容/261
10.2.1程式基础练习/261
10.2.2程式改错/262
10.2.3问题求解/264
第四部分实验解答
1实验準备/2672程式设计入门实验/268
2.1程式基础练习/268
2.2程式改错/2683选择程式设计实验/271
3.1程式基础练习/271
3.2程式改错/2714循环程式设计实验/274
4.1程式基础练习/274
4.2程式改错/2765函式程式设计实验/280
5.1程式基础练习/280
5.2程式改错/2816数组程式设计实验/285
6.1程式基础练习/285
6.2程式改错/2877指针程式设计实验/290
7.1程式基础练习/290
7.2程式改错/2918结构程式设计实验/294
8.1程式基础练习/294
8.2程式改错/2979档案程式设计实验/300
9.1程式基础练习/300
9.2程式改错/30010低级程式设计实验/304
10.1程式基础练习/304
10.2程式改错/305关于实验报告/307
第五部分课程设计
1课程设计的目的/311
2课程设计的基本要求/312
3课程设计的基本内容/314
3.1A组题目/314
3.2B组题目/315
4课程设计报告格式/318
5学时安排/320
6考核方式与评分标準/321
附录/322
OnlineJudge简介/322
Moodle简介/323
2.3.1真值与机器码/33
2.3.2原码錶示/34
2.3.3反码錶示/35
2.3.4补码錶示/36
2.3.5移码錶示/37
2.3.6原码、反码和补码之间的转换/38
2.4二十进制编码/39
2.4.18421码/39
2.4.2余3码/39
2.4.32421码/40
2.5计算机中非数值数据的表示/40
2.5.1ASCII码/40
2.5.2Unicode码/44
2.5.3汉字国标码GB2312—80/46
2.5.4汉字点阵显示/47
2.5.5校验码/49
2.6高级数据表示/51
2.6.1自定义数据表示/51
2.6.2向量数组数据表示/52
2.6.3堆叠数据表示/53
2.6.4引入数据表示的原则/53
2.7课后习题/58
课后习题答案/58
第3章数字逻辑基础/60
3.1数位讯号基础/60
3.1.1电源电压/60
3.1.2逻辑电平/60
3.1.3噪声容限/61
3.1.4直流电压传输特性/61
3.1.5静态约束/62
3.2半导体基础/63
3.2.1半导体/63
3.2.2二极体/64
3.2.3电容/64
3.2.4MOS电晶体/64
3.3布尔表达式/67
3.3.1术语/67
3.3.2与或式/67
3.3.3或与式/68
3.4布尔代数/69
3.4.1公理/69
3.4.2单变数定理/69
3.4.3多变数定理/71
3.4.4定理的统一证明方法/72
3.4.5等式化简/72
3.5卡诺图化简法/73
3.5.1卡诺图的构成/73
3.5.2布尔函式在卡诺图上的表示/74
3.5.3卡诺图的性质/75
3.5.4卡诺图化简的基本步骤/75
3.6列表化简法/77
3.6.1用列表法确定布尔函式的所有
质蕴涵项/77
3.6.2用质蕴涵表确定必要质蕴涵/78
3.6.3求函式的最小覆盖/79
3.7逻辑门电路基础/82
3.7.1与门/82
3.7.2或门/83
3.7.3非门/85
3.7.4与非门/86
3.7.5或非门/87
3.7.6与或非门/88
3.8组合逻辑网路的分析设计与举例/88
3.8.1组合网路的分析/88
3.8.2组合网路的设计/89
3.8.3二进制运算电路的逻辑设计/91
3.8.4十进制逻辑电路的设计/94
3.9触发器/97
3.9.1RS触发器/97
3.9.2JK触发器/99
3.9.3D触发器/100
3.9.4T触发器/102
3.10同步时序电路的分析及设计举例/103
3.10.1概述/103
3.10.2状态约束/104
3.10.3系统时序/104
3.10.4时钟偏移/106
3.10.5亚稳态/108
3.10.6同步器/109
3.10.7同步时序电路的设计举例/110
3.11异步时序电路的分析及设计举例/114
3.11.1概述/114
3.11.2异步时序流程表的建立与
简化/117
3.11.3流程表的状态分配/119
3.11.4异步时序电路的设计举例/122
3.12课后习题/128
课后习题答案/131
第4章运算方法与运算器/136
4.1数的定点与浮点表示/136
4.1.1定点表示/136
4.1.2浮点表示/137
4.2定点加减法运算/141
4.2.1补码加法运算/141
4.2.2补码减法运算/143
4.2.3溢出及其检测方法/144
4.3定点乘法运算/145
4.3.1原码一位乘法/145
4.3.2原码两位乘法/146
4.3.3补码一位乘法/148
4.3.4补码两位乘法/149
4.3.5阵列乘法器/150
4.4定点数除法运算/153
4.4.1原码和补码除法中的加减交
替法/153
4.4.2原码两位除法/156
4.4.3阵列除法器/158
4.5浮点算术运算/160
4.5.1浮点加法和减法/160
4.5.2浮点乘法运算/162
4.5.3浮点除法运算/162
4.6运算器电路/162
4.6.1加法器/162
4.6.2减法器/165
4.6.3比较器/166
4.6.4算术逻辑单元/166
4.6.5移位器和循环移位器/168
4.774LS181运算器/169
4.7.174LS181算术逻辑单元的
工作原理/169
4.7.274LS181功能测试/171
4.8课后习题/172
课后习题答案/172
第5章指令与指令系统/174
5.1指令系统的发展/174
5.2指令系统/175
5.2.1指令系统的介绍/175
5.2.2指令的分类/175
5.3指令格式/176
5.3.1零地址指令/176
5.3.2单指令地址/177
5.3.3双地址指令/177
5.3.4三地址指令/177
5.3.5多地址指令/177
5.4定址方式/178
5.4.1立即数定址/178
5.4.2暂存器定址/178
5.4.3直接定址/179
5.4.4间接定址/179
5.4.5变址定址/180
5.4.6相对定址/181
5.5複杂指令系统和精简指令系统/182
5.5.1複杂指令系统/182
5.5.2精简指令系统/182
5.6指令集结构的功能设计/183
5.6.1CISC指令集结构的功能设计/183
5.6.2RISC指令集结构的功能设计/185
5.6.3控制指令功能设计/186
5.7运算元的类型、表示和大小/189
5.7.1运算元的类型/189
5.7.2运算元的表示和大小/189
5.8指令集格式的设计/190
5.8.1定址方式的表示方法/191
5.8.2指令集格式的选择/191
5.8.3操作码的最佳化设计/192
5.8.4地址码的最佳化设计/193
5.9处理器的指令周期/194
5.9.1指令周期/194
5.9.2非访内指令的指令周期/195
5.9.3访内指令的指令周期/197
5.9.4间接访问主存储器指令的指令
周期/198
5.9.5程式控制指令的指令周期/199
5.9.6用框图语言表示指令周期/202
5.10ARM指令集结构/203
5.10.1DLX中的暂存器/203
5.10.2ARM的模式/204
5.10.3ARM的指令格式/204
5.10.4ARM的载入/存储/206
5.10.5数据处理指令/207
5.10.6分支和跳转操作/208
5.10.7ARM支持协处理器操作/209
5.10.8ARM杂项指令/209
5.10.9ARM的伪指令/210
5.10.10RISC体系结构与ARM的
性能优势/210
5.10.11RISC体系结构的优势/211
5.10.12体系结构的性能优势/211
5.11RISC指令并行处理/212
5.11.1指令级并行概念/212
5.11.2实现指令集并行处理的
技术/213
5.12课后习题/214
课后习题答案/215
第6章控制器及性能提高/219
6.1控制器的构成/219
6.1.1中央处理器的功能与组成/219
6.1.2控制器的功能及结构框图/223
6.1.3控制方式及时序部件/226
6.1.4中断系统/231
6.2微操作命令分析/233
6.2.1取指周期/233
6.2.2间访周期/233
6.2.3执行周期/233
6.2.4中断周期/235
6.3指令的执行过程/236
6.3.1顺序控制/236
6.3.2超前控制/237
6.3.3流水线控制/238
6.4流水线技术/239
6.4.1流水线的基本概念/239
6.4.2流水线的分类/241
6.4.3流水线中的相关/243
6.5RISC处理器的指令流水线/260
6.5.1ARM7流水线技术/261
6.5.2ARM9流水线技术/261
6.5.3ARM11流水线技术/262
6.6流水线性能分析/263
6.6.1线性流水线的性能分析/263
6.6.2线性流水线的性能分析举例/268
6.6.3非线性流水线的调度技术
简介/269
6.7超标量体系结构/271
6.7.1简单超标量/272
6.7.2多传送超标量/273
6.7.3超标量性能/274
6.8分支预测/275
6.8.1分支预测的必要性/275
6.8.2单T位预测器/276
6.8.3双位预测器/278
6.8.4计数器、移位器和预测器/279
6.8.5局部分支预测器/280
6.8.6全局分支预测器/282
6.8.7G选择预测器/284
6.8.8G共享预测器/285
6.8.9混合预测器/286
6.8.10分支目标缓冲/287
6.9微程式控制器/289
6.9.1微程式控制原理/289
6.9.2微程式设计技术/289
6.10硬布线控制器/293
6.10.1基本思想/293
6.10.2硬布线控制逻辑设计中的
若干问题/294
6.10.3硬布线控制器和微程式
控制器的比较/295
6.11课后习题/296
课后习题答案/297
第7章存储系统/300
7.1存储系统的层次结构/300
7.2主存储器/301
7.2.1主存储器的分类/301
7.2.2读/写存储器/303
7.2.3非易失性半导体存储器/307
7.3主存储器组成/309
7.3.1位扩展/309
7.3.2字扩展/310
7.3.3字位扩展/311
7.4相联存储器/312
7.5高速缓冲存储器/314
7.5.1高速缓冲存储器概述/314
7.5.2映像规则/319
7.5.3查找方法/321
7.5.4替换算法/322
7.5.5写策略/323
7.5.6高速缓冲暂存器的结构/325
7.5.7高速缓冲存储器的性能分析/327
7.5.8高速缓冲存储器的性能改进/331
7.6降低cache失效率的方法/331
7.6.1增加cache块大小/334
7.6.2提高相联度/336
7.6.3Victim cache/337
7.6.4伪相联cache/338
7.6.5硬体预取技术/339
7.6.6由编译器控制的预取/340
7.6.7编译器最佳化/342
7.7减少cache失效开销/346
7.7.1让读失效优先于写/346
7.7.2子块放置技术/346
7.7.3请求字处理技术/347
7.7.4非阻塞cache技术/348
7.7.5採用两级cache/349
7.8减少命中时间/352
7.8.1容量小、结构简单的cache/352
7.8.2虚拟cache/353
7.8.3写操作流水化/355
7.8.4cache最佳化技术总结/355
7.9外部存储设备/356
7.9.1磁碟设备/356
7.9.2Flash存储器/360
7.9.3磁带设备/361
7.9.4光碟设备/362
7.10廉价磁碟冗余阵列/363
7.10.1RAID0/364
7.10.2RAID1/366
7.10.3RAID2/367
7.10.4RAID3/368
7.10.5RAID4/369
7.10.6RAID5/370
7.10.7RAID6/371
7.10.8RAID7/371
7.10.9RAID的实现与发展/372
7.11虚拟存储器/373
7.11.1虚拟存储器基本原理/373
7.11.2页式虚拟存储器/374
7.11.3段式虚拟存储器/377
7.11.4快表/378
7.12进程保护和虚存实例/381
7.12.1进程保护/382
7.12.2ARM的段页式存储结构/383
7.13课后习题/386
课后习题答案/387
第8章输入/输出系统与汇流排/391
8.1引言/391
8.1.1I/O设备的编址与I/O接口
的基本功能/391
8.1.2I/O设备数据传送方式/393
8.1.3I/O系统性能与CPU的性能/394
8.1.4I/O系统的可靠性/395
8.2可靠性、可用性和可信性/396
8.3汇流排系统/397
8.3.1普林斯顿体系与哈佛体系/397
8.3.2汇流排分类/399
8.3.3汇流排操作/400
8.3.4常用的系统汇流排/406
8.4I/O系统性能分析/422
8.4.1I/O性能与系统回响时间/422
8.4.2Little定律/425
8.4.3M/M/1排队系统/425
8.4.4M/M/m排队系统/427
8.5I/O与作业系统/429
8.5.1DMA和虚拟存储器/429
8.5.2I/O和cache数据一致性/430
8.5.3异步I/O/431
8.5.4块伺服器和档案伺服器/432
8.6小结/432
附录A嵌入式计算机上的无线技术/433
8.7课后习题/442
课后习题答案/444
第9章并行处理机与多处理机/449
9.1引言/449
9.1.1并行性/449
9.1.2并行计算机体系结构的分类/450
9.1.3SISD向MIMD的演变/450
9.1.4并行处理面临的挑战/452
9.2并行处理机结构与特点/454
9.2.1并行处理机的典型结构/454
9.2.2并行处理机的特点/455
9.3并行计算机基本结构/456
9.3.1Illiac Ⅳ计算机/456
9.3.2Burroughs BSP计算机/461
9.3.3CM2计算机/465
9.4互连网路的基本概念/468
9.4.1互连网路在计算机系统中的
作用/468
9.4.2主要特性和性能参数/469
9.4.3互连函式/471
9.4.4互连网路的种类/475
9.5互连网路/476
9.5.1互连网路的性能参数/477
9.5.2静态连线网路/479
9.5.3动态连线网路/483
9.6多处理机系统结构与特点/487
9.6.1基本结构/487
9.6.2多处理机系统特点/488
9.7多处理机cache一致性问题/490
9.7.1多处理机cache一致性/490
9.7.2实现一致性的基本方案/491
9.7.3监听协定及其实现/493
9.7.4分散式共享存储器体系结构/494
9.7.5基于目录的cache一致性/495
9.7.6目录协定及其实现/496
9.8同步/498
9.8.1基本硬体原语/498
9.8.2用一致性实现锁/499
9.8.3同步性能问题/501
9.8.4大规模机器的同步/503
9.9同时多执行绪/506
9.9.1将执行绪级并行转换为指令级
并行/507
9.9.2同时多执行绪处理器的设计/508
9.9.3同时多执行绪的性能/509
9.10先进的并行处理与多处理机介绍/511
9.10.1格线计算机/511
9.10.2云计算/513
9.10.3集群机/516
9.11小结/517
9.12课后习题/518
课后习题答案/519
第10章虚拟化技术原理/523
10.1概述/523
10.1.1虚拟化/523
10.1.2虚拟机/523
10.1.3全虚拟化和单虚拟化/524
10.1.4硬体虚拟化概况/524
10.2处理器虚拟化原理精要/526
10.2.1体系结构背景/526
10.2.2经典的虚拟化方法/527
10.2.3x86 ISA分析/527
10.2.4x86虚拟化方法/528
10.2.5其他体系结构分析/531
10.2.6其他体系所採用的虚拟化
方法/531
10.3记忆体虚拟化原理精要/531
10.3.1概述/531
10.3.2页表虚拟化基本思想/532
10.3.3页表虚拟化实现/533
10.4I/O虚拟化原理精要/534
10.4.1全虚拟化/534
10.4.2半虚拟化/534
10.4.3软体模拟/536
10.5VMM结构/537
10.5.1概述/537
10.5.2宿主模型/537
10.5.3Hypervisor模型/538
10.5.4混合模型/538
10.6课后习题/539
课后习题答案/539第1章Visual Basic.NET简介1
1.1Visual Basic.NET简介1
1.1.1Visual Basic.NET的历史1
1.1.2Visual Basic.NET的特点1
1.2.NET框架概述2
1.3Visual Studio.NET集成开发环境4
1.3.1选单栏4
1.3.2工具列5
1.3.3窗体设计器6
1.3.4工具箱7
1.3.5属性视窗8
1.3.6解决方案资源管理器9
1.3.7代码编辑器9
1.3.8输出视窗9
1.3.9错误列表视窗10
1.3.10My Project视窗10
1.3.11类视图视窗11
1.3.12引用视窗11
1.4面向对象程式设计的基本概念12
1.4.1类与对象12
1.4.2对象的属性12
1.4.3对象的方法13
1.4.4对象的事件与事件过程13
1.5Visual Basic.NET 3种应用程式结构14
1.5.1Visual Basic.NET编写控制台套用
程式14
1.5.2Visual Basic.NET编写Windows
应用程式16
1.5.3Visual Basic.NET编写ASP.NET
Web应用程式17
1.6习题19
1.6.1选择题19
1.6.2填空题20
1.6.3判断题20
1.6.4简答题20
第2章Visual Basic.NET编程基础21
2.1数据类型和表达式21
2.1.1数据类型21
2.1.2常量22
2.1.3变数23
2.1.4运算符24
2.1.5表达式28
2.2顺序结构29
2.3选择结构30
2.3.1单行结构条件语句30
2.3.2块结构条件语句31
2.3.3多分支结构34
2.4循环结构36
2.4.1While当循环控制结构37
2.4.2For…Next循环控制结构38
2.4.3Do循环控制结构40
2.4.4循环结构语句的比较43
2.4.5循环结构嵌套43
2.5数组45
2.5.1声明数组45
2.5.2数组的初始化47
2.5.3For Each…Next语句48
2.5.4数组的套用49
2.5.5调整数组大小53
2.5.6ArrayList类53
2.6过程55
2.6.1Sub过程55
2.6.2Function过程57
2.6.3参数的值传递和引用传递59
2.6.4过程的嵌套调用与递归调用60
2.6.5常用内部函式62
2.7习题65
2.7.1选择题65
2.7.2填空题66
2.7.3简答题67
2.7.4阅读程式写出运行结果67
2.7.5编程题68
第3章Visual Basic.NET面向对象程式设计70
3.1面向对象程式设计的基本特性70
3.2类和对象的定义 71
3.2.1类的定义71
3.2.2类中数据成员的定义 74
3.2.3类中方法的定义74
3.2.4对象的定义及成员访问76
3.2.5类中属性的定义及使用78
3.2.6类中事件的定义及使用81
3.2.7构造函式和析构函式85
3.3类的继承与派生 86
3.3.1基类和派生类87
3.3.2派生类的构造函式89
3.4类的多态性 91
3.4.1重载与重写91
3.4.2多态性及其实现93
3.5接口94
3.6委託97
3.7Visual Basic.NET常用类100
3.7.1Console类100
3.7.2Math类100
3.7.3Convert类101
3.7.4String类101
3.7.5与窗体应用程式相关的类 102
3.8命名空间103
3.8.1声明命名空间103
3.8.2导入命名空间104
3.8.3常用命名空间104
3.9综合套用105
3.10习题108
3.10.1选择题108
3.10.2填空题108
3.10.3编程题109
第4章Visual Basic.NET控制项及其套用110
4.1控制项共有的基本操作110
4.1.1控制项常用属性和事件110
4.1.2控制项的锚定和停靠111
4.2标籤和文本框控制项112
4.2.1标籤112
4.2.2文本框113
4.2.3只能输入数字文本框114
4.2.4创建口令文本框115
4.2.5只读文本框115
4.3单选按钮套用——模拟单项选择题测试115
4.3.1常用属性和事件115
4.3.2实例开发115
4.4複选框套用——模拟多项选择题测试118
4.4.1常用属性和事件118
4.4.2实例开发118
4.4.3窗体中多页显示效果实现技巧121
4.5列表框套用——小学生做加减法的
算术练习程式121
4.5.1常用属性和事件121
4.5.2实例开发122
4.5.3Random类的使用124
4.5.4关于随机System.Random类随机
数方法Next的套用技巧125
4.6组合框套用——国家名选择126
4.6.1常用属性和事件126
4.6.2实例开发127
4.7Timer控制项用法——飘动窗体128
4.7.1常用属性和事件129
4.7.2实例开发129
4.8图片框套用——图片自动浏览器130
4.8.1常用属性和事件130
4.8.2实例开发131
4.8.3图片的缩放技巧133
4.9利用滚动条控制项调配颜色134
4.9.1滚动条的属性和事件135
4.9.2实例开发135
4.10TreeView控制项和ListView控制项——
学校系部分层列表137
4.10.1TreeView控制项137
4.10.2实例开发139
4.10.3ListView控制项141
4.10.4实例开发141
4.11选单使用143
4.11.1创建主选单143
4.11.2实例开发144
4.11.3上下文选单145
4.11.4实例开发145
4.12对话框控制项套用——自己的记事本145
4.12.1打开档案对话框控制项145
4.12.2保存档案对话框控制项147
4.12.3颜色对话框控制项147
4.12.4字型对话框控制项148
4.12.5PrintDialog控制项和PrintDocument
控制项148
4.12.6对话框控制项套用实例开发149
4.13实现控制项数组的功能——计算器设计152
4.13.1一个过程处理多个控制项的事件
153
4.13.2控制项数组的建立154
4.13.3实例开发154
4.14习题157
4.14.1选择题157
4.14.2填空题158
4.14.3编程题158
第5章图形图像编程160
5.1图形图像绘製基础知识160
5.1.1GDI+概述160
5.1.2Graphics类161
5.1.3坐标162
5.1.4Paint事件162
5.2绘製基本图形163
5.2.1创建画笔163
5.2.2绘製直线164
5.2.3绘製矩形165
5.2.4绘製多边形166
5.2.5绘製曲线166
5.2.6绘製椭圆和弧线167
5.3创建画刷填充图形168
5.4图像处理171
5.4.1显示图像171
5.4.2图像的平移、旋转和缩放173
5.4.3彩色图像变换灰度图像173
5.5文字处理175
5.5.1创建字型176
5.5.2格式化输出文本176
5.6五子棋游戏设计177
5.7人物拼图游戏设计181
5.8习题187
5.8.1选择题187
5.8.2填空题187
5.8.3编程题188
第6章档案处理和系统操作189
6.1资料夹和档案管理189
6.1.1System.IO命名空间189
6.1.2目录(资料夹)管理189
6.1.3档案管理193
6.1.4资料夹浏览器实现196
6.2档案的读写199
6.2.1FileStream类读写档案200
6.2.2文本档案的读写204
6.2.3二进制档案的读写210
6.3处理滑鼠和键盘事件215
6.3.1处理滑鼠相关的事件215
6.3.2处理键盘相关的事件217
6.4习题220
6.4.1选择题220
6.4.2填空题220
6.4.3编程题221
第7章资料库套用222
7.1资料库的基本概念222
7.1.1关係资料库与二维表222
7.1.2关係资料库的有关概念223
7.1.3关係资料库的操作224
7.2ADO.NET简介226
7.2.1ADO.NET体系结构226
7.2.2.NET Data Provider227
7.2.3DataSet对象228
7.2.4ADO.NET相关类的命名空间228
7.2.5ADO.NET的在线上与脱机数据
存取模式230
7.3ADO.NET对象及其编程230
7.3.1使用Connection对象连线数据源
230
7.3.2使用Command对象执行资料库
操作232
7.3.3使用DataReader对象233
7.3.4使用DataAdapter对象235
7.3.5使用DataSet对象237
7.3.6数据绑定241
7.4资料库中的图像存取245
7.4.1资料库中的图像存取方法245
7.4.2资料库中的图像存取示例245
7.5图书管理案例250
7.6习题255
7.6.1选择题255
7.6.2填空题256
7.6.3简答题256
7.6.4编程题257
第8章Web应用程式开发258
8.1什幺是ASP.NET258
8.1.1ASP.NET页面的结构258
8.1.2ASP.NET网页代码模型259
8.1.3编译和部署260
8.1.4ASP.NET常用内置对象260
8.2ASP.NET控制项264
8.2.1ASP.NET控制项概述264
8.2.2HTML伺服器控制项265
8.2.3Web伺服器控制项267
8.2.4Button、ImageButton和LinkButton
控制项268
8.2.5Image控制项和ImageMap控制项270
8.2.6文本输入控制项272
8.2.7複选框和单选按钮274
8.2.8AdRotator控制项277
8.2.9Calendar控制项278
8.2.10PlaceHolder控制项280
8.2.11视图控制项282
8.2.12验证控制项285
8.3资料库操作289
8.3.1基于数据源的数据绑定289
8.3.2数据源组件292
8.3.3GridView控制项295
8.3.4实例开发300
8.4习题303
8.4.1填空题303
8.4.2简答题303
8.4.3编程题303
第9章网路程式开发304
9.1网路通信编程基础304
9.1.1Socket套接字简介304
9.1.2TCP和UDP304
9.1.3Socket编程原理305
9.1.4套接字Socket类编程306
9.1.5.NET框架中网路通信的套用
层类311
9.2使用TcpClient类和TcpListener 类
实现TCP通信312
9.2.1数据流类312
9.2.2TcpClient类和TcpListener类313
9.2.3实现基于TCP的区域网路通信
程式316
9.3使用UdpClient类实现UDP编程324
9.3.1UdpClient类325
9.3.2UdpClient类开发UDP程式的
过程326
9.4基于UDP的P2P网路中国象棋327
9.4.1P2P知识327
9.4.2两人对战网路中国象棋设计327
9.4.3两人对战网路中国象棋具体实现
335
9.5习题351
9.5.1填空题351
9.5.2简答题351
9.5.3编程题351
第10章My命名空间352
10.1My命名空间概述352
10.2My.Application353
10.3My.Computer355
10.3.1My.Computer.Audio355
10.3.2My.Computer.Clipboard355
10.3.3My.Computer.Clock355
10.3.4My.Computer.FileSystem355
10.3.5My.Computer.Info356
10.3.6My.Computer.Network357
10.3.7My.Computer.Printers357
10.3.8My.Computer.Registry357
10.3.9My.Computer.Screen358
10.4My.Resources358
10.5My.User360
10.6My.Forms361
10.7My.WebServices362
10.8My.Settings362
10.8.1My.Settings的用途362
10.8.2添加和删除应用程式设定362
10.9My命名空间的扩展365
10.9.1添加自定义的类或模组365
10.9.2扩展My.Application或
My.Computer366
10.10习题366
10.10.1填空题366
10.10.2简答题367
附录AASCII码錶368
附录B程式调试370
附录CVB 6.0与VB.NET的区别374
参考文献380
第3章数字逻辑电路及其在计算机中的套用38
3.1基本概念38
3.1.1最小项38
3.1.2最小项的性质38
3.1.3最小项表达式39
3.2逻辑函式的卡诺图化简法40
3.2.1卡诺图40
3.2.2卡诺图的编号41
3.2.3用卡诺图化简逻辑函式42
3.3不完全规定的逻辑函式及其化简方法44
3.3.1无关最小项的概念44
3.3.2利用无关最小项化简逻辑函式45
3.4组合逻辑电路的分析与设计46
3.4.1组合逻辑电路的分析46
3.4.2组合逻辑电路的设计47
3.5计算机中常用的组合逻辑部件49
3.5.1加法器49
3.5.2解码器50
3.5.3编码器51
3.5.4多路选择器52
3.5.5多路分配器53
3.6时序电路的基本单元触发器55
3.6.1RS触发器55
3.6.2触发器外部逻辑特性的描述58
3.6.3维阻D触发器59
3.6.4主从JK触发器60
3.6.5T触发器60
3.6.6触发器的时间参数61
3.6.7触发器的激励表62
3.7计算机中常用的时序逻辑部件63
3.7.1暂存器63
3.7.2计数器66
习题369
第4章硬体描述语言VHDL基础72
4.1VHDL概述72
4.2VHDL程式的基本结构73
4.2.1VHDL程式示例73
4.2.2实体74
4.2.3结构体76
4.2.4库、包集合及配置76
4.3VHDL语法基础78
4.3.1标识符和保留字78
4.3.2数据对象79
4.3.3数据类型81
4.3.4运算操作符83
4.4VHDL的常用描述语句84
4.4.1顺序描述语句84
4.4.2并行描述语句91
4.5VHDL描述实例94
4.5.1组合逻辑电路的VHDL描述94
4.5.2时序逻辑电路的VHDL描述97
习题4102
第二部分计算机的基本结构与彙编语言程式设计
第5章计算机的基本结构与工作过程103
5.1计算机的基本结构103
5.1.1冯·诺依曼计算机基本结构103
5.1.2计算机的基本组成框图及功能部件
简介104
5.2计算机的工作流程107
5.2.1指令与程式107
5.2.2计算机的基本工作流程108
5.3计算机系统的组成110
5.3.1硬体与软体110
5.3.2计算机系统的基本组成111
5.4微型计算机的分类及主要技术指标111
5.4.1微型计算机的分类111
5.4.2微型计算机的主要技术指标112
5.5微型计算机的基本结构及系统组成113
5.5.1微型计算机基本结构114
5.5.2微型计算机的系统组成115
习题5116
第6章计算机的核心部件——微处理器117
6.1微处理器的工作模式117
6.1.1实模式117
6.1.2保护模式117
6.1.3虚拟8086模式118
6.2微处理器的编程结构118
6.2.1程式可见暂存器118
6.2.280x86/Pentium处理器的暂存器
模型118
6.3微处理器的定址机制123
6.3.1存储器分段技术123
6.3.2实模式下的存储器定址124
6.3.3堆叠127
6.4微处理器的内部组成结构及相关技术128
6.4.1汇流排接口单元BIU128
6.4.2指令cache与数据cache128
6.4.3超标量流水线结构129
6.4.4动态转移预测及转移目标缓冲器
BTB130
6.4.5指令预取器和预取缓冲器132
6.4.6指令解码器132
6.4.7执行单元EU133
6.4.8浮点处理单元FPU133
6.4.9控制单元CU133
6.5微处理器的外部引脚信号134
6.5.180386 DX的外部引脚信号概况134
6.5.2存储器/IO接口信号136
6.5.3中断接口信号138
6.5.4DMA接口信号138
6.5.5协处理器接口信号139
6.6微处理器的操作时序139
6.6.1汇流排时序基本概念139
6.6.2基本的汇流排时序142
习题6143
第7章定址方式与指令系统144
7.1定址方式144
7.1.1数据定址方式144
7.1.2转移地址定址方式149
7.2指令编码151
7.2.1指令编码格式151
7.2.2指令编码举例154
7.38086指令系统155
7.3.1数据传送指令155
7.3.2算术运算指令160
7.3.3逻辑运算与移位指令170
7.3.4串操作指令173
7.3.5转移指令176
7.3.6处理器控制指令183
7.480x86及Pentium系列指令系统184
习题7184
第8章彙编语言程式设计基础186
8.1彙编语言的特点186
8.2彙编语言程式结构和基本语法187
8.2.1示例程式187
8.2.2基本概念188
8.2.3指令语句193
8.2.4伪指令语句195
8.2.5宏指令200
8.2.6简化段定义203
8.3ROM BIOS中断调用和DOS系统功能
调用204
8.3.1ROM BIOS中断调用204
8.3.2DOS系统功能调用205
8.4彙编语言程式的上机调试205
8.4.1建立源档案206
8.4.2彙编206
8.4.3连线207
8.4.4运行207
8.4.5调试207
8.5彙编语言程式设计的基本方法208
8.5.1程式设计的基本步骤208
8.5.2程式的基本结构形式208
8.5.3子程式设计210
8.6彙编语言的编程套用213
8.6.1I/O与通信213
8.6.2声音与时钟214
8.6.3乐曲程式215
8.6.4键盘I/O218
8.6.5滑鼠器编程220
8.6.6图形显示223
8.7Windows环境下彙编语言程式设计226
8.7.1Windows API函式226
8.7.2指令集选择227
8.7.3工作模式选择227
8.7.4函式的原型定义227
8.7.5Windows应用程式的基本结构
框架228
8.7.6Win32彙编语言应用程式实例228
8.7.7MASM 32彙编与连线命令229
8.8彙编语言与高级语言的混合编程230
8.8.1内嵌彙编231
8.8.2在C程式中直接调用彙编
子程式232
8.8.3彙编语言程式调用C函式235
习题8235
第三部分存储器与I/O接口技术
第9章存储器及其接口239
9.1概述239
9.1.1存储系统的层次结构239
9.1.2记忆体储器的基本结构及其数据存储
格式241
9.2半导体存储器的结构及工作原理243
9.2.1可读写存储器RAM243
9.2.2只读存储器ROM252
9.3存储器接口258
9.3.1存储器接口中的片选控制258
9.3.2存储器接口分析与设计举例260
9.3.3双连线埠存储器261
9.4高速快取(cache)263
9.4.1cache基本原理263
9.4.2cache的组织方式265
9.4.3cache的更新方式及替换算法266
9.5虚拟存储器268
9.5.1虚拟存储器的工作原理268
9.5.280x86的虚拟存储技术270
习题9271
第10章I/O接口技术273
10.1I/O接口概述273
10.1.1I/O接口的基本功能273
10.1.2I/O接口的基本结构274
10.1.3I/O连线埠的编址方式274
10.1.4I/O接口的地址解码及片选信号
的产生276
10.1.5I/O指令277
10.2I/O控制方式277
10.2.1程式控制方式277
10.2.2中断控制方式278
10.2.3DMA方式279
10.3DMA技术280
10.3.1DMA控制器的基本功能280
10.3.2DMA控制器的一般结构281
10.3.3DMA控制器的工作方式283
10.3.4DMA工作过程283
10.3.5可程式DMA控制器8237284
10.4中断系统285
10.4.1基本概念285
10.4.280x86实模式的中断系统288
10.4.3可程式中断控制器8259A293
10.4.4中断服务程式设计294
习题10298
第11章可程式接口电路实例299
11.1可程式并行接口的组成及工作过程299
11.1.1可程式并行接口的组成及其
与CPU和外设的连线299
11.1.2可程式并行接口的数据输入输出
过程300
11.2可程式并行接口电路8255A300
11.2.18255A的性能概要300
11.2.28255A晶片引脚分配及引脚信号
说明300
11.2.38255A内部结构框图302
11.2.48255A的控制字303
11.2.58255A的工作方式304
11.2.68255A的状态字309
11.2.78255A套用举例310
11.3可程式计数器/定时器8253311
11.3.1概述312
11.3.2可程式计数器/定时器8253312
11.3.38253的套用324
习题11326
第12章D/A和A/D转换器328
12.1计算机自动控制系统中的D/A和A/D
转换328
12.2D/A转换器329
12.2.1D/A转换器的工作原理329
12.2.2D/A转换器的主要技术指标332
12.2.3D/A转换器晶片333
12.2.4D/A转换器晶片与微处理器的
接口335
12.2.5D/A转换器的套用336
12.3A/D转换器337
12.3.1基本概念337
12.3.2A/D转换器的工作原理339
12.3.3A/D转换器的主要技术指标340
12.3.4A/D转换器晶片341
12.3.5A/D转换器晶片与微处理器的
接口342
习题12345
第四部分高性能微处理器技术
第13章汇流排技术346
13.1概述346
13.1.1汇流排346
13.1.2汇流排的分类347
13.1.3汇流排标準348
13.1.4汇流排仲裁349
13.2PCI汇流排350
13.2.1概述350
13.2.2PCI汇流排的系统结构及特点350
13.3USB汇流排352
13.3.1USB概述352
13.3.2USB的拓扑结构353
13.3.3USB线缆及连线器353
13.4高速汇流排接口IEEE 1394354
习题13355
第14章高性能微处理器的先进技术及典型结构356
14.1高性能微处理器所採用的先进技术356
14.1.1指令级并行356
14.1.2超标量技术357
14.1.3超长指令字结构358
14.1.4超级流水线技术358
14.1.5RISC技术359
14.2高性能微处理器举例360
14.2.164位处理器Alpha 21064360
14.2.2Itanium处理器——IA64架构
的开放硬体平台362
14.3多核处理器简介365
14.3.1複杂单处理器结构所遇到的
挑战365
14.3.2多核处理器的出现365
14.3.3多核处理器结构的主要特点366
14.4现代PC主机板典型结构367
14.4.1晶片组、桥晶片及接口插座367
14.4.2Pentium PC主机板结构368
14.4.3Pentium 4 PC主机板的I/O组织
结构369
习题14370
附录ADOS功能调用(INT 21H)371
附录BBIOS中断调用376
附录C调试程式DEBUG的使用380
附录D部分习题参考答案384
参考文献399