在信息化高速发展的今天,普适计算、网格计算、云计算、物联网、大数据和人工智能等新技术层出不穷,这些新技术的进步几乎都离不开计算机程序,而所有的程序都是用程序设计语言编写的。作为当代大学生,不仅要熟练操作计算机,熟悉计算机求解问题的方法并以此来解决专业问题,即具备“计算思维”的能力,更为重要的是要学好一门计算机语言,掌握程序设计方法,能够运用程序设计语言进行程序设计、程序调试和程序测试,能够编写计算机程序解决一些简单的与专业相关的实际问题。 在目前常用的数十种计算机高级语言中,C语言的语言格式最接近于自然语言或数学函数形式,由于其语句结构简洁、使用方便、灵活、可移植性好、程序运行效率高,既具有高级语言的一切功能,又具有低级语言的一些功能而受到广大编程爱好者的喜爱。到目前为止,几乎所有的高级语言都是以C语言为基础的(如Java、C++、C#、Python等);在进行底层程序开发方面的工作时,C语言仍然是最普遍需要的语言。 编者长期在一线从事“C语言程序设计”课程教学,根据教学经验编写了本书。本书自从2006年出版以来,经过多次改编,此次改编是在2015年出版的《C语言程序设计》基础上,结合2017年7月教育部高等学校大学计算机课程教学指导委员会在第六届计算思维与大学计算机课程教学改革研讨会上提出的高校设置计算机基础课程教学实施方案编写而成。初学C语言的学生一般会感觉比较难,不易掌握。编者在编写本书时,针对C语言在学习过程中的问题,以“易学”“丰富”“实用”三条主线为出发点,在内容的编排、例题的选择、编写的方式等方面做了一些新改进。 (1)每个例题都从思维入手,以任务为驱动来构造求解问题的过程和程序,归纳起来包括5个步骤:第一,是用清晰简洁、易理解的语言对案例问题进行描述;第二,逐步诱导学生分析和理解问题,得到求解问题的大概过程和思路;第三,对问题进行抽象,即将解决问题的思路转化成计算机能识别的形式,完成对问题的符号化描述,建立问题求解的数学模型;第四,设计解决问题的具体算法,通过自然语言、伪代码或流程图等来描述算法;最后,用C语言编写程序,实现算法与具体代码。 (2)丰富的教学案例是本书的特色之一,全书挑选了80多个程序实例,并特别注意各实例之间的联系,很多实例以两种方式贯穿全书。这样做的目的是用新学过的知识重新编写原来的程序,并对原来较小的程序进行扩充、组合,使之成为较大、较复杂的程序。对学过的程序用新的结构重新编写,可以有效地复习原有知识,并加深对新知识的理解。对原有的程序进行扩充,既能使读者学会编写较大的程序,又是一种温故知新的方式。 学习计算机有一句至理名言:“向计算机学习计算机。”这告诉我们,学习计算机不能崇尚教条或书本,主要是靠多实践。在课堂上是学不会计算机的。在学习的过程中,初学者应注重实践,多上机调试程序。教材中程序的源代码绝大多数是编者为了教学需要而编写的,且在教学中经过了多次使用。全书的所有源程序代码都已经过严格测试,以确保代码的正确性。读者在使用本书的程序代码时,如果没有输入错误(要特别注意符号的输入,如果将英文字母或标点符号输入为中文格式,则肯定会出错),则代码都能编译通过并正确运行。 全书共11章,孙辉、吴润秀担任主编,叶军、朱华生、冯祥胜、王磊、韩宇贞、田秀梅担任副主编。具体分工如下:朱华生和王磊合作编写了第1章、第2章,吴润秀和田秀梅合作编写了第3章、第4章,孙辉和和韩宇贞合作编写了第5章、第6章,叶军编写了第7章、第8章,冯祥胜编写了第9章、第10章,孙辉编写了第11章。叶军对全书进行了统一修改及统稿。 本书是针对C语言的初学者编写的。为了适应某些中级读者,也为了使初学者尽快提高水平,自第7章开始,内容的难度有了较大幅度的提升。有些程序较长,并有一定的难度,但只要读者能将程序输入计算机并调试通过,再通过跟踪程序的运行,是不难理解这些程序的。 由于计算机技术的发展日新月异,加上编者水平有限,书中疏漏之处在所难免,敬请专家、教师和广大读者不吝指正,有问题请发送邮件到2003992646@nit.edu.cn。