种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

程式设计基础(C语言)(第2版)(2016年清华大学出版社出版的图书)

(2019-09-23 06:07:12) 百科综合
程式设计基础(C语言)(第2版)(2016年清华大学出版社出版的图书)

程式设计基础(C语言)(第2版)(2016年清华大学出版社出版的图书)

《程式设计基础(C语言)(第2版)》是由张先伟、马新娟、张立红、王云、田爱奎编着,2016年清华大学出版社出版的21世纪高等学校计算机专业实用规划教材。 该教材可作为高等院校相关专业教材,亦可供从事计算机相关领域的科研人员参考自学。

该教材介绍在C语言环境下编写程式的思路与方法。全书共15章,内容共分为三部分,以程式设计的基本思想与方法作为主要结构,介绍了程式的基本结构组织、批量数据的组织方式与处理技巧,引入了递推、递归、动态规划、贪心等常用的算法设计方法套用案例,强调了程式设计中设计方法与动手实践。

基本介绍

  • 书名:程式设计基础(C语言)(第2版)
  • 作者:张先伟、马新娟、张立红、王云、田爱奎
  • ISBN:9787302440864
  • 类别:21世纪高等学校计算机专业实用规划教材
  • 页数:365页
  • 出版社:清华大学出版社
  • 出版时间:2016年9月1日
  • 装帧:平装
  • 开本:16开
  • 字数:576千字
  • CIP核字号:2016132437

成书过程

修订过程

该教材由张先伟、马新娟负责策划、修订。具体编写分工如下:张先伟完成第1、2、8、9、13、14、15章的修订编写,马新娟完成第3、4、5、6、7、10、11、12章的修订编写。第2版对教材内容进行了较大的修订,重新调整了全书的章节结构,补充完善了更多有代表性的题目。

出版工作

2016年9月1日,该教材由清华大学出版社出版。
出版社工作人员
责任编辑封面设计责任校对责任印製
刘星
刘键
李建庄
王静怡

内容简介

全书共15章,内容共分为三部分,分别介绍程式的基本结构、批量数据的组织方式与处理技巧、常用算法的思路与套用典型案例。第一部分主要介绍程式结构与函式,力求结合案例以简练的内容介绍最常用的知识与离散数据的处理方法;第二部分主要以经典案例与实践训练相结合的方法介绍批量数据的组织方法与处理技巧;第三部分主要以基本算法理论与经典案例结合的方式介绍常用算法。

教材目录

