前言
C程序设计实验指导与实用应试教程(第2版)C语言是一门面向过程的、抽象化的通用高级程序设计语言,兼具高级语言和低级语言的功能,因而得到广泛的应用。C程序设计是高等院校计算机专业及理工科非计算机类专业的一门重要基础课程。同时,C程序设计是一门实践性很强的课程,该课程的学习有其自身的特点,学习者必须通过大量的程序设计实践来提高对程序设计的认知。因此,C程序设计课程的教学重点应该是培养学生的实践编程能力,教材也应适应这种要求。
本书集众多长期从事C程序设计教学工作的一线教师的经验和体会,并参考大量的国内外相关文献编写而成。本书由实验指导和应试指导两部分组成,实验部分包括12个实验,每个实验都提供精心设计的调试样例及典型实验题(程序修改题、程序填空题、程序设计题和相应题的扩展)。读者可以先模仿调试样例,再做实验题,通过“模仿—改写—编写—扩展”的上机实践过程,循序渐进地熟悉编程环境,理解和掌握程序设计的思想、方法以及程序调试方法和技巧;实验采用计算机等级考试题型,具有一定的实用性。最后通过一个综合实验,期望读者能够对C语言编程思想有进一步理解,进而提升实际应用编程能力。此外,为了方便读者,本书还提供了实验题的参考解答。对于比较难的实验题,除了给出提示和注意信息外,还在程序中加了注释,并进行了比较详细的说明,以便读者理解。对于相对简单的题目,只给出了程序代码,给读者留下思考的空间。对有些经典题,还提供了多种参考解答,供读者参考和比较,以启发思路。应试指导部分紧扣考纲、考点、考题3个重点,将备考知识点贯穿于对题型的详细讲解中。这部分由5章组成: 第1章详细介绍了顺序查找(线性查找)、选择排序、插入排序、冒泡排序(起泡排序)、折半查找(二分查找)等典型算法的基本思想,并通过实例叙述了算法的具体实现过程,且通过对应的自测题加深对算法的理解和应用;第2章对上机常考题进行分类,按题型进行深入、详细的解析,便于考生专项攻克,提高复习效率;第3章提供了3套上机考试部分模拟试题,并给出了模拟题参考答案;第4章分为程序阅读选择题、程序填空选择题和程序设计题,每题都进行了较为透彻的解析,有些题目还给出了流程图,将考点贯穿于知识点的讲解中;第5章提供了3套笔试模拟预测卷,并给出解答,供考前热身训练。
希望广大读者能充分利用本书提供的资源,以提高C程序设计的教学质量。即使没有时间解答本书全部题目,如果能把全部题目的参考解答都看一遍,而且都能看懂,理解不同程序的思路,也会大有裨益,能扩大眼界,丰富知识。
应该说明,本书给出的程序参考代码并非是唯一正确解答,甚至不一定是最佳解答。对于同一题可以编出多种代码,我们只是提供了一种或几种参考方案,以期抛砖引玉。
本书内容丰富、实用性强,可作为面向“新工科”人才培养的任何C程序设计课程的辅导教材;既适用于高等学校和各类计算机培训教学,还可供计算机工作者和爱好者及报考各类计算机考试的考生自学参考。
本书由廖雪峰担任主编,负责总体策划、拟定编写大纲和最后统稿,并负责编写实验指导部分所有内容和应试指导部分第1章部分章节,还负责提供应试指导部分第2章和第4章的试题库以及对应试指导部分全部内容的校对工作。柳幼松负责应试指导部分第2章和第3章的编写工作。毕保祥负责应试指导部分第4章和第5章的编写工作。王俊负责应试指导部分第1章部分内容的编写和实验指导部分所有内容的校对工作。吴宗大负责提供综合实验的所有资料。同时参与本书编写工作的还有黄惠敏和卓林琳。
在此衷心感谢编写团队的辛苦付出以及学院领导和同事的大力支持。借此机会,对本书所引用试题的命题教师和相关单位表示真诚的感谢,同时感谢清华大学出版社编辑对本书出版所付出的辛勤劳动。
由于时间仓促,作者水平有限,书中难免会有疏漏和不足之处,敬请读者批评指正,不胜感激。同时感谢读者选择使用本书,在使用本书时若有疑问需要与作者交流,或想索取其他相关资料,请与作者联系。
廖雪峰
2024年8月