C语言大学教程

C语言大学教程 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:戴特尔 (Paul Deitel)
出品人:
页数:725
译者:苏小红
出版时间:2012-1
价格:89.00元
装帧:
isbn号码:9787121152214
丛书系列:
图书标签:
  • C语言
  • 计算机科学
  • 教材
  • 编程
  • C语言大学教程
  • 国外
  • CS.320.C
  • 计算机
  • C语言
  • 编程
  • 大学教材
  • 计算机科学
  • 数据结构
  • 算法
  • 程序设计
  • 入门
  • 教学
  • 经典教材
想要找书就要到 本本书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《国外计算机科学教材系列:C语言大学教程(第6版)》是全球畅销的C语言教程之一。全书系统地介绍了4种当今流行的程序设计方法——面向过程、基于对象、面向对象以及泛型编程,内容全面、生动、易懂,作者由浅入深地介绍了结构化编程及软件工程的基本概念,从简单的概念到最终的完整的语言描述,清晰、准确、透彻、详细地讲解了C语言,尤其注重程序设计思想和方法的介绍。相对于上一版,这一版在内容方面新增加了C安全程序设计、“更上一层楼”练习集,更新了C++和面向对象程序设计、基于Allegro的游戏编程、C99标准介绍等内容。

“活代码”方法(即通过可执行的代码来讲解理论概念的方法)是《国外计算机科学教材系列:C语言大学教程(第6版)》的另一特色,它可以促进学生积极地参与到程序设计中来。被突出显示的各种程序设计提示,则是作者多年教学的经验总结。《国外计算机科学教材系列:C语言大学教程(第6版)》不仅适合于初学者学习,作为高校计算机程序设计教学的教科书,也同样适用于有经验的程序员,作为软件开发人员的专业参考书。

作者简介

作者:(美国)戴特尔 (Paul Deitel) (美国)戴特尔 (Harvey Deitel) 译者:苏小红 等

目录信息

