C语言解惑:指针、数组、函数和多文件编程
上QQ阅读APP看书,第一时间看更新

前言

C语言编程仍然是编程工作者必备的技能。本书的基础版本《C语言解惑》此书已于2014年由机械工业出版社出版,书号978-7-111-47985-7。通过比较编程中存在的典型错误,从而实现像雨珠打在久旱的沙滩上一样滴滴入骨的效果,使学习者更容易记住编程的要诀,并通过演示如何将一个能运行的程序优化为更好、更可靠的程序,使读者提高识别坏程序和好程序的能力。尽管如此,那本书仍然要照顾初学者并兼顾知识的完整性,所以讨论的深度有所限制。为此,我们决定推出它的提高版,并将讨论聚焦于函数设计。

本书将集中讨论C语言的核心部分——函数设计。函数设计涉及函数类型、函数参数及返回值,这就要求读者熟练掌握指针和数组的知识,此外,还要掌握多文件编程以及多文件之间的参数传递等知识。

因为本书要求读者已经学过C语言,所以我们可以完整、系统地论述各个部分的内容,无须赘述基础知识。本书的另一个特点是每一章之间都有知识交叉,进而达到讲透的目的。如果遇到不清楚的知识点,读者可以自行学习相应参考资料,也可以与《C语言解惑》配合学习。

本书的落脚点是实现C语言的结构化程序设计。为实现这一目标,本书专门选择了完整的设计实例。尤其是第10章,结合趣味游戏程序,综合讲解函数设计和多文件编程。

本书各个部分论述详细,涉及的知识面广,有些知识是传统教材中所没有的,所以它既可以作为从事教学的老师及工程技术人员的参考书,也可以作为常备手册。其实,它不仅对工程技术人员极有参考价值,也能帮助在校生进行编程训练或作为毕业论文的参考资料。此外,本书对于初学者也大有帮助,他们可以将它作为课外读物,对目前看不懂的地方,可以等具备相关知识之后再来研究,彼时将收获更大。总之,本书能帮助各类人群找到自己需要的知识并有所收获,而这也将拓宽本书的应用范围。

本书共分10章。第1章通过例子说明引入指针变量的必要性并简单介绍指针变量的基本性质。第2章通过实例解释指针的基本性质。第3章介绍数组及数组的边界不对称性。第4章介绍C语言中两个非常重要的概念——数组和指针。第5章介绍如何掌握函数设计和调用的正确方法。第6章介绍如何设计合理的函数类型及参数传递方式。第7章先讨论函数设计的一般原则,然后结合典型算法,用实例说明设计的具体方法,以便使读者进一步开阔眼界。第8章结合具体实例详细介绍头文件的编制、多个C语言文件及工程文件的编制等方法,以提高读者的多文件编程能力。第9章给出两个典型的多文件编程实例,一个使用链表,另一个使用数组。第10章中的游戏程序实例将加深读者对一个完整工程项目的理解。为了学习方便,本书提供全部程序代码。

本书的两位作者分别撰写各章的不同小节,然后逐章讨论并独立成章。刘燕君负责第1~6章,刘振安负责第7~10章,最后由刘振安统稿。参与本书工作的还有周淞梅实验师、苏仕华副教授、鲍运律教授、刘大路博士、唐军高级工程师等。

在编写过程中,我们得到了中国科学院院士、中国科学技术大学陈国良教授的大力支持,特此表示感谢!对书中所引用资料的作者及网络作品的作者表示衷心感谢!

作者

zaliu@ustc.edu.cn

2016年6月