前言Foreword C语言既有高级语言的强大功能,又有很多直接操作计算机硬件的功能。因此,C语言通常又称中级语言。学习和掌握C语言,既可以增进对计算机底层工作机制的了解,又为进一步学习其他高级语言打下坚实基础。 本书以初学者视角为出发点,讲解C语言基本语法及使用C语言解决实际问题的编程方法,内容深入浅出、循序渐进,在锻炼学生逻辑思维的同时,引导学生思考难度逐渐加深的问题,并学习编写规模逐渐加大的程序。 本书按知识结构分为三部分。第一部分(第1~4章)为基础入门,主要介绍C语言的发展及特点、编译环境及程序开发步骤、数据类型、常量和变量、运算符和表达式、顺序结构、选择结构、循环结构等内容,讲述时结合大量的流程图、例题、表格、视频,帮助初学者对C语言语法及结构化程序设计方法快速入门,为后续编程奠定基础。第二部分(第5~8章)为进阶提高,主要介绍数组、函数、指针、字符串等内容,通过这部分的学习,读者将掌握更深一层的C语言开发技术,锻炼使用计算思维的方法分析和解决问题。第三部分(第9~12章)为高级应用,主要介绍构造类型、文件、位运算、指针高级应用等内容,通过这部分的学习,读者可掌握更多C程序设计的编程手段,促进创新思维能力的培养。 本书与国内同类教材的一个重要区别是,对初学者各类常见的易错及易混问题进行重点剖析。很多同类教材只讲对的,不讲错的,对初学者来说,如果不能了解和认识错误,就不可能真正懂得编程。实践表明,人们从错误中学到的东西往往要比从正确中学到的东西多得多。因此,本书大量采用对比实例及表格,在“比较”中让初学者明晰各种易混概念及易错知识点,从而帮助读者更深入地理解和掌握C语言。 本书在编写时注重突出以下特色。 1. 易混问题多比较 C语言的很多易混知识点常引起初学者编程中出现各类语法错误和逻辑错误,使得编写的程序难以达到预期结果,严重影响学习的兴趣与信心。编者根据多年的教学经验,将这些易混易错知识点总结为大量表格,或以对比型实例形式呈现。读者在阅读本书时,能体会到“比较式教学法”贯穿全书。多比较,才能将知识理解得更透,掌握得更牢。 2. 重点问题多强调 深刻理解各章的重要知识点是培养C语言编程技能的基础,为了让初学者对重点问题提高警觉、加深印象,本书将重点问题的描述设置为彩色字体,或以“敲重点”“注意”等字样进行标识。重点问题的讲解配以实例代码和微课视频,以及各种归纳性的表格,包括课后习题也围绕对重点难点的考查进行编排。 ◆深入浅出C语言程序设计(第3版·微课版)前言3. 难点问题浅入深 对于容易使初学者产生畏难情绪的难点问题,本书特别注重采用图文结合、循序渐进的方式进行讲解。例如,讲解循环嵌套时,通过依次输出难度递增的图形,让读者逐渐体会循环嵌套的执行过程;讲解级数求和问题时,通过建立数学表达式与语句之间的对应关系,总结级数求和问题的解题“套路”,让初学者能够对同类问题举一反三;讲解函数参数传地址问题时,先给出错误程序,借助抛砖引玉的手法,最终引出参数传地址方式解决问题。书中处处体现深入浅出的内容设计,让读者学得轻松,让难点问题在潜移默化中得到突破。 4. 抽象问题形象化 C语言属于偏底层的高级语言,对初学者来说,底层逻辑通常较为抽象,不易理解。俗话说“一图胜千言”,简洁明了的图表往往能够让抽象的问题形象化。选择、循环如何执行?指针如何访问内存?结构体各成员如何存放数值?链表操作时指针如何移动?对于这些抽象问题,书中绘制了大量的流程图、结构图、过程图等,图文并茂的解说让抽象的C语言底层逻辑变得形象化,易于理解。 5. 一题多解展思路 为了帮助初学者融会贯通新旧知识、拓展编程思维,书中对很多例题提供了一题多解的思路。使用终值变量法或标记变量法求解素数问题,使用一维数组或函数递归求斐波那契数列,使用下标法或指针法引用数组元素,使用多种方法定义函数,等等。分析问题的多角度、程序设计的多样化,在启发读者思维的同时,又夯实了基础。 6. 配套资源立体化 本书配套电子课件、教学大纲、习题答案及详细解析、实例源代码、微课视频等教学资源。 书中的所有实例及各章知识点小结配套了微课视频,之所以为这两部分内容配微课视频,基于以下考虑: 实例是理论与应用的结合,且实例中包含了各章最重要的知识点,对实例代码的讲解以提出问题、分析问题、解决问题、归纳总结为主线,能够很好地培养初学者的计算思维和编程能力;结合思维导图对各章知识点进行小结,层层展开的思维导图能够帮助初学者对各章重点难点问题建立清晰的知识脉络和认知框架。另外,教学资源中还提供了各章课后习题的详细解析及参考程序,方便读者自学。 本书由李俊萩、强振平、荣剑任主编,张晴晖、赵毅力、钟丽辉任副主编。第7、9、12章由李俊萩编写,第1、8章由强振平编写,第4、5章由荣剑编写,第10、11章由张晴晖编写,第6章由赵毅力编写,第2、3章由钟丽辉编写。全书由李俊萩统稿。 由于编者水平有限,书中难免有不当之处,恳请广大读者提出宝贵意见和建议。 编者2023年5月