图书推荐

《C语言程序设计》作者长期在华中科技大学计算机学院从事程序设计课程的教学和研究。本书的编写既参考了国内外多本著作,也融入了作者多年从事教学和科研的实践经验和体会,同时还吸收了同行专家的意见和建议。本书具有以下特点:

(1)教材内容突出计算机专业的学科特点。计算机专业学生能进行系统级软件设计非常重要,因此本书力求解决本专业的基础性问题,突出介绍位运算、各类指针、字段结构等支持系统级编程的语言成分,增加C的字符串库函数设计、数字串与数之间的转换函数设计、函数库设计、模拟串行进位的任意位数超长数据的加法运算、以函数指针为参数的函数设计等内容。

(2)结合程序实例引入各种常用算法。在介绍表达式、流程控制、函数、数组等C语言知识的同时,通过实例融入穷举法、递推法、有限状态机、筛法、蒙特卡罗法、排序、查找、递归、分治、高精度计算等算法的实现,目的是让本课程教学覆盖程序设计涉及的基本算法,训练算法分析和实现的能力,为灵活应用C语言分析解决实际工程问题打下扎实基础。

(3)兼顾后继数据结构课程的学习和引导。从编程使用的角度融入动态数据结构,学习用C语言来描述和实现这些数据结构。给学生打下扎实的程序设计所需的数据结构基础,加强深入学习后续专业课的兴趣。

(4)深入介绍C语言的各类数据类型。数据类型是程序设计语言的重要组成部分,理解数据类型和它的作用对于学好程序设计语言和掌握程序设计方法非常重要。为此,除基本数据类型,数组、结构、联合、字段结构等构造类型外,本书还突出介绍各类指针、指针与数组的关系、复杂声明等难度较高的数据类型。

(5)适当强调推理,采用逐步推导、归纳和比较的方法解释复杂类型及其声明,使学生更容易理解和掌握。目的是培养抽象思维能力、形式化的分析推理能力,以及精确的理解C的语法语义的能力。

(6)体现了新C语言标准ISO/IEC 9899:2011中新增语言成分。同时,在书中尽可能直接引用新C语言标准规定的语法和语义。

学习和掌握C语言最有效的方法是实践。作者已出版《C语言程序设计典型题解与实验指导》(清华大学出版社)。此书依据本教材各部分的知识点设计了丰富的例题并进行了详细分析和解答,介绍了主流的C语言程序开发环境的上机操作过程和程序调试方法,针对本教材各章节的主要内容,按递进的方式设计了多元化的上机实践内容,是学习C语言程序设计的一本很有帮助的辅助教材。