C和指针介绍

所需积分/C币:24 2013-07-03 08:38:40 11.06MB PDF
1
收藏 收藏
举报

提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。
C和C+突务精遂 C和指针 Keluntth areek著 徐波译 人民邮电出版社 C和C++实务精选 C和指钆 Kenneth A,配tk 徐波 责仁编辑陈冀廪 ◆人民邮电出版社}版发行北京市文夕照寺14号 出编140)1t了函科35@ ppress.wim,cn 址hup/ws. PtP.ess. coin.cn 读者炼线(10-6732705 北京汉魂图文设计有限公制作 北京顶义华印厂门刷 新华店总后比京发行所经销 ◆丌:8(‰×1tX16 9:2975 字数:7N十字 203年9川第1版 印数:1.5000升 2M3年9月北京第改印刷 著作权介登记图字:01-20-4079 ⅠSBN7-15-456-0P·3528 定价:5500元 本书如有印装质最问题,请与本社联系电话:(010)67129223 图书在编(CI)数据 C和指(美)甲克( Reekka)编兰徐波译,北京:人民邮电出版社,2039 ISBN7-1511456-0 LC.①里.②徐..ⅢC语言程设计IV.TP32 版本图馆CTP数挤核字(200第05642号 版权声明 Implied Chinese Edition Copyright 3 23 by PEARSON EDUCATION ASIA LIMTED and posts TELECOMMUNICATTONS PRESS OCEN:0673-9966 By Kenet A Rcck Copyright @1998 All Rights Reserve Published by arangement with Addison Wesley Lungman, Carson Education, In The edition in authorized far salc caly in the Deople's Republi: of China (exchxdirg t Speial AuIutistrative of Huny Kang and Macau) 太书面有 Pearson educa on(培生教商出版桀团)激光防伪标签。无标签者不得褙售 内容提要 本书提供与C诺言编程关的全面资源和深入讨论。本通过对指钆的其昢知识和髙级特性的 探讨,帮助程序员把指針的强大功能融入到自己的程序中去。 全拱共18章,覆盖了数据、语句、操作符和表式、指针、酥数、数组、竽符串、结构和联 合等几乎所有重要的C编程讦题。书中给出∫很多编稈技和提示,每章后面针对性很强的练小, 附录部分蝴给出∫部分练习的解答 本书强适合C语告初学者和级C程字员阅读,也为计算机专y学生学习C语言的参考。 为什么需要这本书 市面上已经有了许多优秀的讲述C语言的书籍,为什么我们还需要这本呢?我在大 学里教授C语言编程已有10个年头,但至今尚未发现本书是按照我所喜欢的方式来讲述 指针的。许多书籍用一章的篇幅专门讲述指针,而且往往臼现在全书的后半部分。但是 仅仅揩述指针的语法、并用一些简咩的例子展示其用法是远远不够的。我在授课时,跟早 便开始讲授指针,而且在以后的授课过程中也绘常讨论指针。我描述它们在各种不问的上 下文坏境中的有效用法:展示使用指针的编程惯用法 programming idiom)我还讨论了些 相关的课题如编程效率和程序可维护性之间的权衡。指针是本书的线索所在,融会贯通于 全书之屮 指针为什么如此重要?我的信念是:正是指针使C威力无穷。有些任务用其他语言也可 以实现,但C能够更有效地实现;有些仃务无法用其他语言实现,如直接访问硬件,但C却 可以。要想成为一名优秀的C程序员,对指针有一个深入而完整的理解是先决条件。 然面,指针虽然很强大,与之相伴风险却也不小。跟指甲铧相比,链锯可以史快地切 割木材,但链锯吏容易使你受伤,而且伤害常常来得极快,后果也非宫严重。指针就像链锯 样,如果使用得当,它们可以简化算法的实现,并使其更富效率;如果使用不当,它们就 会引起错误,导致缃微巾令人困惑的症状,并且极难发现原因。对指针只是略刘一使放手 使用是件非常危险的事。如果那样射话,它给你带来的总是痛苫而不是炊乐。本书提供了你 所需要的深入而完整的关于指针的知识,足以使你避开指针可能带来的痛苦 C和指针 L 为什么要学习C语言 为什么C依然如此流行?历史上,山于种种原因,ψ界选择了C,其中最王要的原 因就在于它的效率。优秀C程的效率儿乎和丬编话言程序一样高,代C程序明显比汇编语 宝序更易于开发。和许多共他语相比,C给予程序员更多的控制权,如挖制数据的存储 位貿和初始化过程等。C缺“安全网”特性,这虽有助于提高它的效率,但也增加了出错 小可能性。例如,C刘数组下标引用和指针访并不进行有效性检查,这可以节省时间,但 你在使用这些特性时就必须特别小心。如果你在使用C评言时能够严格遵守相关规定,就可 以避免这些潜在的向题 C提供了+富的操作符朱合,它们可以让程序员有效地执行一些底层的计算如移位和屏 等,巾不必求助编语白C的这个特点使很多人把C称为“高层”汇编语言。但是, i要的时候,C程序可以很便地提供汇编语言的接冂。这些特性使C成为实现操作系统 和K入件控制器软件的良好选择 C流彳的巧一个原因是山十的普遍存在。C编译器在许多机器上实现。另外,ANSI标 准提高了C程序仁不同机器之间的叫移植性。 最后,C是C++的基础。C1提供∫一种和C不同的程序设计和实现的观点。然而,如 耒你对C的知识和技巧,如指针利标准库等成竹在胸,将非常有助于你成为-名优秀的C 序员。 为什么应该阅读这本书 本书井不是本关于編程的入门图书。它所面向的读者应该已经具备了一些编程经验, 域者是·一些想学丬C,怛又不想被诸如为什么循环很軍要以及何时需要使用ⅱ语句等肤浅问 题耽误进程的人 力一方面,我并不要求本书的读者以前学习过C.我讲述了C语言所有方面的内容。这 种内容的广泛覆盖性使本书不仅适用于学生,也适用丁专业人员。也就是说,适用于首次学 C的读者和那些经验更丰富的希进步提高许言使拉巧的用户。 优秀的C+书籍把精力集中于与面向对象模型有关的课题上(刘类的没计)而不是专注 于基本的C技巧,这样做是对的。但C+是建立在C的基础之上的,C的基本技巧依然非常 币要,特別是那些能够实现可复用类的技巧。诚然,C艹程序员在阅谈本书时可以跳过一些 他们所熟悉的内容,供他们会在本书中找到许多有用的C工長利技巧。 前言 本书组织形式 本书按照教程的形式组织,它所面向的读者是先前具有编程经验的人。它的编写风格类 似于导师在你的身后注视着你的了作,不时给你一些提示和忠告我的目标是把通常需要多 什实践才能获得的知识和观点传授给读者。这种组织形式也影响到对料的顺序-我通薷住 个地方引入一个话题;并进行完整的讲解。因此,本也可以当作参考手册。 在这种组织形式中,存在两个显蓍的例外之处。首先是指针,它贯穿全书,将在许多不 同的上下文环境中进行讨论。其次就是第1章,它对语言的基础知识提供了一个快速的介绍 这种介绍有物于你很快掌握编写简单程序的技巧。第1辛所涉及的主题將在后续章节中深入 讲解。 较之其他书籍,本书在许多领域着墨史多,主要是为∫让每个题史具深度,向读者传 授通常只有实践才能获得然经骏。另外,我使用了一些在现实编程屮不太常见的例子,虽然 有些不太容易理解,但这些例子显示了C在某些方面的趣味所在。 ANSIC 本书述 ANSIC,是庄ANSO9899199ANSI90进行定义并由KERN89进行描述 的。我之所以选择这个版本的C是于两个原因点先、它是式C有时称作 Kernighan 和 Ritchie[KerN78,或称K&RC)的后继者,并已在根本上取代了后者:其次, ANSI C 是C十的基础。本节中的所有例子都是用ANsC编写的。我营常把“ANIC标准文档”简 称为“标准” 排版说明 语法描述格式如卜 i( expression statemen elge 就过七em9nt 我在语法描述中使用了4种字体,其中必须的代码(如此例中的关键字if)将如上所小 设置为 Courier new字体。必要代码的抽象描述(如上例中的 express1)用 CourIer New表示。有些语们具有可选部分,如果我决定使用可选部分(如此例中的ege关键字), 它将严格按上面的例子以粗体 Courier new表示。可先部分的抽象描述〈如第二个 statement>将以超斜体 Courier new表示。每次引入新术语时,我将以黑体表示 完整的栏序将标上号码,以“程序0]”这样的格式显示。标题给出了程序射名称,包含 C和1指针 源代码的文仵名则显小在下角一这些文件都司以从 Addison Wesley Longman的网站上求 文中有“提示”部分,这比提示中的许多内容都是对良好编程技巧的讨论一就是使程 序更易编写更易阅读并在以后更易理解。当个程序初次写成时,硝徽多做些努力就可能 节约以后修改程序的大量时间。其也-些提示能帮助你把代码写得史加紧凑史有效率 另外还有一些提示涉及软L程约话题。C的诞生运早于现代软件工程原则的形成,因 此:有语言特件和通用技巧不为这些原则所提倡。这些话题通常涉及到某种特定结构的效 利代码的可读性和可维护性之间的利整权衡。这广面的讨论将向你提供一些背景知识,帮 助你判断效率上的收益是否抵得上其他质最:的损失 白看到“警告”时就要特别小心:我将要指出的是C拜序员新于(有时甚至是老手 经常现的错之一,或者代码将不会如你所想的那样运行。这个警牛标志将使提小内容 不易被忘记,而且以后回过头来找也更容易一些 “K&RC"表小我正在讨论ANSC利K&RC之间的重要K别、尽管绝大多数以K&RC 成的移仅需极做小的修改即可在 ANSI C环境运行,但有时体仍可能碰到一个ANS之 前的编译器,域者遇到一个更老式的程予。如此一来,两者的区别便至关重要。 每章问题和编程练习 本书章的最后一节是问题和编程练习。问题难简不,从管单的语法问题到更为复杂 的问题诸如敚率和可维护性之间的杈德等。编程练引按等级区分难度:★的练习最为简单 ★★★★★的练习难度最大。这些练习有许多作为课堂测验已沿用多年。问题或编稠练习前 如果有 入符号,表小在附录中可以找倒比的参专谷案。 补允材料 Addison Wesley Longman专门为本书维护了个 World wide Web站点。该站点的URL是 hup:/www.awl.crsm/eseng/title067399866(或可直接访问作者主页www.cs.hiledukarl) 这个站点包含本书所有程序的源代吗,以章为单位分类。你还可以在上面看到木书的最新勘误 表。你还可以联系附近的 Addison Wesley longman代表,获取 instructor 's Guide,它包含了 书上未给出答案的问题和编程练习的所有答案。 如果你是一位教育工作者,也可以免费获取UNX系统」月动递交和测试学生程序的软 件|REEK89,REEK96],通过置名FTP:s:itdu,月录是pub/kar/ry

...展开详情
试读 127P C和指针介绍
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
    最新推荐
    C和指针介绍 24积分/C币 立即下载
    1/127
    C和指针介绍第1页
    C和指针介绍第2页
    C和指针介绍第3页
    C和指针介绍第4页
    C和指针介绍第5页
    C和指针介绍第6页
    C和指针介绍第7页
    C和指针介绍第8页
    C和指针介绍第9页
    C和指针介绍第10页
    C和指针介绍第11页
    C和指针介绍第12页
    C和指针介绍第13页
    C和指针介绍第14页
    C和指针介绍第15页
    C和指针介绍第16页
    C和指针介绍第17页
    C和指针介绍第18页
    C和指针介绍第19页
    C和指针介绍第20页

    试读结束, 可继续阅读

    24积分/C币 立即下载 >