作品简介

本书共9章。第0章是引言,概述本书的写作目的和学习方法。第1章讨论程序设计的基本过程和方法,包括问题的分析、方案的设计以及编码和调试。这些知识,以及对这些知识的运用能力,是专业化编程能力的重要组成部分。第2~6章讨论专业人员需要较深入了解和掌握的内容,其中既包括C语言中需要深入理解和掌握的知识,也包括在编程中对一些基本算法和数据结构的运用,并结合这些内容进一步说明程序设计的基本方法和原则,及其在实际编程中的应用。第7章和第8章讨论程序代码和结构的优化,包括对程序时间效率和空间效率的优化、程序的风格以及程序组织的方式和原则。这些知识和技术都是在设计和实现具有较大规模的实用程序时需要用到的。

本书面向对C语言和数据结构、算法分析等相关知识有基本了解,同时希望进一步提高自己实际编程能力以适应工作要求的读者,适合刚刚走上工作岗位的C语言开发人员以及计算机及相关专业高年级学生阅读。

尹宝林,曾任北京航空航天大学计算机系教授、博士生导师。从事计算机专业教学和科研工作多年,主讲过“C语言程序设计”“高级语言程序设计”“UNIX程序设计环境”“计算机图形学”“图像处理”等课程,其中“高级语言程序设计”被评为北京市精品课程。主编过《离散数学》《C程序设计导引》等教材。参加全国信息学奥林匹克(NOI)活动的组织与指导工作,曾任NOI科学委员会副主席。CCF会士,CCF卓越服务奖获得者。

作品目录

  • 作者简介
  • 作者自序
  • 第0章 引言
  • 第1章 程序设计的基本方法
  • 1.1 程序设计的基本过程
  • 1.2 问题分析
  • 1.3 方案设计
  • 1.4 编码:从算法到代码
  • 1.5 测试和调试
  • 1.6 手册的使用
  • 第2章 数值的表示和计算
  • 2.1 整型数据类型
  • 2.2 浮点数据类型
  • 2.3 数值计算中的类型转换
  • 2.4 按位操作
  • 2.5 数值计算的速度
  • 第3章 指针、数组、结构和类型
  • 3.1 指针变量
  • 3.2 指针和一维数组
  • 3.3 二维数组和一维指针数组
  • 3.4 函数指针
  • 3.5 结构
  • 3.6 复杂类型的解读
  • 第4章 程序中的递归
  • 4.1 递归的定义
  • 4.2 递归函数的执行
  • 4.3 递归函数的设计
  • 4.4 递归的优点和缺点
  • 4.5 递归函数的效率
  • 4.6 递归函数的使用
  • 4.7 递归函数效率的改进
  • 第5章 搜索
  • 5.1 搜索的目标和基本过程
  • 5.2 深度优先搜索
  • 5.3 广度优先搜索
  • 5.4 重复节点的判断
  • 5.5 带深度控制的广度优先搜索
  • 5.6 节点的编码和搜索效率
  • 第6章 常用函数和函数库
  • 6.1 静态链接和动态链接
  • 6.2 库函数的使用
  • 6.3 数据输入输出函数
  • 6.4 字符类型函数和字符串操作函数
  • 6.5 时间函数
  • 6.6 随机数函数
  • 第7章 程序的优化
  • 7.1 优化的作用和意义
  • 7.2 优化的基本过程
  • 7.3 运行效率的改进策略和方法
  • 7.4 空间效率的改进策略和方法
  • 第8章 程序的风格、结构和组织
  • 8.1 程序风格的要素
  • 8.2 程序的描述
  • 8.3 变量使用中的规则和风格
  • 8.4 函数的参数和变长参数表
  • 8.5 缓冲区溢出
  • 8.6 常用编译预处理命令的使用
  • 8.7 编译选项指令:#pragma
  • 8.8 源文件的拆分
  • 附录A 标准头文件及其中的函数说明和符号常量
  • 附录B cc/gcc的常用命令选项
  • 附录C vi的基本操作命令
  • 附录D ASCII编码表
  • 附录E 函数printf()的常用描述符及其含义
  • 示例索引
展开全部