计算机软件基础 (附考试大纲2007年版 高自考不退库)
定 价:26 元
丛书名:全国高等教育自学考试指定教材
- 作者:崔俊凯
- 出版时间:2007/11/1
- ISBN:9787111222613
- 出 版 社:机械工业出版社
- 中图法分类:TP31
- 页码:272
- 纸张:
- 版次:
- 开本:16开
本书是受国家教育部考试中心委托编写的全国高等教育机电一体化工程专业(独立本科)自学考试指定教材,内附自学考试大纲。
本书内容包括C语言程序设计基础、数据结构基础和软件工程基础三部分,系统地介绍了软件设计的基本知识、原理与方法。内容循序渐进,语言通俗易懂,例题丰富,习题数量与难度适中,便于自学。
本书既是自学考试指定教材,也可作为非计算机专业学生的教材或参考书。
封面无防伪标均为盗版组 编 前 言
21世纪是一个变幻莫测的世纪,是一个催人奋进的时代。科学技术飞速发展,知识更替日新月异。希望、困惑、机遇、挑战,随时随地都有可能出现在每一个社会成员的生活之中。抓住机遇,寻求发展,迎接挑战,适应变化的制胜法宝就是学习——依靠自己学习、终生学习。
作为我国高等教育组成部分的自学考试,其职责就是在高等教育这个水平上倡导自学、鼓励自学、帮助自学、推动自学,为每一个自学者铺就成才之路。组织编写供读者学习的教材就是履行这个职责的重要环节。毫无疑问,这种教材应当适合自学,应当有利于学习者掌握、了解新知识、新信息,有利于学习者增强创新意识、培养实践能力、形成自学能力,也有利于学习者学以致用、解决实际工作中所遇到的问题。具有如此特点的书,我们虽然沿用了“教材”这个概念,但它与那种仅供教师讲、学生听,教师不讲、学生不懂,以“教”为中心的教科书相比,已经在内容安排、形式体例、行文风格等方面都大不相同了。希望读者对此有所了解,以便从一开始就树立起依靠自己学习的坚定信念,不断探索适合自己的学习方法,充分利用已有的知识基础和实际工作经验,最大限度地发挥自己的潜能达到学习的目标。
欢迎读者提出意见和建议。
祝每一位读者自学成功。
目录
组编前言
编者的话
第一篇C语言程序设计基础
第一章C语言基础1
第一节程序的概念1
一、计算机语言1
二、算法及其描述1
三、程序1
四、算法和程序的区别2
第二节计算机解题过程2
第三节C的基本数据类型5
一、常量5
二、变量6
第四节算术运算符和算术表达式8
一、基本的算术运算符8
二、算术表达式8
三、 C语言允许不同类型的量混合运
算9
第五节赋值运算符和赋值表达式9
一、赋值表达式9
二、复合的赋值运算符10
三、自加、自减运算符++和--10
第六节逗号运算符和逗号表达式10
一、逗号表达式的一般形式10
二、逗号表达式的值11
三、举例11
习题11
第二章顺序结构、选择结构和循环
结构的程序设计14
第一节顺序结构程序设计14
一、赋值语句14
二、字符输入/输出函数14
三、格式输入与输出函数15
四、顺序结构程序设计举例17
第二节选择结构程序设计19
一、关系运算符和关系表达式19
二、逻辑运算符和逻辑表达式19
三、if语句20
四、条件运算符和条件表达式23
五、switch语句23
六、选择结构程序设计举例25
第三节循环结构程序设计27
一、while(当型语句)28
二、dowhile(直到型语句)28
三、for语句29
四、三种循环比较30
五、循环辅助语句break和continue30
六、循环的嵌套31
七、循环结构程序设计举例33
习题36
第三章数组44
第一节一维数组44
一、一维数组的定义44
二、一维数组的初始化45
三、一维数组元素的引用45
四、一维数组应用举例46
第二节二维数组49
一、二维数组的定义49
二、二维数组的初始化50
三、二维数组元素的引用50
四、二维数组应用举例51
第三节字符数组和字符串54
一、字符数组54
二、字符串55
三、字符数组和字符串应用程序举例57
习题61
第四章函数67
第一节函数的概念67
一、概述67
二、函数的引入67
三、函数的定义68
第二节C程序的结构69
一、程序的结构69
二、函数的书写顺序69
第三节函数的参数和返回值71
一、函数的参数71
二、函数的返回值72
第四节函数的调用72
一、函数调用的两种情况72
二、函数调用时的数据传递73
第五节局部变量和全局变量77
一、局部变量77
二、全局变量79
第六节用static声明的局部变量81
*第七节函数的递归调用83
一、递归的概念83
二、递归程序的几点说明85
第八节函数应用举例85
习题87
第五章指针93
第一节指向变量的指针93
一、指针概念93
二、指针变量的定义93
三、指针变量的赋值94
四、指针运算符94
五、指针变量应用举例95
第二节指向一维数组的指针100
一、指向一维数组的指针变量的定义
及赋值100
二、一维数组元素地址和值的表示方
法101
第三节指向字符串的指针103
*第四节指针数组105
一、指针数组的概念105
二、指针数组简单应用举例106
第五节返回指针值的函数107
习题107
第六章结构类型111
第一节结构类型的概念111
一、类型的引入111
二、结构类型的定义111
第二节结构变量112
一、结构变量的定义112
二、结构变量的引用112
三、结构变量的初始化113
第三节结构数组114
一、结构数组的定义114
二、结构数组的初始化115
三、结构数组应用举例115
第四节指向结构类型数据的指针116
一、指向结构变量的指针116
二、指向结构数组的指针117
习题118
第二篇数据结构基础
第七章数据结构概论123
第一节引言123
一、基本概念123
二、数据结构研究的主要内容124
第二节算法的性能指标及其描述124
一、算法的时间复杂度124
二、算法的空间复杂度125
三、算法的描述125
习题125
第八章线性表128
第一节线性表的概念128
一、线性表的逻辑结构128
二、线性表的存储结构128
第二节线性表的顺序存储结构128
一、顺序表128
二、顺序表上数据节点的基本运算129
第三节线性表的链式存储结构132
一、单链表132
二、循环单链表135
三、循环双链表136
四、链表的建立137
第四节顺序表和链表的比较139
一、时间性能139
二、空间性能139
习题139
第九章栈、队列和数组144
第一节栈144
一、栈的概念144
二、顺序栈144
三、链栈146
四、栈的应用147
第二节队列150
一、队列的概念150
二、顺序队列150
三、链队列153
四、队列的应用153
第三节数组153
一、二维数组的概念153
二、二维数组元素地址的计算153
第四节特殊矩阵的压缩存储154
一、基本概念154
二、特殊矩阵154
习题156
第十章树和二叉树159
第一节树159
一、树的定义159
二、树常见的表示形式159
三、树的有关名词159
第二节二叉树160
一、定义160
二、二叉树和树的区别160
三、二叉树的性质160
四、二叉树的存储结构161
第三节二叉树的遍历164
一、二叉树的中序(中根)遍历164
二、二叉树的先序(先根)遍历166
三、二叉树的后序(后根)遍历166
第四节树、森林与二叉树的关系169
一、树的存储结构169
二、树与二叉树的关系170
三、森林与二叉树的关系170
第五节哈夫曼树及其应用171
一、基本术语171
二、哈夫曼树(最优二叉树)172
三、哈夫曼树的应用173
习题174
第十一章图177
第一节简单概念177
一、定义177
二、有关名词177
第二节图的存储结构178
一、用邻接矩阵存储图(顺序存储结
构)179
二、用邻接链表存储图(链式存储结
构)180
三、练习180
第三节图的遍历181
一、深度优先遍历181
二、广度优先遍历182
第四节最小生成树182
一、相关概念182
二、图的最小生成树183
第五节拓扑排序185
一、有关名词185
二、构造拓扑序列185
三、总结186
习题187
第十二章常用的查找方法189
第一节设监视哨的顺序查找189
一、查找思路189
二、算法流程189
第二节折半查找190
一、折半查找的概念190
二、折半查找的算法190
三、测试实例191
四、折半查找判定树193
第三节二叉排序树上的查找194
一、二叉排序树194
二、二叉排序树上的查找196
习题197
第十三章常用的排序方法199
第一节排序的基本概念199
第二节直接插入排序199
一、引例199
二、直接插入排序的实现200
三、排序算法性能分析201
第三节冒泡排序201
一、引例201
二、冒泡排序过程的实现202
三、排序算法性能分析203
第四节直接选择排序203
一、引例203
二、直接选择排序过程的实现204
三、排序算法性能分析205
第五节排序方法应用举例205
习题208
第三篇软件工程基础
第十四章软件工程概论210
第一节软件工程概念210
一、软件和软件危机210
二、软件工程的定义211
第二节常用的软件开发模型212
第三节软件生存周期213
一、软件定义213
二、软件设计216
三、软件编码221
四、软件测试223
五、软件维护229
*第四节软件工程技术的发展230
一、软件工程技术的发展现状230
二、网络时代软件工程技术的发展趋
势233
习题236
后记239
计算机软件基础自学考试大纲241
后记260