目 录
第1章 程序员试题历年考试情况分析 1
1.1 上午题历年试题及考点分析 1
1.2 下午题历年试题及考点分析 2
1.2.1 2000年至2009年试题 2
1.2.2 命题方向的变化及分析 7
1.3 个人经验及应试建议 9
1.3.1 作者辅导经验 9
1.3.2 应试建议 10
1.3.3 解题方法 10
第2章 计算机科学基础 14
2.1 考纲要求与学习目标 14
2.1.1 考纲要求 14
2.1.2 学习目标 14
2.2 数制及其转换 14
2.2.1 数制的概念 14
2.2.2 数制转换 15
2.3 数据的表示 17
2.3.1 原码、反码和补码 17
2.3.2 数值数据的表示 19
2.3.3 非数值数据的表示 22
2.3.4 检错纠错码 24
2.4 算术运算和逻辑运算 27
2.4.1 算术运算 27
2.4.2 逻辑运算 28
2.5 数据结构与算法 29
2.5.1 常用数据结构 29
2.5.2 常用算法 30
2.6 本章历年例题及自我测试 31
2.6.1 历年例题分析 31
2.6.2 自我测试 48
2.6.3 测试解答 51
第3章 计算机系统基础知识 59
3.1 考纲要求与学习目标 59
3.1.1 考纲要求 59
3.1.2 学习目标 59
3.2 硬件基础知识 60
3.2.1 计算机系统概述 60
3.2.2 计算机类型 61
3.2.3 中央处理器 62
3.2.4 指令系统 62
3.2.5 主存和辅存 63
3.2.6 I/O接口和I/O设备 68
3.3 操作系统基础知识 73
3.3.1 操作系统的定义和目标 73
3.3.2 操作系统的类型和功能 74
3.3.3 处理机管理 75
3.3.4 存储管理 88
3.3.5 文件管理 95
3.3.6 设备管理 104
3.3.7 作业管理 112
3.3.8 汉字处理 117
3.4 程序设计语言基础 119
3.4.1 计算机语言概念 119
3.4.2 程序设计语言基础知识 120
3.5 网络基础知识 122
3.5.1 计算机网络概述 122
3.5.2 网络拓扑结构 123
3.5.3 ISO/OSI网络体系结构 125
3.5.4 网络互联设备 127
3.5.5 Internet 131
3.6 数据库基础知识 132
3.6.1 数据库概述 132
3.6.2 数据模型 133
3.6.3 数据库系统 133
3.6.4 关系数据库与关系运算 134
3.6.5 关系数据库SQL语言简介 139
3.6.6 数据库设计 143
3.7 多媒体基础知识 148
3.7.1 多媒体的基本概念 148
3.7.2 音频技术 148
3.7.3 图形和图像技术 150
3.7.4 动画和视频技术 155
3.8 本章历年例题及自我测试 161
3.8.1 历年例题分析 161
3.8.2 自我测试 232
3.8.3 测试解答 237
第4章 软件工程和运行维护
基础知识 250
4.1 考纲要求与学习目标 250
4.1.1 考纲要求 250
4.1.2 学习目标 250
4.2 软件工程基本概念 250
4.2.1 软件工程与项目管理基础 250
4.2.2 软件开发项目管理基础
知识 251
4.2.3 软件工具与软件开发环境 251
4.2.4 软件过程能力评估 252
4.3 面向对象技术基础 252
4.3.1 面向对象的基本概念 252
4.3.2 面向对象分析与设计
基本概念 253
4.4 系统分析与设计基础知识 254
4.4.1 系统分析概述 254
4.4.2 结构化分析方法 254
4.4.3 系统分析报告 254
4.4.4 系统设计 255
4.4.5 结构化设计方法 255
4.4.6 系统总体结构设计 256
4.4.7 系统详细设计 257
4.5 软件测试技术 257
4.5.1 人工测试 257
4.5.2 机器测试 258
4.5.3 软件测试步骤 258
4.6 系统运行和维护知识 259
4.6.1 系统维护概述 259
4.6.2 系统评价 260
4.6.3 系统运行管理 261
4.7 软件质量管理与质量保证 262
4.7.1 软件质量特性 262
4.7.2 软件质量保证 263
4.8 本章历年例题及自我测试 263
4.8.1 历年例题分析 263
4.8.2 自我测试 277
4.8.3 测试解答 292
第5章 计算机安全基本知识 294
5.1 考纲要求与学习目标 294
5.1.1 考纲要求 294
5.1.2 学习目标 294
5.2 计算机安全概述 294
5.2.1 计算机安全的基本概念 294
5.3 计算机病毒防范技术 298
5.3.1 计算机病毒概述 298
5.3.2 计算机病毒的危害及防范 301
5.3.3 计算机犯罪 302
5.4 网络安全技术 304
5.4.1 网络安全基本知识 304
5.4.2 防火墙技术 305
5.4.3 入侵检测技术 307
5.4.4 VPN技术 310
5.5 信息安全技术与PKI 311
5.5.1 加密与解密技术基础知识 311
5.5.2 常用加密算法 312
5.5.3 PKI 313
5.6 本章历年例题及自我测试 314
5.6.1 历年例题分析 314
5.6.2 自我测试 320
5.6.3 测试解答 321
第6章 标准化基础知识 322
6.1 考纲要求与学习目标 322
6.1.1 考纲要求 322
6.1.2 学习目标 322
6.2 标准化概述 322
6.3 各种标准基础知识 324
6.3.1 标准的分类 324
6.3.2 标准的编号 324
6.4 软件标准化基础知识 325
6.4.1 软件工程标准化 325
6.4.2 软件文档标准 328
6.5 标准化机构 329
6.6 本章历年例题及自我测试 332
6.6.1 历年例题分析 332
6.6.2 自我测试 337
6.6.3 测试解答 337
第7章 信息化基本知识 339
7.1 考纲要求与学习目标 339
7.1.1 考纲要求 339
7.1.2 学习目标 339
7.2 信息化概述 339
7.2.1 信息的定义及其特性 339
7.2.2 信息化 340
7.2.3 信息化对组织的意义 342
7.3 电子商务 345
7.3.1 电子商务 345
7.3.2 企业信息化与电子商务 346
7.4 电子政务 350
7.5 信息资源的管理 353
7.6 信息化有关的政策、法规和标准 354
7.7 本章历年例题及自我测试 355
7.7.1 历年例题分析 355
7.7.2 自我测试 357
7.7.3 测试解答 357
第8章 计算机专业英语 358
8.1 考纲要求与学习目标 358
8.1.1 考纲要求 358
8.1.2 学习目标 358
8.2 本章历年例题及自我测试 358
8.2.1 历年例题分析 358
8.2.2 自我测试 369
8.2.3 测试解答 371
第9章 C语言 374
9.1 考纲要求与学习目标 374
9.1.1 考纲要求 374
9.1.2 学习目标 374
9.2 C语言简介及常用的算法
描述方法 374
9.2.1 C语言简介 374
9.2.2 常用的算法描述方法 377
9.2.3 结构化程序设计方法 382
9.2.4 历年例题分析 383
9.2.5 自我测试 390
9.2.6 测试解答 395
9.3 数据类型、运算符与表达式 400
9.3.1 C语言的数据类型 400
9.3.2 常量与变量 400
9.3.3 C语言的运算符与表达式 400
9.3.4 历年例题分析 402
9.3.5 自我测试 404
9.3.6 测试解答 405
9.4 顺序结构程序设计 405
9.4.1 C语言的语句 406
9.4.2 输入与输出 406
9.4.3 历年例题分析 407
9.4.4 自我测试 408
9.4.5 测试解答 409
9.5 选择结构程序设计 409
9.5.1 关系运算符和关系表达式 409
9.5.2 逻辑运算符和逻辑表达式 410
9.5.3 if语句 411
9.5.4 switch语句 412
9.5.5 条件运算符 413
9.5.6 历年例题分析 413
9.5.7 自我测试 417
9.5.8 测试解答 418
9.6 循环结构程序设计 420
9.6.1 while语句 420
9.6.2 do-while语句 421
9.6.3 for语句 421
9.6.4 循环嵌套及其比较 422
9.6.5 break和continue语句 422
9.6.6 历年例题分析 423
9.6.7 自我测试 427
9.6.8 测试解答 428
9.7 数组 432
9.7.1 一维数组 432
9.7.2 二维数组 432
9.7.3 字符数组 433
9.7.4 字符串处理函数 433
9.7.5 历年例题分析 435
9.7.6 自我测试 445
9.7.7 测试解答 446
9.8 函数 451
9.8.1 函数的定义 451
9.8.2 函数的划分 452
9.8.3 函数的值和函数的参数 452
9.8.4 函数调用 453
9.8.5 数组作为函数参数 453
9.8.6 局部变量和全局变量 454
9.8.7 历年例题分析 454
9.8.8 自我测试 464
9.8.9 测试解答 465
9.9 指针 468
9.9.1 指针基本概念 468
9.9.2 变量的指针和指向变量的
指针变量 468
9.9.3 数组的指针和指向数组的
指针变量 469
9.9.4 字符串指针及指向字符串的
指针变量 470
9.9.5 指针作为函数参数 470
9.9.6 函数的指针和指向函数的
指针变量 472
9.9.7 返回指针的函数 473
9.9.8 指针数组和指向指针的
指针 473
9.9.9 历年例题分析 474
9.9.10 自我测试 480
9.9.11 测试解答 481
9.10 结构体与共用体 482
9.10.1 结构体的定义 482
9.10.2 结构体变量的定义、
初始化及引用 483
9.10.3 结构体数组 485
9.10.4 指向结构体的指针 486
9.10.5 链表 488
9.10.6 历年例题分析 488
9.10.7 自我测试 489
9.10.8 测试解答 489
9.11 位运算 490
9.11.1 位运算概念 490
9.11.2 历年例题分析 490
9.11.3 自我测试 490
9.11.4 测试解答 491
9.12 文件 491
9.12.1 文件操作基本步骤 491
9.12.2 文件读写 493
9.12.3 文件的定位 495
9.12.4 历年例题分析 495
9.12.5 自我测试 495
9.12.6 测试解答 499
第10章 线性表 500
10.1 考纲要求与学习目标 500
10.1.1 考纲要求 500
10.1.2 学习目标 500
10.2 线性表的概念、存储结构及
基本操作 500
10.2.1 线性表的概念 500
10.2.2 线性表的顺序存储结构 501
10.2.3 线性表的基本操作 501
10.2.4 历年例题分析 504
10.2.5 自我测试 508
10.2.6 测试解答 509
10.3 单链表 511
10.3.1 线性表的链式存储结构 511
10.3.2 带头结点与不带头结点
的区别 512
10.3.3 单链表的基本操作 513
10.3.4 历年例题分析 515
10.3.5 自我测试 529
10.3.6 测试解答 530
10.4 循环链表 538
10.4.1 循环链表的概念 538
10.4.2 历年例题分析 539
10.4.3 自我测试 540
10.4.4 测试解答 540
10.5 双向链表 541
10.5.1 双向链表的定义 541
10.5.2 双向链表的插入与删除
操作 541
10.5.3 双向链表的基本操作 542
10.5.4 历年例题分析 545
10.5.5 自我测试 545
10.5.6 测试解答 545
10.6 双向循环链表 545
10.6.1 双向循环链表的概念 545
10.6.2 历年例题分析 546
10.6.3 自我测试 548
10.6.4 测试解答 549
第11章 栈和队列 551
11.1 考纲要求与学习目标 551
11.1.1 考纲要求 551
11.1.2 学习目标 551
11.2 栈的概念及存储结构 551
11.2.1 栈的定义及特点 551
11.2.2 栈的存储结构 551
11.2.3 历年例题分析 553
11.2.4 自我测试 554
11.2.5 测试解答 555
11.3 栈的基本操作 555
11.3.1 顺序栈的基本操作 555
11.3.2 链式栈的基本操作 557
11.3.3 历年例题分析 558
11.3.4 自我测试 566
11.3.5 测试解答 568
11.4 队列的概念及存储结构 570
11.4.1 队列的概念 570
11.4.2 队列的存储结构 570
11.4.3 历年例题分析 572
11.4.4 自我测试 574
11.4.5 测试解答 575
11.5 队列的基本操作 575
11.5.1 循环队列的基本操作 575
11.5.2 链式队列的基本操作 576
11.5.3 历年例题分析 578
11.5.4 自我测试 583
11.5.5 测试解答 583
第12章 数组 587
12.1 考纲要求与学习目标 587
12.1.1 考纲要求 587
12.1.2 学习目标 587
12.2 数组及多维数组的概念 587
12.2.1 数组的概念 587
12.2.2 历年例题分析 588
12.2.3 自我测试 599
12.2.4 测试解答 601
12.3 矩阵 602
12.3.1 矩阵定义及地址计算 602
12.3.2 矩阵的常见操作 602
12.3.3 几种特殊的矩阵 603
12.3.4 历年例题分析 604
12.3.5 自我测试 607
12.3.6 测试解答 608
第13章 串 612
13.1 考纲要求与学习目标 612
13.1.1 考纲要求 612
13.1.2 学习目标 612
13.2 串的概念及顺序存储结构 612
13.2.1 串的概念 612
13.2.2 串的顺序存储结构 613
13.2.3 顺序串的基本操作 613
13.2.4 历年例题分析 615
13.2.5 自我测试 622
13.2.6 测试解答 623
13.3 串的链式存储结构 627
13.4 模式匹配算法 627
13.4.1 模式匹配的概念 627
13.4.2 匹配的简单算法及实现
程序 627
13.4.3 改进的算法 628
第14章 树和二叉树 629
14.1 考纲要求与学习目标 629
14.1.1 考纲要求 629
14.1.2 学习目标 629
14.2 树的概念、性质和存储结构 629
14.2.1 树的概念 629
14.2.2 树的性质 630
14.2.3 历年例题分析 630
14.3 二叉树的概念及基本操作 632
14.3.1 二叉树的概念 632
14.3.2 二叉树的性质 633
14.3.3 二叉树的存储结构 633
14.3.4 二叉树的遍历 636
14.3.5 二叉树的基本运算 636
14.3.6 森林和树的转换 638
14.3.7 历年例题分析 639
14.3.8 自我测试 645
14.3.9 测试解答 646
14.4 二叉树的遍历 648
14.4.1 遍历的方法 648
14.4.2 遍历的递归算法 648
14.4.3 遍历的非递归算法 649
14.4.4 二叉树层次遍历 652
14.4.5 历年例题分析 653
14.4.6 自我测试 658
14.4.7 测试解答 660
14.5 二叉查找树 664
14.5.1 二叉查找树的概念 664
14.5.2 二叉排序树的查找 665
14.5.3 二叉排序树的结点插入 665
14.5.4 二叉排序树的结点及
删除 667
14.5.5 历年例题分析 668
14.5.6 自我测试 673
14.5.7 测试解答 675
第15章 排序和查找 679
15.1 考纲要求与学习目标 679
15.1.1 考纲要求 679
15.1.2 学习目标 679
15.2 插入排序和冒泡排序 679
15.2.1 冒泡排序 679
15.2.2 插入排序 680
15.2.3 历年例题分析 681
15.3 快速排序、希尔排序 686
15.3.1 快速排序 686
15.3.2 希尔排序 687
15.3.3 历年例题分析 688
15.4 归并排序、选择排序 689
15.4.1 归并排序 689
15.4.2 选择排序 690
15.4.3 历年例题分析 691
15.5 顺序查找、二分查找 692
15.5.1 顺序查找 692
15.5.2 二分查找 692
15.5.3 历年例题分析 693
15.6 二叉排序树的查找 694
第16章 常用算法及解题思路 695
16.1 考纲要求与学习目标 695
16.1.1 考纲要求 695
16.1.2 学习目标 695
16.2 数值计算方法 695
16.2.1 迭代法 696
16.2.2 历年例题分析 697
16.3 递归算法 698
16.3.1 递归调用 698
16.3.2 历年例题分析 703
16.3.3 自我测试 713
16.3.4 测试解答 714
16.4 递推算法 717
16.4.1 递推算法 717
16.5 回溯算法 717
16.5.1 回溯算法 717
16.6 其他算法 720
16.6.1 最小生成树 720
16.6.2 拓扑排序 723
16.6.3 单源点最短路径求解算法 725
16.7 压缩算法 727
16.7.1 压缩算法 727
16.7.2 历年例题分析 729
第17章 Java程序设计 733
17.1 考纲要求与学习目标 733
17.1.1 考纲要求 733
17.1.2 学习目标 733
17.2 Java开发环境 733
17.2.1 Java语言开发环境 733
17.2.2 Java程序的编写和运行 735
17.3 基础语法 736
17.3.1 标识符 736
17.3.2 关键字 736
17.3.3 分隔符 736
17.3.4 数据类型 737
17.3.5 运算符与表达式 737
17.3.6 流程控制 741
17.4 类的定义及应用 746
17.4.1 面向对象的基础知识 746
17.4.2 类及其相关内容的定义 748
17.5 封装与继承 755
17.5.1 封装 755
17.5.2 继承 756
17.5.3 多态性 758
17.5.4 其他关键字 759
17.6 抽象类和接口 762
17.7 异常 766
17.7.1 Java异常处理的基础知识 766
17.7.2 异常类的产生、捕获与
处理 766
17.7.3 异常的分类 769
17.7.4 抛出异常 770
17.8 例题分析 774
参考文献 781
??
??
??
??
IV
程序员考前重点辅导
IX
目 录