
前言
随着经济全球化、社会信息化时代的到来,当代大学生不但要会使用计算机获取专业领域知识,还要会使用计算机进行编程,利用信息技术进行复杂专业问题求解。
C语言是一种被广泛使用的程序设计语言。它具有结构简单,功能强,数据类型丰富,表达能力强,运算灵活方便等特点。用它编写的程序,具有速度快、效率高、代码紧凑、可移植性好等优点。C语言支持自顶向下、逐步求精的程序设计技术,其函数式结构为实现程序的模块化提供了强有力的保障。C语言既具有高级语言的特性,又具有直接操控计算机硬件的能力,具有较强的系统处理能力。C语言能够有效地用来编制各种系统软件和应用软件。
本书从程序设计与C语言之间关系出发,针对学生在学习C语言过程中的茫然,帮助学生首先树立对程序设计的整体认识,然后再进行有目的的C语言学习。
全书共12章,将C语言程序设计分成3个循序渐进的部分。
第一部分是入门基础,由第1~3章组成,主要介绍程序设计与C语言的基本知识,并引入算法的概念,使读者建立起程序设计的概念。这部分的内容奠定了C语言程序设计的基础。通过对这部分内容的学习,读者可以设计由表达式语句组成的简单程序。
第二部分是程序设计的基本结构,由第4章、第5章组成,主要介绍简单程序设计方法、简单算法的设计和用流程图来表达算法,以及两种常用的程序语句结构(分支结构和循环结构)。通过对这部分内容的学习,读者可以了解结构化程序设计的基本思想,掌握C语言程序的3种基本结构,学会设计简单的算法并能依据算法思想编写程序,掌握用C语言程序设计的思路来思考问题和解决问题。
第三部分是模块化程序设计的结构,由第6~12章组成,主要介绍利用数组批量处理数据,利用函数实现模块化程序设计。通过对这部分内容的学习,读者可以了解模块化程序设计的思想和方法,并进一步通过指针、结构体、预编译、位运算、文件等全面了解和掌握C语言程序设计的手段和方法,培养和锻炼开放性地思考问题和解决问题的能力。
针对教学过程中,预期教学目标与最终效果差距大,教师感觉难教,学生感觉难学、难理解,学了也不会编程的情况,我们在编写本书的过程中,从内容体系上做了精心的考虑,以求收到较好的效果。
全书体系合理,案例经典,以程序为核心,由浅入深,启发性强。
为了巩固所学的理论知识,本书每章都附有习题,以帮助读者理解基本概念,进一步熟练掌握C语言的基本思想和基本语句,提高程序设计能力。
另外,我们还编写了与本书配套的《C语言程序设计习题与实验指导》。读者在学习过程中参考该书进行实践练习,有助于逐步掌握C语言程序设计的基本方法和基本技能,有助于提高解决问题的能力。
本书的建议学时数为64学时,其中课堂教学时数为32学时,上机实验时数为32学时,教师在实际教学中可以根据具体情况对书中内容进行取舍,适当减少或增加学时数。C语言程序设计是一门实践性很强的课程,课堂教学必须与实践相结合,实践的作用更大一些。因此,广大读者必须通过大量的编程训练,在实践中掌握语言知识,培养程序设计的基本能力,并逐步理解和掌握程序设计的思想和方法。希望广大读者在学习语言的过程中做到以下两点。
(1)学好语法知识。它们是编写计算机程序的基础。
(2)多上机、多思考、多模仿。只有这样,才能提高自己的编程能力,为将来的学习和工作打下坚实的基础。
本书是程序设计的基础教材,不但适合初学者使用,对专业人员也有一定的参考价值。本书可以作为普通高等院校计算机专业及理工类各专业本科、专升本的教材,也可作为计算机水平考试培训、各类成人教育院校程序设计课程的教材,以及作为计算机应用工作者和工程技术人员的参考书。
本书由杨崇艳担任主编并统稿,王幸民、王园宇、王星魁担任副主编。其中,第1章由王幸民编写,第2章由王娜编写,第3章由李月华编写,第4章由王颖编写,第5章由杨丽凤编写,第6章由王园宇编写,第7章由杨崇艳编写,第8章由王星魁编写,第9章由贾晓华编写,第10章由任少斌编写,第11章由刘永红编写,第12章由雷红编写,附录1~附录4由张海超编写。相洁教授在百忙之中抽出时间对本书进行了审阅。在此对他们及所有为本书的出版付出了辛勤劳动的同志表示衷心的感谢。
此外,本书的出版还得到了山西省教育科学“十三五”规划“1331工程”研究专项课题(编号:ZX-18017)的支持。
由于编者水平有限,加之时间仓促,书中难免存在不妥与疏漏之处,敬请广大读者批评指正。
编者
2019年1月