当前位置: 首页 > 新闻 > 信息荟萃
编号:5266
C语言程序设计现代方法第二版.pdf
http://www.100md.com 2020年11月6日
第1页
第5页
第15页
第26页
第50页
第305页

    参见附件(225642KB,619页)。

     《C语言程序设计:现代方法(第2版)》是C语言的经典之作,书中讨论了标准C和C标准库的全部特性,包括信号、setjmp/longjmp和可变参数列表等其他书中很少涉及的内容。全书由易而难、循序渐进、螺旋式地讲述C语言,很好地处理了指针和位运算等难点

    作者简介

    K. N. King 世界知名的计算机程序设计教育家,现为佐治亚州立大学数学与计算机科学系副教授。他拥有耶鲁大学计算机科学硕士学位,加州大学伯克利分校计算机科学博士学位,曾任教于佐治亚理工学院。除本书外,他还撰写了广受欢迎的著作Modula-2: A Complete Guide 和Java Programming: From the Beginning,并在Dr.Dobbs Journal等专业杂志上发表了许多文章。业余时间,King教授还在多部电影中扮演过角色。

    吕秀锋,亚洲理工大学(AIT)计算机软件硕士,现为北京理工大学软件学院教师。多年来一直从事“计算机基础(双语)”、“C语言程序设计(双语)”以及“程序设计开发与实践”等本科生课程的教学工作,深受学生欢迎。她还译有《数据结构与算法:C#语言描述》一书。

    黄倩,中国科学院计算技术研究所工学博士,中国计算机学会会员。研究方向包括视频处理、视频监控等,已在知名的国际期刊和国际会议论文集上发表10篇论文。译有《编程珠玑(第2版)》一书,受到读者欢迎。

    内容简介

    时至今日,C语言仍然是计算机领域的通用语言之一,但今天的C语言已经和初的时候大不相同了。本书主要的一个目的就是通过一种“现代方法”来介绍C语言,书中强调标准C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了C99标准,并与C89标准进行对照,补充了C99中的全新特性。本书分为C语言的基础特性、C语言的高级特性、C语言标准库和参考资料4个部分。每章末尾都有一个“问与答”小节给出一系列与该章内容相关的问题及答案,此外还包含适量的习题。

    《C语言程序设计:现代方法(第2版)》是为大学本科阶段的C语言课程编写的教材,同时也非常适合作为其他课程的辅助用书。

    组织结构

    本书分为4个部分。

    C语言的基本特性。第1章-第10章包含的C语言内容足以帮助读者编写出使用数组和函数的单文件程序。

    C语言的高级特性。第11章~第20章建立在前面各章内容的基础上,内容有一定的难度,深入介绍了指针、字符串、预处理器、结构、联合、枚举以及C语言的底层特性。此外,第15章和第19章提供了程序设计方面的指导。

    C语言标准库。第21章-第27章集中介绍C语言库-与编译器相关联的庞大函数集合。

    其中一部分内容适合讲解,但大部分材料更适合作为参考。

    参考资料。附录A给出了C语言运算符的完整列表。附录B描述了C99和C89之间的主要差别。附录C讨论了C89和经典C之间的差异。附录D按字母顺序列出了C89和C99标准库中的全部函数,并为每个函数给出了详尽的说明。附录E列出了ASCI字符集。还有一个带注解的参考文献列表为读者指明了其他的信息来源。

    全面讲授C语言的课程应该按顺序覆盖前20章的内容,并根据需要增加第21章-第27章中的一些内容(其中讨论了文件输入/输出的第22章最为重要),短期课程可以忽略以下内容而不失连贯性:8.3节(变长数组)、9.6节(递归)、12.4节(指针和多维数组)、14.5节(其他指令)、17.7节(指向函数的指针)、17.8节(受限指针)、17.9节(灵活数组成员)、18.6节(内联函数)、第19章(程序设计)、20.2节(结构中的位域)和20.3节(其他底层技术)。

    现代方法到底指的是什么

    本书最重要的目标之一就是通过一种“现代方法”来介绍C语言。我试图通过以下这些途径来实现这一目标。

    正确看待C语言。我没有把C语言看成是唯一值得学习的编程语言,而是把它作为众多有用语言中的一种进行介绍。我在书中提到了最适合用C语言编程的应用类型。此外,我还展示了如何扬长避短地使用C语言。

    强调C语言的标准版本。我尽可能少地关注C89标准之前的C语言,只是零星地提到了经典(K&R)C语言(Brian Kernighan和Dennis Ritchie所著的The C Programming Language第1版中所描述的1978版C语言)。附录C列出了C89和经典C之间的主要差异。揭穿神话。现今的编译器常常与过去的C语言基本假设不一致,我很乐于揭穿C语言的某些神话,并挑战一些存在了很久的C语言信条(例如,指针的算术运算一定比数组下标操作快)。我重新审查了C语言的旧惯例,保留了那些仍然有帮助的惯例。

    强调软件工程。我把C语言视为一种成熟的软件工程工具,着眼于如何运用C语言来处理大规模程序设计过程中产生的问题。本书强调程序要易读、可维护、可靠且容易移植,尤其重视信息隐藏。

    推迟介绍C语言的底层特性。虽然这些特性对于那些用C语言编写的系统来说非常有用,但现在它们已经不那么适用了,因为C语言的应用比以前广泛得多。本书没有像其他许多C语言书籍那样把这部分内容放在前面介绍,而是推迟到第20章再进行讲述。

    不再强调“手工优化”,许多书籍指导读者编写一些技巧性较强的代码,以获得程序效率的些许提高。如今优化的C语言编译器随处可见,这些编程技巧往往已经不必要了;事实上,它们反而会降低程序的运行效率。

    C语言程序设计现代方法第二版截图

您现在查看是摘要介绍页, 详见PDF附件(225642KB,619页)