第1章 计算机、Internet 和万维网导论 1
1.1 引言 2
1.2 计算机:硬件和软件 3
1.3 计算机组成 3
1.4 个人计算、分布式计算和客户/服务器计算 4
1.5 因特网和万维网 4
1.6 机器语言、汇编语言和高级语言 4
1.7 C语言的发展历史 5
1.8 C语言标准库 6
1.9 C++语言 7
1.10 Java语言 7
1.11 著名的高级语言Fortran,COBOL,Pascal 和Ada 7
1.12 BASIC,Visual Basic,Visual C++ ,Visual C#语言和.NET编程平台 8
1.13 软件发展的重要趋势:对象技术 8
1.14 典型的C语言程序开发环境 9
1.15 硬件的发展趋势 11
1.16 关于C语言和本书的一些注解 11
1.17 有价值的Web站点 12
第2章 C语言程序设计入门 19
2.1 引言 20
2.2 一个简单的C程序:打印一行文字 20
2.3 另一个简单的C程序:两个整数求和 23
2.4 存储单元的基本概念 26
2.5 C语言中的算术运算 27
2.6 做出判断:相等和关系运算符 30
第3章 结构化的C程序设计 43
3.1 引言 44
3.2 算法 44
3.3 伪码 44
3.4 控制结构 44
3.5 if选择语句 46
3.6 if else选择语句 47
3.7 while循环语句 49
3.8 算法设计案例1:计数控制的循环 50
3.9 自顶向下、逐步求精的算法设计案例2:标记控制的循环 52
3.10 自顶向下、逐步求精的算法设计案例3:嵌套的控制结构 57
3.11 赋值运算符 60
3.12 增1和减1运算符 60
第4章 C程序控制 77
4.1 引言 78
4.2 循环的基本原理 78
4.3 计数控制的循环 78
4.4 for循环语句 79
4.5 for循环语句:注意事项 81
4.6 应用for循环语句的例子 82
4.7 switch多重选择语句 85
4.8 do while循环语句 89
4.9 break和continue 语句 90
4.10 逻辑运算符 91
4.11 区分相等运算符(==)和赋值运算符(=) 93
4.12 结构化程序设计总结 94
第5章 C函数 110
5.1 引言 111
5.2 C语言中的程序模块 111
5.3 数学库函数 112
5.4 函数 113
5.5 函数定义 113
5.6 函数原型 116
5.7 函数调用堆栈及活动记录 118
5.8 头文件 118
5.9 按值或按引用调用函数 119
5.10 随机数的生成 119
5.11程序案例:运气游戏 123
5.12 存储类型 126
5.13 标识符作用域的规定 128
5.14 递归 130
5.15 使用递归的例子:Fibonacci数列 133
5.16 递归与迭代 135
第6章 C数组 154
6.1 引言 155
6.2 数组 155
6.3 数组的定义 156
6.4 数组的应用举例 156
6.5 向函数传递数组 166
6.6 数组元素的排序 169
6.7 案例分析:采用数组来计算平均值、中值和众数 171
6.8 数组元素的查找 174
6.9 多下标数组 178
第7章 C指针 198
7.1 引言 199
7.2 指针变量的定义和初始化 199
7.3 指针运算符 200
7.4 按引用向函数传递实参 201
7.5 对指针使用const 限定符 204
7.6 使用按引用调用方法实现冒泡法排序 209
7.7 sizeof 运算符 211
7.8 指针表达式和指针运算 213
7.9 指针和数组的关系 215
7.10 指针数组 218
7.11 案例学习:扑克牌洗牌和发牌模拟 218
7.12 函数指针 222
第8章 C 字符和字符串 242
8.1 引言 243
8.2 字符串和字符基础 243
8.3 字符处理函数库 244
8.4 字符串转换函数 248
8.5 标准输入输出库函数 251
8.6 字符串处理函数库中的字符串处理函数 254
8.7 字符串处理函数库中的比较函数 256
8.8 字符串处理函数库中的查找函数 258
8.9 字符串处理函数库中的内存函数 262
8.10 字符串处理函数库中的其他函数 265
第9章 格式化输入/ 输出 279
9.1 引言 280
9.2 流 280
9.3 用printf 函数实现格式化输出 280
9.4 打印整数 281
9.5 打印浮点数 282
9.6 打印字符串或字符 283
9.7 其他的转换说明符 284
9.8 带域宽和精度的打印 285
9.9 在printf 函数的格式控制字符串中使用标记 286
9.10 打印文本和转义序列 288
9.11 用scanf 函数读取格式化的输入 289
第10章 结构体、共用体、位操作和枚举类型 300
10.1 引言 301
10.2 结构体的定义 301
10.3 结构体的初始化 303
10.4 对结构体成员的访问 303
10.5 在函数中使用结构体 304
10.6 typedef 的使用 305
10.7 实例:高性能的洗牌与发牌模拟 305
10.8 共用体 307
10.9 位运算符 309
10.10 位域 315
10.11 枚举常量 318
第11章 文件处理 328
11.1 引言 329
11.2 数据的层次结构 329
11.3 文件与流 330
11.4 顺序存取文件的创建 330
11.5 从顺序存取文件中读取数据 334
11.6 随机存取文件 338
11.7 随机存取文件的创建 338
11.8 随机地向一个随机存取文件中写入数据 340
11.9 从一个随机存取文件中读取数据 342
11.10 案例学习:事务处理程序 343
第12章 数据结构 356
12.1 引言 357
12.2 自引用结构体 357
12.3 动态内存分配 358
12.4 链表 359
12.5 堆栈 365
12.6 队列 369
12.7 树 373
第13章 C 预处理 388
13.1 引言 389
13.2 #include 预处理命令 389
13.3 #define 预处理命令:符号常量 389
13.4 #define 预处理命令:宏 389
13.5 条件编译 391
13.6 #error 和#pragma 预处理命令 392
13.7 #和##运算符 392
13.8 行号 392
13.9 预定义的符号常量 393
13.10 断言 393
第14章 C语言的其他专题 397
14.1 引言 398
14.2 I/ O 的重定向 398
14.3 可变长的实参列表 398
14.4 使用命令行实参 400
14.5 由多个源文件组成的程序的编译问题 401
14.6 使用exit 和atexit 终止程序 402
14.7 volatile 类型限定符 403
14.8 整型和浮点型常量的后缀 403
14.9 关于文件的深入讨论 404
14.10 信号处理 405
14.11 动态内存分配:函数calloc 和realloc 407
14.12 用goto 实现无条件转移 407
第15章 C++ :介绍对象技术 413
15.1 简介 414
15.2 C++ 414
15.3 简单程序:两个整数相加 414
15.4 C++ 标准库 416
15.5 头文件 416
15.6 内联函数 417
15.7 引用和引用形参 419
15.8 空形参列表 423
15.9 默认实参 423
15.10 一元作用域运算符 424
15.11 函数重载 425
15.12 函数模板 427
15.13 对象技术与UML 简介 429
15.14 本章小结 431
第16章 类与对象简介 437
16.1 简介 438
16.2 类、对象、成员函数以及数据成员 438
16.3 定义一个具有成员函数的类 439
16.4 定义一个有参成员函数 441
16.5 数据成员、set 函数与get 函数 443
16.6 用构造函数初始化对象 447
16.7 将类放在单独的文件中以增强重用性 450
16.8 将接口与实现分离 452
16.9 用set 函数验证数据 456
16.10 本章小结 460
第17章 类:深入剖析(1) 466
17.1 简介 467
17.2 Time 类的案例学习 467
17.3 类域和访问类的成员 472
17.4 将接口与实现分离 473
17.5 访问函数和工具函数 473
17.6 Time 类的案例学习:具有默认实参的构造函数 475
17.7 析构函数 479
17.8 构造函数与析构函数的调用时间 479
17.9 Time 类的案例学习:隐蔽陷阱——-返回private 数据成员的引用 482
17.10 默认按成员赋值 483
17.11 本章小结 485
第18章 类:深入剖析(2) 490
18.1 简介 491
18.2 const 对象和const 成员函数 491
18.3 组合:对象作为类的成员 497
18.4 友元函数和友元类 501
18.5 使用this 指针 503
18.6 static 类成员 507
18.7 数据抽象和信息隐藏 510
18.8 本章小结 511
第19章 运算符重载 517
19.1 简介 518
19.2 运算符重载基础 518
19.3 运算符重载的限制 519
19.4 作为类的成员和作为全局函数的运算符函数的比较 520
19.5 重载流插入和流读取运算符 521
19.6 重载一元运算符 523
19.7 重载二元运算符 524
19.8 动态内存管理 524
19.9 案例学习:Array 类 525
19.10 类型转换 534
19.11 创建String 类 534
19.12 重载++ 和—— 535
19.13 案例学习:Date 类 536
19.14 标准库类string 540
19.15 explicit 构造函数 542
19.16 代理类 544
19.17 本章小结 546
第20章 面向对象编程:继承 556
20.1 简介 557
20.2 基类和派生类 557
20.3 protected 成员 559
20.4 基类和派生类的关系 559
20.5 派生类的构造函数与析构函数 580
20.6 public、protected 和private 继承 586
20.7 关于继承的软件工程 586
20.8 本章小结 587
第21章 面向对象编程:多态 591
21.1 简介 592
21.2 多态的实例 592
21.3 继承层次结构中对象间的关系 593
21.4 类型域和switch 语句 605
21.5 抽象类和纯虚函数 605
21.6 案例学习:利用多态的工资系统 607
21.7 (选讲)多态、虚函数以及动态联编 618
21.8 案例学习:利用多态的和运行时类型信息的工资系统,通过向下类型转换、
dynamic_cast、typeid 以及type_info 使用运行时类型信息 621
21.9 虚析构函数 624
21.10 本章小结 624
第22章 模板 629
22.1 简介 630
22.2 函数模板 630
22.3 重载函数模板 632
22.4 类模板 633
22.5 类模板的非类型形参和默认类型 637
22.6 模板与继承 638
22.7 模板与友元 638
22.8 模板与static 成员 639
22.9 本章小结 639
第23章 输入/ 输出流 643
23.1 简介 644
23.2 流 644
23.3 输出流 646
23.4 输入流 647
23.5 用read、write 和gcount 进行无格式I/ O 650
23.6 流操纵符简介 651
23.7 流格式状态和流操纵符 654
23.8 流错误状态 660
23.9 将输出流绑定到输入流上 662
23.10 本章小结 662
第24章 异常处理 672
24.1 简介 673
24.2 异常处理概述 673
24.3 实例:处理除数为0 的异常 674
24.4 何时使用异常处理 677
24.5 重新抛出异常 678
24.6 异常规范 679
24.7 处理意外异常 680
24.8 栈展开 680
24.9 构造函数、析构函数与异常处理 681
24.10 异常与继承 682
24.11 处理new 故障 682
24.12 auto_ptr 类与动态内存分配 684
24.13 标准库的异常层次结构 686
24.14 其他错误处理技术 687
24.15 本章小结 687
附录A 运算符优先级表 693
附录B ASCII 字符集 696
附录C 数制系统 697
附录D 游戏编程:解决数独问题 707
Web 网站中提供的附录 713
索引 714
· · · · · · (收起)

