图书前言

前    言

  现代科学技术正在迅猛地发展着,软件技术在其中发挥着巨大的作用。软件产业本身具有低能耗、低资源、无污染和高产值等特点,应当大力发展软件业。同时,软件技术已经渗透到各行各业,并推动着这些行业的迅速发展。合理利用软件技术可以迅速提升我们生活与工作的效率。另外,软件技术也是世界各国竞争的焦点,我国所面临的很多卡脖子难题与软件密切相关。因此,如何尽快地掌握计算机知识,学好一门计算机语言,编写出高质量的软件,并用来解决我们在生活与工作中的实际问题,有着迫切的国家与社会需求。本书希望能在这方面为读者提供智慧的翅膀,越过学好一门计算机语言的种种障碍,尽情享受学好一门计算机语言的种种乐趣。

  C语言是迄今为止人类发明的最为成功的计算机语言之一,应用非常广泛,同时也是很多其他计算机语言的基础。例如,C++语言是在C语言基础上发展起来的计算机语言,而Java语言和C#语言则是在C/C++语言的基础上发展起来的语言。无论如何发展与变革,C语言本身依然不断展示出巨大的优势,数十年来一直在开发商业软件所采用的计算机语言当中名列前茅,深受人们青睐。C语言程序常常以短小精悍且运行效率高著称。这实际上也体现出了C语言强大的表达能力和处理实际问题的能力。

  无论国内还是国外,C语言程序设计目前通常是计算机或软件专业学生学习的第一门计算机语言课程。这说明C语言是一门相对比较容易入门的计算机语言。它容易上手,而且可以迅速用来解决实际问题;它具有很大的灵活性,可以支持结构化程序设计,可以用来培养严谨的编程思维习惯;C语言具有很好的通用性,容易理解,可以构成学习其他计算机语言的基础。

  希望本书能够给读者带来尽可能多的益处。对于学习而言,首先最重要的应当是对学习方法的引导。学习每门课程都有其内在的学习规律。顺应其规律,采用正确的学习方法一般会产生良好的学习效果。学习首先应当是“学以致用”。为此,作者常常利用各种机会调研软件公司对程序设计的实际需求。如果能够从应用出发进行学习,那么会提高学习的效率。另外,学习过程的关键应当是实践。本书是实践的一种辅助工具。为此,本书比较详细地讲解了如何在VC平台(Microsoft Visual Studio C++平台)以及Linux和UNIX操作系统下进行C语言程序设计实践的方法,努力降低进行C语言实践的难度,希望读者能够很快入门并进行C语言程序设计实践。在本书每章的后面都有习题。对于书中的习题,没有提供答案,只是因为真诚希望这些习题能够给读者增加一些自主性思考和实践练习的机会。自主性思考意味着应当通过自己的思考去理解C语言并求解问题,而且同时应当不要拘泥于某一种答案,即可以采用多种不同的方法求解相同的问题,从而快速掌握C语言及其程序设计方法。不过,本书提供了大量的例程及其详细的讲解,读者可以进行模仿。同时,希望读者能够经常总结实践过程的收获,享受其中的成就感,即使无法最终求解问题。

  本书还讲解了C语言所有常用的库函数、运算符与宏,在一定程度上体现出了C语言程序设计手册或指南的特点。为了方便读者查找本书知识点和中心内容,通过加黑加粗加框的方式强调各部分内容的中心词以及各个基本概念或定义的核心词,并且提供了非常明显的注意事项、说明和小甜点等内容。此外,本书在鲁棒编程、高效编程和规范编程等方面也形成了一些特色。

  本书既可以作为计算机专业和非计算机专业的基础教材,也可以作为需要使用计算机的工程人员和科技工作者的自学参考书。本书在编写与出版的过程中得到了许多朋友的帮助,其中,读者,选修作者所负责的课程的学生,作者所负责的清华大学计算机辅助设计、图形学与可视化研究所的同事与学生起到了非常重要的作用。他们的建议和批评意见是本书发生变化的最重要的外在因素。而且他们当中的很多人也参与了本书的校对工作。本书也凝聚了他们的劳动结晶。这里一并对他们表示诚挚的谢意。真诚希望读者能够轻松并且愉悦地掌握C语言程序设计,也希望自己能做得更好。欢迎广大读者特别是讲授此课程的老师对本书进行批评和指正。真诚欢迎各种建设性意见。

  

  雍俊海 于清华园

  2025年1月

  

  

  

C程序设计(第2版)

  

前    言

  

·II·

  

·II·?