基本信息
- 原书名:The Art and Science of C:A Library Based Introduction to Computer Science
- 原出版社: Addison Wesley/Pearson

编辑推荐
一本计算机科学的经典教材,强调软件工程和优秀的程序设计风格。本书是美国斯坦福大学,哥伦比亚大学和上海交通大学等高校使用教材。
内容简介
作译者
Eric S. Roberts第一次教授计算机科学入门课程是在20多年前,当时他还是一名哈佛学子。1980年获得博士学位以来,Roberts先后在哈佛、韦尔斯利、斯坦福大学教授计算机科学课程。在斯坦福大学,Roberts担任计算机科学系副主任,并负责本科生的计算机科学课程。虽然Roberts也教授计算机科学的高级课程并作一些研究工作,但他最大的乐趣还是向初学者展示计算机的强大功能。
在斯坦福大学任教的同时,Roberts自1990年起还担任计算机专业协会主席。这是一个由计算机专业人士组成的公益团体,在全美有22个分会,2000名会员。计算机在多方面影响着我们的社会。学习有关计算机的技术固然重要,但确保计算机服务于社会也很重要。
若读者发现本书中有表述不清楚的地方或错误之处,恳请不吝赐教。请通过Roberts的电子邮箱ericr@aw.com与他联系。
目录
专家指导委员会
译者序
前言
第1章 概述
1.1 计算简史
1.2 什么是计算机科学
1.3 计算机硬件简介
1.4 算法
1.5 程序设计语言和编译
1.6 编程错误和调试
1.7 软件维护
1.8 软件工程的重要性
1.9 关于C程序设计语言的一些思考
小结
复习题
第一部分 C语言程序设计基础
第2章 通过例子学习
2.1 "Hello world"程序
2.2 两个数的加法程序
译者序
本书是一本计算机科学的经典教材,是作者二十多年来从事计算机教学的经验的总结,它提供了丰富的计算机科学的基础知识和程序设计的专门知识。本书具有鲜明的特色。首先,用ANSI C作为教学语言。C语言是目前使用最广泛的教学语言,选用C语言可以使学生毕业后很快就能投入实际工作,并为学习C++和面向对象的语言铺平了道路。第二,采用了基于库函数的方法,强调抽象的原则。本书相当详细地介绍了库和模块化开发,介绍了如何通过库隐藏程序的复杂性,这些是现代程序设计的基本概念。第三,在程序设计中最重要的是从陈述问题过渡到解决问题,本书以通俗易懂的方式讲述了这一过程,使学生能轻松而有趣地学习程序设计。
程序设计既是一门科学,也是一门艺术。学习良好的程序设计需要掌握很多知识,而不只是记住一组规则。必须通过实践以及阅读其他程序来学习。本书包括大量的程序实例,这些实例说明了如何用C语句建立一个完整的程序,如何培养良好的程序设计风格。每章都用丰富的复习题作为知识点的总结,并包含大量的程序设计练习让读者自己动手做更多的程序设计项目。
正是因为本书具有的上述优点,我们认为把本书译成中文能让更多的学生从中获益,从而打下扎实的程序设计的基础。
参加本书翻译工作的有翁惠玉、张冬茉、杨鑫和蒋文新,由翁惠玉对全书进行审校。本书也是上海交通大学《程序设计》课程所选用的教材。在翻译过程中得到了整个课程小组十多位教师的大力帮助,在此表示衷心的感谢。由于时间和水平的限制,书中难免有错漏之处,敬请读者指正。
译者
2004年8月
前言
Eric S. Roberts第一次教授计算机科学入门课程是在20多年前,当时他还是一名哈佛学子。1980年获得博士学位以来,Roberts先后在哈佛、韦尔斯利、斯坦福大学教授计算机科学课程。在斯坦福大学,Roberts担任计算机科学系副主任,并负责本科生的计算机科学课程。虽然Roberts也教授计算机科学的高级课程并作一些研究工作,但他最大的乐趣还是向初学者展示计算机的强大功能。
在斯坦福大学任教的同时,Roberts自1990年起还担任计算机专业协会主席。这是一个由计算机专业人士组成的公益团体,在全美有22个分会,2000名会员。计算机在多方面影响着我们的社会。学习有关计算机的技术固然重要,但确保计算机服务于社会也很重要。
若读者发现本书中有表述不清楚的地方或错误之处,恳请不吝赐教。请通过Roberts的电子邮箱ericr@aw.com与他联系。
致学生
欢迎你!拿起这本书,你就迈进了计算机科学的世界--这门学科出现在半世纪以前,现在却成为这个时代最具生机和活力的学科之一。
在几十年的发展过程中,计算机几乎使所有领域中看似不可能的事情成为可能。由于计算机可在瞬间将信息传递到任何地方,所以今天的企业家能以空前的规模经营跨国公司。由于计算机可进行必要的、但人工很难完成的计算,科学家才能解决许多问题。电影人利用计算机制作出更具感染力的视觉效果。由于计算机能处理医学中大量的信息处理,因此医生能对患者的病情做出更精确的诊断。
计算机技术正在飞速发展。目前我们已经看到的优势与新的世纪将要经历的发展相比肯定将相形见绌。最近50年,计算机已经对世界产生了深远影响,在新的世纪亦将如此。今日的学生将会是执行这项伟大的工程的中流砥柱。要做到这一点,就必须懂得如何使用计算机。
和其他值得掌握的技能一样,理解计算机的工作原理以及学会怎样控制它们是需要花费时间的。这一切不可能一蹴而就,必须从某个起点开始循序渐进。2500年前,中国的哲学家老子曾说过:"千里之行,始于足下"。本书就是一个很好的起点。
然而对很多人来说,万事开头难。许多学生在计算机面前束手无策,认为计算机科学超出了他们的理解范围。可是基本的程序设计并不需要具备高等数学和电子学的知识。在程序设计中,最重要的是能否从陈述问题过渡到解决问题。要做到这一点,就必须以逻辑方式考虑问题。训练自己用计算机能够理解的方式表达自己的逻辑。最重要的是,不要被困难和挫折压倒,要坚持到底。若能坚持下来,就会发现解决问题是件多么令人兴奋的事情,它所带来的喜悦足以让你忘却学习过程中遇到的任何挫折。
本书旨在教授程序设计基础和C语言基础。C语言是当今计算机产业中处于主导地位的程序设计语言。本书不但介绍了程序设计中的"为什么",还介绍了"如何做",使读者对程序设计有总体的印象。为使读者避免出现那些阻碍学习的错误,本书在结构上做出了精心安排,可以帮助读者掌握重点。接下来将总结本书在结构上的一些独具匠心之处,并说明如何在学习过程中高效地利用本书。
本书的特色
为了使本书在学习C语言的过程中发挥最大的作用,首先要充分了解本书的一些特色。
1)本书的每一章都包含一些指导读者学习以及掌握主题的材料。
·学习目标中列出了该章包含的关键内容。因为每个目标都与一个具体的技能相关,所以该章的学习目标有助于你评估自己对基本知识的掌握程度。
·小结部分详细地描述了你应该学到的与学习目标部分相关的知识。
2)程序设计既是一门科学,也是一门艺术。形成良好的程序设计风格需要掌握很多知识,而不只是记住一组规则。你必须通过实践并阅读其他程序来不断学习。书中在介绍程序设计时的一些特色可以为你提供帮助。
·本书包括大量的程序实例,这些实例说明了如何用c语句建立一个完整的程序。这些实例也可作为你自己设计程序时的模型。在许多情况下,你可以对书中的程序作简单的修 改来解决一个新的程序设计问题。
·实例输出具有统一的格式,都是用一个带圆角的方框模拟计算机的屏幕。输入用黑体 表示。
·语法框总结C语法的主要规则,对关键程序设计概念作简单的回顾。