读后感

评分

先扯句八卦:上大学的时候我们管戴特尔的书叫蚂蚁书,哈哈。有个出版社出的封面竟然给改掉了,没有蚂蚁,被我们鄙视了很久。 最喜欢的就是封面,一条铁轨1分2,近道的那条尸骨累累,远的那条则风景宜人。而戴特尔标志形象的蚂蚁人正在将铁轨导向远的那条。非常形象表述了本书...  

评分

先扯句八卦:上大学的时候我们管戴特尔的书叫蚂蚁书,哈哈。有个出版社出的封面竟然给改掉了,没有蚂蚁,被我们鄙视了很久。 最喜欢的就是封面,一条铁轨1分2,近道的那条尸骨累累,远的那条则风景宜人。而戴特尔标志形象的蚂蚁人正在将铁轨导向远的那条。非常形象表述了本书...  

评分

先扯句八卦:上大学的时候我们管戴特尔的书叫蚂蚁书,哈哈。有个出版社出的封面竟然给改掉了,没有蚂蚁,被我们鄙视了很久。 最喜欢的就是封面,一条铁轨1分2,近道的那条尸骨累累,远的那条则风景宜人。而戴特尔标志形象的蚂蚁人正在将铁轨导向远的那条。非常形象表述了本书...  

评分

