图书前言

前    言

为什么要写这本书?

计算机语言是和计算机交流的一种途径,和我们都要学习英语的目的一样,在最开始学习计算机语言的时候,一定要选择一种最流行的语言开始学习。C系列语言就是现今最流行的语言,C语言是C系列语言的核心,是学习C系列语言的起点,同时也是了解和掌握计算机程序最基本的构成和运行特点最简洁的语言。

大部分C语言的初学者都有一些共同的疑问,那就是已经了解语言的基础知识,可是在程序中出现的基础知识的应用却不明白,或者不能把基础知识应用到程序;还有一部分初学者经过努力学习,感觉C语言的知识已经掌握较好,但是在接触新的思路和方法,比如在学习数据结构的时候,不知道如何把已有的思路转换为程序;还有一部分初学者在分析程序代码时,例如进行解决程序填空等问题的时候,无法快速分析出代码的结构以及功能;甚至于大部分C语言学习者在自己独立编写代码解决问题的时候,不知道如何下手解决实际问题。

实际上这些问题都是C语言的初学者或者已经学习一段时间C语言的入门者所共有的问题,本书写作的目的就是寻找解决这些问题的答案。

本书精心选择了500多个实例,主要对于C语言基础知识在程序代码中的应用进行详细的描述,给出了C语言常见问题的解决方案和解决模式,对于比较重要的算法思想给出多个不同情况下的实例分析。例如同样属于累计求和问题,出现的问题主要有符号统一、不统一情况的处理;下一项在前一项基础上求解及下一项利用项数求解处理;不等式的累计求和处理等,这些情况在本书中划分详细,算法结构清晰易懂。

本书有何特色?

本书选择的实例涉及C语言基础知识的应用、C语言程序控制结构的深化理解和研究、C语言模块化程序设计的特点、C语言常见算法描述、C语言在数据结构学习中的应用,以及C语言在底层开发中的应用。

本书知识介绍全面,应用实例选择广泛并具有实际意义,对于学习和掌握C语言的帮助很大。本书由多个长期讲授C语言、数据结构以及计算机组成原理的教师合作完成,每个教师都对C语言在不同领域的应用理解比较透彻。全书讲解方式简单直接,实例安排从简到难,主要的特点有:

* 本书每章的实例选择都是从C语言的基础知识在程序中应用描述开始,为初学者学习和掌握基础知识提供了铺垫。

* 本书对于一些容易在程序中出错的基础知识,专门给出了常见的程序错误分析,以及对如何查找错误提出了建议。

* 本书选择的程序代码长度适中,力求每个代码都能介绍清楚,并给出了清晰的代码执行思路和该类问题的解决思路。

* 本书列举的大部分程序代码,最后都给出了在此问题上如何改进,以及遇到类似的新问题如何确定解决思路。

* 本书对于重要的算法或者比较难的算法,给出了详细的说明或者数据说明,同时给出了相应的改造建议和深化建议。

* 作者专门为本书的每一个实例都录制了多媒体视频讲解,以方便读者更加直观地学习每一个实例的实现过程。

本书内容及知识体系

第1篇  基础篇(第1~7章) 主要介绍常用的数据类型和三种程序设计的基本结构,以及其中涉及一些常用的算法,另外还包括了由C语言基本知识构成的小程序。

本篇包括189个实例。涉及的内容有C语言概述、C语言中的数据和表达式、顺序程序设计、选择程序设计、循环程序设计、控制结构综合实例、数组等。每个例题的选择力求浅显易懂,从第一次接触C语言程序设计,逐步深入到C语言的组成元素和基本的控制结构,再到多个数据存储和处理。本篇主要目的是让读者对C语言编程有了大概的了解,可以进行结构化的程序分析,同时掌握一些基本的解决问题的程序设计思想。

第2篇 提高篇(第8~13章) 介绍了C语言程序构成的单位函数及C程序设计中最灵活的部分指针。另外还包括了字符串的处理及处理多种数据结构类型。

本篇包括236个实例。主要涉及C语言中的函数、指针、字符串、编译处理和变量作用域、结构体和共用体、链表等。本篇的例程主要体现的是C语言的精髓,其中包括了一些比较复杂的内容如指针在程序中的作用等。本篇中使用大量的实例代码尽量让读者熟悉程序运行的过程。

第3篇  算法篇(第14、15章) 介绍了一些常用的数据结构以C语言实现的方法以及这些数据结构的使用方法,另外还包括一些程序设计中常采用的算法思想。