第1章程式设计引论1.1电脑程式与计算机语言
1.1.1电脑程式
1.1.2计算机记忆体
1.1.3计算机语言
1.1.4C语言简介
1.2简单的C程式构成
1.2.1最简单的C语言程式举例
1.2.2C程式的结构
1.3C程式设计的基本步骤
1.3.1需求分析
1.3.2详细设计
1.3.3编辑程式
1.3.4编译与连结
1.3.5运行与调试
1.4C程式档案的创建、编译与运行
1.4.1CodeBlocks下程式档案的创建、编译与运行
1.4.2Visual C++ 6.0下程式档案的创建、编译与运行
1.5本章小结
第2章算法设计基础
2.1什幺是算法
2.1.1日常生活中的算法
2.1.2计算机算法的分类
2.1.3简单算法举例
2.2算法的特徵
2.3算法的表示方法
2.3.1自然语言表示算法
2.3.2传统流程图表示算法
2.3.3三种基本结构
2.3.4用NS流程图表示算法
2.3.5其他表示算法的方法
2.4程式设计中常用算法
2.4.1叠代法
2.4.2穷举搜寻法
2.4.3递推法
2.4.4递归
2.4.5回溯法
2.4.6贪心法
2.4.7分治法
2.4.8动态规划法
2.5本章小结
第3章数据类型基础
3.1数据在计算机中的存储方式
3.1.1二进制
3.1.2位与位元组
3.1.3数据的存储方式
3.2常量与变数
3.2.1基本概念
3.2.2定义常量的名字(预处理命令#define)
3.2.3变数的声明和赋值
3.2.4常量的分类
3.3基本数据类型
3.3.1整型
3.3.2实型
3.3.3字元型
3.3.4sizeof()求类型大小
3.4数据类型转换
3.4.1自动转换
3.4.2强制类型转换
3.5运算符与表达式
3.5.1算术运算符
3.5.2自增运算符和自减运算符
3.5.3算术表达式
3.5.4运算符的优先权和结合性
3.6本章小结
第4章顺序控制结构与数据的输入输出
4.1顺序结构
4.1.1C语句综述
4.1.2赋值运算符和赋值表达式
4.1.3顺序结构实例
4.2数据的输入输出及实现
4.3字元数据的输入输出
4.3.1putchar函式
4.3.2getchar函式
4.4格式化输入输出
4.4.1格式输出printf函式
4.4.2格式输入scanf函式
4.5本章小结
第5章分支控制结构
5.1关係运算符和关係表达式
5.2逻辑运算符和逻辑表达式
5.3if语句
5.3.1if语句的三种形式
5.3.2if语句的嵌套
5.3.3条件运算符与条件表达式
5.3.4if语句中的複合语句
5.4switch语句
5.5本章小结
第6章循环控制结构
6.1循环控制结构
6.2while()语句
6.2.1while语句的一般形式
6.2.2如何终止while循环
6.2.3while语法要点
6.2.4计数循环与不确定循环
6.3do…while语句——退出条件循环
6.3.1do while的一般形式
6.3.2do while语句的使用
6.3.3do while语句的语法要点
6.4逗号运算符和逗号表达式
6.5for语句
6.5.1for语句的一般形式
6.5.2for语句的灵活运用
6.5.3逗号表达式在for语句中的使用
6.6空语句在循环中的使用
6.7循环语句的选择
6.8循环嵌套
6.9break和continue语句
6.10本章小结
第7章函式
7.1函式概述
7.1.1什幺是函式
7.1.2为什幺使用函式
7.1.3函式的特点
7.1.4函式的分类
7.2函式定义和调用
7.2.1函式定义
7.2.2函式调用
7.2.3函式的声明
7.2.4return语句
7.3嵌套调用与递归调用
7.3.1嵌套调用
7.3.2递归调用
7.4变数与函式
7.4.1变数的作用域和存储类别
7.4.2局部变数的作用域和存储类别
7.4.3全局变数的作用域和存储类别
7.5随机数函式
7.6本章小结
第8章数组
8.1一维数组的定义、引用与初始化
8.1.1一维数组的定义
8.1.2一维数组元素的引用
8.1.3一维数组的初始化
8.2一维数组的套用
8.2.1Fibonacci数列
8.2.2统计问题
8.2.3排序问题
8.2.4查找问题
8.2.5逆置与移位
8.2.6元素删除
8.3二维数组
8.3.1二维数组的定义
8.3.2二维数组元素的引用
8.3.3二维数组的初始化
8.3.4二维数组程式举例
8.4数组与函式
8.4.1数组元素作函式实参
8.4.2数组名作为函式参数
8.5本章小结
第9章指针9.1地址与指针
9.1.1变数、数组、函式与地址
9.1.2变数的地址和变数的值
9.1.3变数的访问方式
9.1.4指针和指针变数
9.2指针变数
9.2.1指针变数的定义
9.2.2指针变数的引用
9.2.3指针变数作为函式参数
9.3指向数组的指针变数
9.3.1指向数组元素的指针
9.3.2通过指针引用数组元素
9.3.3指向数组的指针变数作为函式参数
9.3.4指向多维数组的指针变数
9.4函式指针变数
9.4.1函式指针与指向函式的指针变数
9.4.2用函式指针变数调用函式
9.4.3用指向函式的指针变数作函式参数
9.5返回指针值的函式
9.6指针数组和指向指针的指针
9.6.1指针数组的概念
9.6.2指向指针的指针
9.7本章小结
第10章字元串
10.1字元串常量
10.1.1字元串与字元串结束标誌
10.1.2什幺是字元串常量
10.1.3如何存储字元串常量
10.2如何表示字元串变数
10.2.1字元数组的定义与引用
10.2.2字元数组的初始化
10.2.3指针变数与字元串
10.2.4字元串数组
10.3字元串的输入输出
10.3.1用gets函式和puts函式输入输出字元串
10.3.2用scanf函式和printf函式输入输出字元串
10.4字元串处理函式
10.5字元指针与字元数组的区别
10.6程式举例
10.7本章小结
第11章结构体、共用体和枚举
11.1示例问题: 学生成绩管理的例子
11.2结构体
11.2.1结构体类型的定义
11.2.2结构体类型变数的定义
11.2.3结构体类型变数的引用与赋值
11.2.4结构体变数的初始化
11.2.5结构体类型数组
11.2.6结构体类型指针变数
11.2.7结构体类型指针变数作函式参数
11.3共用体
11.3.1共用体类型的概念
11.3.2共用体类型变数的引用
11.3.3共用体类型数据的特点
11.4枚举
11.4.1枚举类型的概念和定义
11.4.2枚举类型变数的赋值和使用
11.5利用typedef自定义类型
11.6本章小结
第12章档案
12.1档案概述
12.1.1档案的概念
12.1.2档案的分类
12.1.3标準档案I/O
12.2档案指针
12.3档案的打开与关闭
12.3.1档案打开函式(fopen)与程式结束函式(exit)
12.3.2档案关闭函式(fclose)
12.4文本档案的读写
12.4.1字元读写函式(fgetc和fputc)
12.4.2字元串读写函式(fgets和fputs)
12.4.3格式化读写函式(fscanf和fprintf)
12.5二进制档案的读写
12.5.1二进制模式与文本模式的区别
12.5.2数据块读写函式(fread和fwtrite)
12.6档案操作的其他函式
12.6.1判断档案是否结束函式(feof)
12.6.2档案内部指针定位
12.6.3ftell函式
12.6.4int fflush()函式
12.7综合示例
12.8本章小结
第13章鍊表
13.1动态记忆体分配
13.1.1C程式的记忆体划分
13.1.2记忆体分配方式
13.1.3动态记忆体分配函式
13.2单鍊表概述
13.2.1结点的结构
13.2.2单鍊表的结构
13.3单鍊表结点的基本操作
13.3.1单鍊表结点的查找
13.3.2单鍊表结点的插入
13.3.3单鍊表结点的删除
13.4单鍊表的建立
13.4.1逆序建鍊表
13.4.2顺序建鍊表
13.5单鍊表的套用
13.5.1单鍊表的逆置
13.5.2单鍊表的归併
13.5.3单鍊表的拆分
13.6循环鍊表与约瑟夫环问题
13.6.1循环鍊表
13.6.2约瑟夫环问题
13.7本章小结
第14章递推与递归
14.1递推
14.1.1递推思想
14.1.2求解递推关係的方法
14.1.3递推关係的建立
14.2递推设计实例
14.2.1简单Hanoi塔问题
14.2.2捕鱼问题
14.2.3Fibonacci类问题
14.2.4错排公式
14.2.5马踏过河卒
14.3递归
14.3.1递归的定义
14.3.2递归的思想
14.4递归设计实例
14.4.1青蛙过河问题
14.4.2快速排序问题
14.4.3第k小的数
14.4.4全排列问题
14.4.5八皇后问题
14.5递归的效率
14.6本章小结
第15章贪心法与动态规划法
15.1贪心法
15.1.1贪心法的思想
15.1.2贪心法的实现过程
15.1.3贪心法的基本要素
15.1.4贪心法的注意事项
15.2贪心法实例
15.2.1删数问题
15.2.2活动选择问题
15.2.3区间覆盖问题
15.2.4贪心法解题的一般步骤
15.3动态规划
15.3.1什幺是动态规划
15.3.2引入动态规划的意义
15.3.3动态规划的特徵
15.3.4动态规划算法的基本步骤
15.4动态规划实例
15.4.1简单最短路径问题
15.4.2最长公共子序列问题
15.4.3最长上升子序列问题
15.5本章小结
(注:目录排版顺序为从左列至右列

教学资源

该教材有配套教材——《程式设计基础习题与实验指导(C语言)》。
书名书号出版社出版时间作者
《程式设计基础习题与实验指导(C语言)》
9787302432210
清华大学出版社
2016.08.01
马新娟、张立红

教材特色

该教材与传统的C语言教材相比较,虽然以C语言作为工具,但是不再以琐碎的C语言语法知识作为内容的核心,而是以程式设计的基本思想与方法作为主要结构,在理论体系中淡化不常用、非必须且难理解的语法内容,引入常用的算法设计(如递推、递归、动态规划、贪心等)方法的套用案例与练习,使得教材内容的程式设计知识体系比较完整且重点突出。

作者简介

张先伟,男,1971年10月生,山东理工大学计算机科学与技术学院副教授,研究方向为计算机软体与理论。
马新娟,女,1974年11生,山东理工大学计算机科学与技术学院副教授,研究方向为资料库、格线计算。
张立红,女,1966年2月生,山东理工大学计算机科学与技术学院副教授,研究方向为程式设计、资料库技术、数字图像处理。
王云,女,1968年9月生,山东理工大学计算机科学与技术学院副教授,研究方向为数据挖掘。
田爱奎,男,博士,山东理工大学计算机科学与技术学院教授,计算机科学与技术、软体工程专业硕士生导师,现任计算机科学与技术学院院长。

标 签

搜索
随机推荐

Powered By 种豆资源网||