老外写书从来就是想到哪里写到哪里,不会像中国教材那样一二三四分门别类。初学确实比较痛苦,但如果稍有基础还是能看下来的,只是知识点必须自己总结。 不过这本书最大的价值是习题:从第4章的罗马数字开始进入状态,到第5章的汉诺塔(而且逼着你用循环解决),到第6章的骑士...  

评分

老外写书从来就是想到哪里写到哪里,不会像中国教材那样一二三四分门别类。初学确实比较痛苦,但如果稍有基础还是能看下来的,只是知识点必须自己总结。 不过这本书最大的价值是习题:从第4章的罗马数字开始进入状态,到第5章的汉诺塔(而且逼着你用循环解决),到第6章的骑士...  

用户评价

评分

我发现这本书在细节处理上达到了令人称赞的水平,这种细致入微的态度,让我对它充满了信任感。例如,在处理 C 语言特有的边界条件和未定义行为时,作者没有采取一笔带过的方式,而是用专门的小节来剖析这些“陷阱”,详细解释了为什么会出错以及如何避免,这些内容往往是其他教材中容易被忽略,但却是实际开发中导致程序崩溃的元凶。此外,书中的排版和字体选择也令人感到舒适,大段的代码块和文本描述之间的对比度处理得当,长时间阅读下来眼睛不容易疲劳。更值得一提的是,它对一些高级特性(比如预处理器宏的巧妙运用、动态内存分配的内存泄漏预防等)的介绍,既不过分深奥,又保证了覆盖的全面性,使得这本书能够伴随读者从入门到进阶的整个过渡期。总而言之,这是一本集学术严谨性、教学实用性与阅读舒适度于一身的典范之作,非常值得推荐给所有认真对待 C 语言学习的人士。

评分

