计算机基础与C语言程序设计(第二版) / 高等学校计算机应用规划教材
¥38.00定价
作者: 焉德军,刘明才
出版时间:2015-07
出版社:清华大学出版社
- 清华大学出版社
- 9787302365037
- 2-2
- 61415
- 16开
- 2015-07
- 工学
- 计算机科学与技术
- TP3
- 计算机
内容简介
本书以全国计算机等级考试二级考试大纲为指导,介绍了二级C语言等级考试所要求的全部内容。全书共14章,包括计算机基础知识、数据类型和常用库函数、各种运算和表达式、程序控制语句、数组、函数、编译预处理、指针、结构体与共用体、文件、数据结构与算法基础知识、软件工程与程序设计基础、数据库基础知识等内容。 本书例题丰富,与《计算机基础与C语言程序设计实验指导(第二版)》一起构成了一套完整的教学用书,可作为高等学校的教学参考书,也可作为报考全国计算机等级考试(NCRE)人员的参考资料。 本书对应的电子教案和习题答案可以到http:///downpage网站下载。
目录
第1章 计算机基础知识
1.1 计算机系统与工作原理
1.1.1 计算机系统的组成
1.1.2 计算机硬件系统
1.1.3 计算机软件系统
1.2 数制与编码
1.2.1 数制的基本概念
1.2.2 常用的数制
1.2.3 数制间的转换
1.2.4 数在计算机中的表示方式
1.2.5 字符编码
1.2.6 存储单位
1.3 计算机程序
1.3.1 程序的概念
1.3.2 寄存器
1.3.3 程序的执行过程
1.4 习题
第2章 C语言概述
2.1 C语言的发展历史
2.2 C语言的特点
2.3 C语言程序设计初步
2.3.1 简单的C程序例子
2.3.2 C程序结构
2.4 C程序在计算机上的执行步骤
2.5 习题
第3章 基本数据类型与常用库函数
3.1 字符集与标识符
3.2 数据类型与基本数据类型
3.2.1 数据类型
3.2.2 基本数据类型
3.3 常量与变量
3.3.1 常量
3.3.2 符号常量
3.3.3 变量
3.4 输入/输出函数
3.4.1 字符输入/输出函数
3.4.2 格式输出函数printf
3.4.3 格式输入函数scanf
3.5 常用库函数
3.6 习题
第4章 运算符和表达式
4.1 算术运算符和算术表达式
4.2 自增、自减运算
4.3 位运算
4.4 赋值运算
4.5 关系运算与逻辑运算
4.5.1 关系运算
4.5.2 逻辑运算
4.6 条件表达式与逗号表达式
4.6.1 条件表达式
4.6.2 逗号表达式
4.7 习题
第5章 C语言的控制结构
5.1 算法与程序
5.1.1 算法
5.1.2 程序
5.2 顺序结构
5.3 选择结构
5.3.1 if语句
5.3.2 switch语句
5.4 循环结构
5.4.1 while语句
5.4.2 do-while语句
5.4.3 for语句
5.4.4 break语句
5.4.5 continue语句
5.4.6 单重循环程序举例
5.4.7 多重循环结构
5.5 习题
第6章 数组
6.1 一维数组
6.1.1 一维数组的定义
6.1.2 一维数组的存储形式
6.1.3 一维数组的初始化
6.1.4 一维数组的引用
6.1.5 一维数组的应用举例
6.2 二维数组
6.2.1 二维数组的定义
6.2.2 二维数组的存储形式
6.2.3 二维数组的初始化
6.2.4 二维数组的引用
6.2.5 二维数组应用举例
6.3 字符数组
6.3.1 字符数组的定义
6.3.2 字符数组的初始化
6.3.3 字符数组的输入和输出
6.3.4 常用字符串处理函数
6.3.5 二维字符数组
6.3.6 字符串应用举例
6.4 习题
第7章 函数
7.1 函数定义和函数调用
7.1.1 函数定义
7.1.2 return语句
7.1.3 函数调用
7.1.4 函数声明
7.1.5 函数间的参数传递
7.2 函数的嵌套调用和递归调用
7.2.1 函数的嵌套调用
7.2.2 函数的递归调用
7.3 局部变量和全局变量
7.3.1 局部变量
7.3.2 全局变量
7.4 变量的存储类别
7.4.1 auto(自动)变量
7.4.2 static(静态)变量
7.4.3 register(寄存器)变量
7.5 内部函数和外部函数
7.6 习题
第8章 编译预处理
8.1 宏定义
8.1.1 不带参数的宏定义
8.1.2 带参数的宏定义
8.1.3 终止宏定义
8.2 文件包含
8.3 条件编译
8.4 习题
第9章 指针
9.1 指针概述
9.1.1 指针的概念
9.1.2 指针变量
9.1.3 指针运算
9.1.4 指针作为函数的参数
9.2 指针与一维数组
9.2.1 一维数组元素的表示
9.2.2 数组名作为函数的参数
9.3 指针与二维数组
9.3.1 二维数组中的指针
9.3.2 指向二维数组元素的指针变量
9.3.3 二维数组的行指针作函数参数
9.4 指针与字符串
9.4.1 字符串的表示形式
9.4.2 字符串指针作函数参数
9.5 指针与函数
9.5.1 指向函数的指针
9.5.2 返回指针的函数
9.6 指针数组与多级指针
9.6.1 指针数组的概念
9.6.2 多级指针的概念
9.7 习题
第10章 结构体与共用体
10.1 结构体类型的定义
10.2 结构体类型变量
10.2.1 结构体类型变量的定义
10.2.2 结构体变量的引用
10.3 结构体数组
10.3.1 结构体数组的定义与初始化
10.3.2 结构体数组的引用
10.4 结构体和指针
10.5 结构体和函数
10.5.1 结构体作函数参数
10.5.2 返回结构体的函数
10.6 链表
10.6.1 简单链表
10.6.2 处理动态链表所需的库函数
10.6.3 单向链表的基本操作
10.7 共用体
10.8 枚举
10.9 用typedef定义类型
10.10 习题
第11章 文件
11.1 文件的基本概念
11.2 文件的打开与关闭
11.2.1 文件类型指针
11.2.2 文件的打开
11.2.3 文件的关闭
11.3 文件的读写
11.3.1 字符读写函数fgetc和fputc
11.3.2 字符串读写函数fgets和fputs
11.3.3 数据块读写函数fread和fwrite
11.3.4 格式化读写函数fscanf和fprintf
11.4 文件的随机读写
11.4.1 文件定位
11.4.2 文件的随机读写
11.5 综合应用实例——学生成绩管理程序
11.6 习题
第12章 数据结构与算法
12.1 算法
12.1.1 算法的基本概念
12.1.2 算法的复杂度
12.2 数据结构的基本概念
12.2.1 什么是数据结构
12.2.2 数据结构的图形表示
12.2.3 线性结构与非线性结构
12.3 线性表及其顺序存储结构
12.3.1 线性表的基本概念
12.3.2 线性表的顺序存储结构
12.4 栈和队列
12.4.1 栈及其基本运算
12.4.2 队列及其基本运算
12.5 线性链表
12.5.1 线性链表的基本概念
12.5.2 线性链表的基本运算
12.5.3 循环链表
12.6 树与二叉树
12.6.1 树的基本概念
12.6.2 二叉树及其基本运算
12.6.3 二叉树的存储结构
12.6.4 二叉树的遍历
12.7 查找技术
12.7.1 顺序查找
12.7.2 二分法查找
12.8 排序技术
12.8.1 交换类排序法
12.8.2 插入类排序法
12.8.3 选择类排序法
12.9 习题
第13章 软件工程基础
13.1 软件工程的基本概念
13.1.1 软件危机与软件工程
13.1.2 软件的定义与分类
13.1.3 软件的生存周期
13.2 软件需求分析
13.2.1 需求分析与需求分析方法
13.2.2 结构化分析方法
13.2.3 软件需求规格说明书
13.3 软件设计
13.3.1 软件设计的基本概念
13.3.2 概要设计
13.3.3 详细设计
13.4 程序设计基础
13.4.1 程序设计方法与风格
13.4.2 结构化程序设计
13.4.3 面向对象程序设计
13.5 软件测试及调试
13.5.1 软件测试的目的
13.5.2 软件测试技术与方法
13.5.3 软件测试的实施
13.5.4 程序的调试
13.6 习题
第14章 数据库基础
14.1 数据库系统的基本概念
14.1.1 数据、数据库、数据库管理系统
14.1.2 数据库系统的发展
14.1.3 数据库系统的主要特点
14.1.4 数据库的体系结构
14.2 数据模型
14.2.1 数据模型的基本概念
14.2.2 E-R模型
14.2.3 层次模型
14.2.4 网状模型
14.2.5 关系模型
14.3 关系代数
14.3.1 关系模型的基本操作
14.3.2 关系的基本运算
14.3.3 关系代数的扩充运算
14.4 数据库设计
14.4.1 数据库设计概述
14.4.2 需求分析
14.4.3 概念设计
14.4.4 逻辑设计
14.4.5 物理设计
14.4.6 数据库的建立与维护
14.5 习题
附录A C语言中的关键字
附录B 字符与ASCII码对照表
附录C 运算符的优先级与结合性
附录D 常用库函数
参考文献
1.1 计算机系统与工作原理
1.1.1 计算机系统的组成
1.1.2 计算机硬件系统
1.1.3 计算机软件系统
1.2 数制与编码
1.2.1 数制的基本概念
1.2.2 常用的数制
1.2.3 数制间的转换
1.2.4 数在计算机中的表示方式
1.2.5 字符编码
1.2.6 存储单位
1.3 计算机程序
1.3.1 程序的概念
1.3.2 寄存器
1.3.3 程序的执行过程
1.4 习题
第2章 C语言概述
2.1 C语言的发展历史
2.2 C语言的特点
2.3 C语言程序设计初步
2.3.1 简单的C程序例子
2.3.2 C程序结构
2.4 C程序在计算机上的执行步骤
2.5 习题
第3章 基本数据类型与常用库函数
3.1 字符集与标识符
3.2 数据类型与基本数据类型
3.2.1 数据类型
3.2.2 基本数据类型
3.3 常量与变量
3.3.1 常量
3.3.2 符号常量
3.3.3 变量
3.4 输入/输出函数
3.4.1 字符输入/输出函数
3.4.2 格式输出函数printf
3.4.3 格式输入函数scanf
3.5 常用库函数
3.6 习题
第4章 运算符和表达式
4.1 算术运算符和算术表达式
4.2 自增、自减运算
4.3 位运算
4.4 赋值运算
4.5 关系运算与逻辑运算
4.5.1 关系运算
4.5.2 逻辑运算
4.6 条件表达式与逗号表达式
4.6.1 条件表达式
4.6.2 逗号表达式
4.7 习题
第5章 C语言的控制结构
5.1 算法与程序
5.1.1 算法
5.1.2 程序
5.2 顺序结构
5.3 选择结构
5.3.1 if语句
5.3.2 switch语句
5.4 循环结构
5.4.1 while语句
5.4.2 do-while语句
5.4.3 for语句
5.4.4 break语句
5.4.5 continue语句
5.4.6 单重循环程序举例
5.4.7 多重循环结构
5.5 习题
第6章 数组
6.1 一维数组
6.1.1 一维数组的定义
6.1.2 一维数组的存储形式
6.1.3 一维数组的初始化
6.1.4 一维数组的引用
6.1.5 一维数组的应用举例
6.2 二维数组
6.2.1 二维数组的定义
6.2.2 二维数组的存储形式
6.2.3 二维数组的初始化
6.2.4 二维数组的引用
6.2.5 二维数组应用举例
6.3 字符数组
6.3.1 字符数组的定义
6.3.2 字符数组的初始化
6.3.3 字符数组的输入和输出
6.3.4 常用字符串处理函数
6.3.5 二维字符数组
6.3.6 字符串应用举例
6.4 习题
第7章 函数
7.1 函数定义和函数调用
7.1.1 函数定义
7.1.2 return语句
7.1.3 函数调用
7.1.4 函数声明
7.1.5 函数间的参数传递
7.2 函数的嵌套调用和递归调用
7.2.1 函数的嵌套调用
7.2.2 函数的递归调用
7.3 局部变量和全局变量
7.3.1 局部变量
7.3.2 全局变量
7.4 变量的存储类别
7.4.1 auto(自动)变量
7.4.2 static(静态)变量
7.4.3 register(寄存器)变量
7.5 内部函数和外部函数
7.6 习题
第8章 编译预处理
8.1 宏定义
8.1.1 不带参数的宏定义
8.1.2 带参数的宏定义
8.1.3 终止宏定义
8.2 文件包含
8.3 条件编译
8.4 习题
第9章 指针
9.1 指针概述
9.1.1 指针的概念
9.1.2 指针变量
9.1.3 指针运算
9.1.4 指针作为函数的参数
9.2 指针与一维数组
9.2.1 一维数组元素的表示
9.2.2 数组名作为函数的参数
9.3 指针与二维数组
9.3.1 二维数组中的指针
9.3.2 指向二维数组元素的指针变量
9.3.3 二维数组的行指针作函数参数
9.4 指针与字符串
9.4.1 字符串的表示形式
9.4.2 字符串指针作函数参数
9.5 指针与函数
9.5.1 指向函数的指针
9.5.2 返回指针的函数
9.6 指针数组与多级指针
9.6.1 指针数组的概念
9.6.2 多级指针的概念
9.7 习题
第10章 结构体与共用体
10.1 结构体类型的定义
10.2 结构体类型变量
10.2.1 结构体类型变量的定义
10.2.2 结构体变量的引用
10.3 结构体数组
10.3.1 结构体数组的定义与初始化
10.3.2 结构体数组的引用
10.4 结构体和指针
10.5 结构体和函数
10.5.1 结构体作函数参数
10.5.2 返回结构体的函数
10.6 链表
10.6.1 简单链表
10.6.2 处理动态链表所需的库函数
10.6.3 单向链表的基本操作
10.7 共用体
10.8 枚举
10.9 用typedef定义类型
10.10 习题
第11章 文件
11.1 文件的基本概念
11.2 文件的打开与关闭
11.2.1 文件类型指针
11.2.2 文件的打开
11.2.3 文件的关闭
11.3 文件的读写
11.3.1 字符读写函数fgetc和fputc
11.3.2 字符串读写函数fgets和fputs
11.3.3 数据块读写函数fread和fwrite
11.3.4 格式化读写函数fscanf和fprintf
11.4 文件的随机读写
11.4.1 文件定位
11.4.2 文件的随机读写
11.5 综合应用实例——学生成绩管理程序
11.6 习题
第12章 数据结构与算法
12.1 算法
12.1.1 算法的基本概念
12.1.2 算法的复杂度
12.2 数据结构的基本概念
12.2.1 什么是数据结构
12.2.2 数据结构的图形表示
12.2.3 线性结构与非线性结构
12.3 线性表及其顺序存储结构
12.3.1 线性表的基本概念
12.3.2 线性表的顺序存储结构
12.4 栈和队列
12.4.1 栈及其基本运算
12.4.2 队列及其基本运算
12.5 线性链表
12.5.1 线性链表的基本概念
12.5.2 线性链表的基本运算
12.5.3 循环链表
12.6 树与二叉树
12.6.1 树的基本概念
12.6.2 二叉树及其基本运算
12.6.3 二叉树的存储结构
12.6.4 二叉树的遍历
12.7 查找技术
12.7.1 顺序查找
12.7.2 二分法查找
12.8 排序技术
12.8.1 交换类排序法
12.8.2 插入类排序法
12.8.3 选择类排序法
12.9 习题
第13章 软件工程基础
13.1 软件工程的基本概念
13.1.1 软件危机与软件工程
13.1.2 软件的定义与分类
13.1.3 软件的生存周期
13.2 软件需求分析
13.2.1 需求分析与需求分析方法
13.2.2 结构化分析方法
13.2.3 软件需求规格说明书
13.3 软件设计
13.3.1 软件设计的基本概念
13.3.2 概要设计
13.3.3 详细设计
13.4 程序设计基础
13.4.1 程序设计方法与风格
13.4.2 结构化程序设计
13.4.3 面向对象程序设计
13.5 软件测试及调试
13.5.1 软件测试的目的
13.5.2 软件测试技术与方法
13.5.3 软件测试的实施
13.5.4 程序的调试
13.6 习题
第14章 数据库基础
14.1 数据库系统的基本概念
14.1.1 数据、数据库、数据库管理系统
14.1.2 数据库系统的发展
14.1.3 数据库系统的主要特点
14.1.4 数据库的体系结构
14.2 数据模型
14.2.1 数据模型的基本概念
14.2.2 E-R模型
14.2.3 层次模型
14.2.4 网状模型
14.2.5 关系模型
14.3 关系代数
14.3.1 关系模型的基本操作
14.3.2 关系的基本运算
14.3.3 关系代数的扩充运算
14.4 数据库设计
14.4.1 数据库设计概述
14.4.2 需求分析
14.4.3 概念设计
14.4.4 逻辑设计
14.4.5 物理设计
14.4.6 数据库的建立与维护
14.5 习题
附录A C语言中的关键字
附录B 字符与ASCII码对照表
附录C 运算符的优先级与结合性
附录D 常用库函数
参考文献