前言
C语言是一种计算机程序设计语言,既有高级语言的特点,又具有汇编语言的特点。C语言可以作为系统设计语言来编写工作系统应用程序,也可以作为应用程序设计语言编写不依赖计算机硬件的应用程序,因此它的应用范围十分广泛。对操作系统和系统实用程序,以及需要对硬件进行操作的场合,用C语言明显优于其他解释型高级语言,有一些大型应用软件也是用C语言编写的。
但是很多初学者对于学习C语言都感到不能很快上手,不能做到自己编写C语言的程序。实际上,这些感觉都是由于没有做大量的练习所致。学习C语言这种结构化很强的程序设计语言,必须经过大量的练习,多读程序、多写程序,才能有比较好的效果。
笔者长期以来从事计算机课程的基础教学工作,因此比较清楚做程序设计的初学者在学习C语言的过程中常见的一些问题和学习过程中的一些困惑。本书的目的是为了让C语言的初学者对于C语言乃至结构化程序设计有一个系统、全面的认识,同时能为今后继续学习其他编程语言打下良好的基础。本书可以使初学者快速地掌握C语言的基础知识,能使读者对C语言有一个全面、直观、系统的认识,同时能掌握结构化程序设计的精髓,最终可以完成独立、专业的C语言程序设计。读者还能利用书中的大量实例,打下学习其他高级语言的基础。另外,本书在最后的应用实例篇涉及到了一些软件开发方面的知识,使得今后读者无论使用何种编程语言独立开发、设计程序的时候都能够使用本书中的软件开发通用过程。
本书的特点
本书帮助读者真正掌握C语言的基础知识,以便遇到问题时,可以立刻使用C语言的思路分析问题;可以单独地分析程序,对C语言的程序段和完整的程序有清楚的分析方法;可以利用已学习的知识,对一些具体的问题有一定的编程思路,可以设计简单的程序;可以调试大型的C语言程序,对程序的不同分支,设计不同的数据进行测试;了解一些完整的实际问题的处理例子,为计算机后续课程的学习打下一个坚实的基础。
本书对C语言的基础知识的介绍比较详细,对于基础知识点配有其在程序中的应用介绍,有效地把枯燥的基础知识转化成程序中的用法,可以加强读者对C语言基础知识的记忆。比较详细地介绍了C语言选择结构、循环结构常见的程序分析方法,尤其是针对循环结构,讲述了单层循环、带有跳转的单层循环,以及二层循环的程序分析方法,介绍得比较清晰、易懂。对于一些常见问题给出了套路式的解决问题的方法,为初学者学写程序提供了一个练习的途径。对于数组、函数等知识点以详细分类的方法介绍说明,便于读者对不熟悉的知识点进行查找和学习。
本书的特点主要体现在以下几个方面。
◆ 本书的编排采用循序渐进的方式,适合初学者逐步掌握C语言的基础、技巧和精髓。
◆ 本书编排了大量的实例,即使比较少的代码和错误的代码示例也有配套的源代码,为读者进行调试提供了方便。
◆ 养成良好的程序调试习惯是语言学习者必须具备的,因此本书加入了调试程序这一章,读者可以在调试程序中随时翻阅本章,不受基础知识的限制。
◆ 在比较重要的知识点或者数据类型的章节后面,都通过一个具体问题的解决来应用这个知识点。书中的大部分实例都给出了编程思路和步骤,同时在源代码后面对程序的运行状态和问题的转化以及对该代码的进一步诠释,可以帮助读者利用这些问题解决方案来解决另外的问题。随书光盘中提供了书中实例的源代码,方便读者使用。
◆ 在每一章或者每一个比较重要的知识点后面,都有相关的常见错误解析和改正方法,有助于初学者了解和学习。另外,对于每一章中初学者经常会提出的一些问题,均以问答的形式予以解答。
◆ 本书最后的实例渗透了部分软件工程学的思想,旨在给读者介绍通用的软件开发过程,使读者在今后使用其他开发语言工具的时候也能找到正确简便的开发步骤。
本书的内容安排
本书共分为5部分,共23章,由浅入深,从理论到实践,尤其适合初级读者逐步学习和完善自己的知识结构。
第1部分“基础篇”(第1章~第6章)介绍C语言的基本语法和C语言主要控制语句的基础知识。本部分包括:C语言概述、数据类型与常量变量、表达式与运算符、顺序程序设计、选择程序设计、循环程序设计等。力求浅显易懂,从第一次接触C语言入手,逐步深入到C语言的组成元素和基本的控制结构,让读者一开始就有系统考虑程序设计的思想。
第2部分“进阶篇”(第7章~第11章)介绍C语言中比较复杂的知识。本部分包括:数组、函数、作用域程序设计、指针、字符串等几章。本部分的内容是C语言的精髓所在,其中包括了一些比较复杂的内容,如指针等。本部分使用大量的实例代码和图表解释,尽可能做到让读者理解程序运行的过程。
第3部分“高级篇”(第12章~第15章)介绍C语言中的高级应用以及程序调试的方法。本部分包括:编译预处理、程序调试、结构体与共用体、自定义类型与链表等。本部分内容属于比较高级的应用,有一部分知识已经涉及到了简单数据结构的范畴。本部分中仍然使用较多的实例代码和图表解释,做到让读者见图知义,能够理解C语言程序在运行时的内存使用情况。
第4部分“底层开发篇”(第16章~第20章)介绍C语言中的底层开发技术。本部分包括位运算、文件操作、屏幕和键盘的控制等。本部分内容属于底层的应用,仍然使用较多的实例代码和图表解释,让读者能够使用C语言程序对文件、屏幕和键盘进行操作。在本部分的最后,还介绍了C++语言对C语言进行的扩展,让读者能够在未来学习类似C++等面向对象的设计语言时有所了解,为以后的学习做知识储备。
第5部分“应用实例篇”(第21章~第23章)利用几个实例介绍C语言解决实际问题时的应用。本部分包括3个实例程序,每个实例程序均遵循“问题提出”→“问题分析”→“模块划分”→“模块内部设计”→“编程实现”→“测试”6个环节,力求让读者能够从实例中学会如何从一个具体问题出发直到设计出可以解决实际问题的软件的过程。
本书所涉及的代码,请访问博文视点公司网站(www.broadview.com.cn)下载。
本书由刘丕顺主编,迟剑、刘艳飞编写,其他参与编写的人员有张金霞、曾光、张双、朱照华、黄永湛、刘新、孟祥嵩、李勇、张贺军、关涛、王岩、李晓白、魏星等。在此一并表示感谢!
编 者