坦白说,我之前也翻阅过几本号称是给初学者准备的 C 语言教材,但大多数都像是一本厚厚的字典,堆砌着密密麻麻的语法规则,读起来枯燥乏味,很快我就失去了坚持下去的动力。这本书却完全不同,它有着一种独特的“叙事感”。作者在讲解每一个模块时,都会巧妙地融入一些实际生活中的类比,让原本冰冷的机器语言变得生动起来。比如,当讲到内存管理和数据结构时,它不是直接丢给你一堆定义,而是用搭建积木或者整理房间来比喻,这种接地气的表达方式极大地降低了我的学习门槛。更让我惊喜的是,书中的练习题设计得非常巧妙。它们并非那种机械的重复性训练,而是逐步递进,每完成一组练习,我都能感觉到自己解决问题的能力得到了实质性的提升,而不是仅仅停留在对语法的记忆层面。读完它,我感觉自己不再是那个对代码感到恐惧的“小白”,而是一个有能力去设计和实现简单程序的“小小工程师”了。这种成就感,是其他教材带不给我的。

评分

这本编程书简直是打开了我对计算机世界的一扇全新的大门!初次接触编程时,那些晦涩难懂的术语和复杂的逻辑结构常常让我望而却步,感觉自己像是在迷宫里打转。然而,这本书的叙述方式却出乎意料地清晰明了,作者似乎有一种魔力,能将那些抽象的概念具象化,让我能抓住重点。我特别欣赏它在基础概念讲解上所花费的心思,每一个知识点的引入都非常自然,仿佛是在和我这位新手进行一次耐心的对话。那些复杂的指针操作,以往是我最大的噩梦,读完相关章节后,虽然不敢说完全精通,但至少心里有了一个坚实的框架去理解和应用,不再是单纯的死记硬背。书中的图示和代码示例的配合度极高,每次遇到卡壳的地方,回头看看那些精美的插图,豁然开朗的感觉就回来了。它不仅仅是教会你“怎么做”,更重要的是让你理解“为什么这么做”,这种思维层面的引导,对于一个想真正掌握编程的初学者来说,是无比宝贵的财富。我几乎可以肯定,这本书对那些刚开始探索编程奥秘的朋友们,会是一个非常可靠的向导。

评分

这本书给我带来最深刻的印象,在于它对“编程思想”的强调,而非仅仅是“语法罗列”。很多教程,读完后你可能知道 C 语言有什么关键字,但面对一个稍微复杂一点的需求时,依然会束手无策,因为你缺乏的是自顶向下分析问题的能力。这本书显然注意到了这一点,它在讲解完基础语法后,会立刻引导读者进行小型项目实践,这些实践案例的设计,无一不体现出良好的工程化思维。它会反复提醒你注意代码的可读性、模块化拆分的重要性,甚至会涉及到一些基础的调试技巧和常见的陷阱规避。阅读过程中,我总有一种错觉,仿佛作者是一位经验丰富的导师,坐在我旁边,不是直接告诉我答案,而是通过提问和引导,让我自己去发现并修正错误。这种“授人以渔”的教学方法,远比单纯的知识灌输来得有效和持久,它真正培养了读者作为一名软件开发者应有的严谨态度和系统性思维。

评分

作为一个已经工作了几年,但编程基础相对薄弱的在职人士,我深知时间成本的重要性。我需要的不是一本能让我耗费数月去啃读的鸿篇巨制,而是一本高效、精准、直击要害的学习资料。这本书恰好满足了我的需求。它的结构组织极其高效,章节间的逻辑衔接流畅得像一条精心铺设的高速公路,完全没有那种为了凑字数而强行拉伸内容的感觉。重点知识点(比如结构体、文件操作等)的讲解部分,深度把握得非常好,既保证了足够的理论深度,又避免了过多偏离主流应用场景的冷僻知识。阅读过程中,我发现自己可以快速定位到感兴趣或需要复习的部分,效率极高。很多复杂的标准库函数介绍得也相当到位,附带的用法示例非常实用,可以直接复制粘贴到我的项目中进行试验和修改。对于像我这样需要快速充电以应对工作挑战的人来说,这种实用主义导向的编写风格,简直是雪中送炭,极大地提升了我的学习效率和对知识的吸收率。

评分

非常非常基础

评分

非常非常基础

评分

很多错误,不知道是翻译的问题还是原文的错误

评分

很多错误,不知道是翻译的问题还是原文的错误

评分

很多错误,不知道是翻译的问题还是原文的错误

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 onlinetoolsland.com All Rights Reserved. 本本书屋 版权所有