本篇包括35个实例。涉及常用的数据结构以及常见的算法。本篇的例程主要在C语言中实现一些常见的数据结构,并使用这些数据结构来解决常见的问题,读者可以很方便地在实例的基础之上进行改写以实现新的功能;除此之外还简单地描述了一些常用的算法,这些算法是读者应当仔细揣摩和练习的,对以后编程很有帮助。

第4篇  底层处理与项目开发篇(第16~19章) 介绍了在底层处理中用到的运算符;在C语言中进行文件操作的方法和常见的应用;利用C语言调用图形窗口以及中断作用说明,最后还给出了一个完整的应用软件系统。

本篇包括92个实例,主要涉及C语言的图形操作和系统控制。C语言有强大的底层处理功能,这些例程主要描述在底层处理中如何加入C语言程序,为程序的进一步扩充给出了简单的方法。

本书约定

【实例介绍】:对需要解决的问题的已知条件和需要解决的部分做出说明,对于某些复杂的问题举例说明该题目的功能是什么,以及要求是什么。

【技术要点】:对待解决的问题给出精辟的分析说明,主要说明问题解决思路,代码构成特点。

【难点剖析】:对于比较困难的实例,给出难点是什么,如何分析难点解决难点,在前面的基础知识部分,难点剖析部分给出的是对于初学者来讲不容易理解的部分和对它的详细分析;后面的应用部分,难点剖析给出的是难点代码的分析实现思路扩展。

【程序代码】:这一部分给出了解决问题的主要C语言代码,在代码中对于重要的变量或者复杂的语句给出注释和解释,对于复杂的函数给出了功能介绍,每一个函数以及函数内的每一条代码都是按照常见的C语言的格式书写的,仔细研读不但可以掌握常见问题的代码书写,对于养成良好的书写风格也是有帮助的。一个实例中有两处代码,或者有正确代码和错误代码对比的,用【程序代码1】、【程序代码2】等标识。

【关键代码分析】:对于程序代码中的关键之处加以详细说明。

【程序运行】:除程序运行过程,对于特殊的部分,例如预编译部分,给出查看预编译效果的运行过程,也就是使用tcc工具查看运行结构过程,对代码中的变量和某些重要语句的作用给出分析和说明。

【拓展应用】:通过代码的学习,为以后的问题解决提供了什么思路,该问题在解决过程应该注意的事项和该问题还可以采用何种算法来解决,都在这部分给出说明。

配书光盘内容介绍

为了方便读者阅读本书,本书附带1张DVD光盘。内容如下:

* 本书550余个实例的源代码。

* 本书550余个实例的多媒体视频讲解,包括实例的实现过程和运行演示。

* 免费赠送的大量互补学习资料,包括编程讲座视频、编程电子书和应用系统等。

适合阅读本书的读者

* 所有想学习C语言的初学者。

* 已经学习C语言基础知识,想进一步学习C语言程序设计的读者。

* 想参加初级、中级程序员考试以及参加全国二级C或者C++考试的人员。

* 进一步学习计算机其他课程例如数据结构想选择参考书的人员。

* 想了解C作为中级语言特点的人员,可以作为开发底层程序的第一本书。

* 各大、中专院校和培训学校的C语言教材。

阅读本书的建议

* 没有C语言基础的读者,建议从第一章顺次阅读并演练每一个实例。

* 有一定C语言基础的读者,可以根据实际情况有重点地选择阅读。

* 对于每一个实例,可以先思考一下实现的思路,然后再阅读,这样的学习效果       更好。

* 先对每一个实例的实现思路和实现过程完整地阅读一遍,然后再结合光盘中的多媒体视频讲解动手实现一次,这样理解会更加深刻。

本书作者及编委会成员

本书由刘艳飞、迟剑、房健主笔编写。其他参与编写和资料整理的人员有武冬、郅晓娜、孙美芹、卫丽行、尹翠翠、蔡继文、陈晓宇、邓薇、郭利魁、金贞姬、李敬才、李萍、刘敬、陈慧、吕博、全哲、佘勇、宋学江、王浩、王康、王楠、杨宗芳、张严虎、周玉、张平、张靖波、周芳、杨罡、于海滨、张晶杰、张利峰、杨景凤、陈锴、郑剑锋、叶佩思、张涛、赵东彪、王双。在此一并表示感谢!

本书编委会成员有欧振旭、陈杰、陈冠军、顼宇峰、张帆、陈刚、程彩红、毛红娟、聂庆亮、王志娟、武文娟、颜盟盟、姚志娟、尹继平、张昆、张薛。

编著者

??

??

??

??

前言

前言

·IV·

·III·