图灵程序设计丛书

C语言详解(第6版)

Jeri R.Hanly , Elliot B.Koffman (作者) 潘蓉 , 郑海红 , 孟广兰 , 万波 (译者)
终止销售
  本书是C语言的经典教材。它不仅深入浅出地讲述了实际开发中最需要的C语言基础知识,还充分介绍了动态数据结构和多进程等高级内容,而且同时阐述了程序设计思想。本书着眼于提高读者的问题解决能力和实际编程能力,使其初步掌握当前软件行业公认的程序设计风格和编程实践。书中对指针的讲解通俗易懂,降低了这一难点的学习门槛。此外,本书配有各种层次的习题和示例,而且每一章都有一个或多个来自实际生活的实例研究。
  本书适合作为计算机科学等专业本科生C语言程序设计课程的教材,对已有一定经验的技术人员也是不可多得的参考书。

输入优惠码:新春特急

电子书每单满200减80,可以用到除夕夜哦,祝大家happy hacking 一整年!

纸书停发:2月3日~26日

纸质书
¥79.00

其他购买方式?

出版信息

  • 书  名C语言详解(第6版)
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2010-03-15
  • 书  号978-7-115-22016-5
  • 定  价79.00 元
  • 页  数588
  • 开  本16开
  • 出版状态终止销售
  • 原书名Problem Solving and Program Design in C
  • 原书号978-0-321-53542-9

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

目录

第0 章 计算机科学的职业之路 1
引言 1
0.1 为什么选择计算机科学领域 1
0.1.1 将计算机科学作为专业的理由 1
0.1.2 计算机科学家的特质 2
0.2 大学经历:可选的计算机学科和专业 3
0.2.1 计算机科学 3
0.2.2 计算机工程 4
0.2.3 信息系统 4
0.2.4 信息技术 4
0.2.5 软件工程 5
0.2.6 交叉学科 5
0.3 就业机会 6
0.3.1 美国和全世界的需求 6
0.3.2 非代表性群体的需求 6
0.3.3 新职业持续出现 7
第1 章 计算机与程序设计概述 8
1.1 电子计算机的过去和现在 8
1.2 计算机硬件 10
1.2.1 存储器 10
1.2.2 中央处理器 13
1.2.3 输入/输出设备 13
1.2.4 计算机网络 14
1.3 计算机软件 16
1.3.1 操作系统 16
1.3.2 应用软件 17
1.3.3 计算机语言 17
1.3.4 执行程序 20
1.4 软件开发方法 21
1.4.1 软件开发方法 21
1.4.2 注意:失败是编程过程的一部分 23
1.5 应用软件开发方法 23
实例研究 英里到公里的转换 23
复习 25
快速测试 25
快速测试答案 26
复习题 26
第2 章 C 概述 27
2.1 C语言要素 27
2.1.1 预处理指令 27
2.1.2 预处理指令的语法展示 28
2.1.3 main函数 29
2.1.4 保留字 29
2.1.5 标准标识符 30
2.1.6 用户定义的标识符 30
2.1.7 大写字母和小写字母 31
2.1.8 程序风格之选择标识符名称 31
2.2 变量声明和数据类型 31
2.2.1 变量声明 31
2.2.2 数据类型 32
2.3 可执行语句 33
2.3.1 内存中的程序 34
2.3.2 赋值语句 34
2.3.3 输入/输出操作和函数 35
2.3.4 printf函数 36
2.3.5 scanf函数 38
2.3.6 return语句 39
2.4 C程序的一般形式 40
2.4.1 程序风格之程序中的空格 40
2.4.2 程序的注释 40
2.4.3 程序风格之使用注释 41
2.5 算术表达式 42
2.5.1 运算符/和% 42
2.5.2 表达式的数据类型 43
2.5.3 混合类型赋值语句 44
2.5.4 强制类型转换 44
2.5.5 具有多个运算符的表达式 45
2.5.6 用C语言编写数学公式 47
实例研究 超市硬币处理机 48
2.6 在程序输出中格式化数值 51
2.6.1 格式化int型值 51
2.6.2 格式化double型值 52
2.6.3 程序风格之消除前导空白 52
2.7 交互模式、批处理模式和数据文件 53
2.7.1 输入重定向.53
2.7.2 程序风格之回显与提示符 54
2.7.3 输出重定向 54
2.7.4 程序控制的输入和输出文件 54
2.8 常见编程错误.56
2.8.1 语法错误 56
2.8.2 运行时错误 58
2.8.3 未检测到的错误58
2.8.4 逻辑错误 60
复习 60
快速测试 61
快速测试答案 62
复习题 62
程序设计项目 63
第3 章 函数的自顶向下设计 66
3.1 利用已有信息编程 66
实例研究 求圆的面积和周长 67
实例研究 计算一批垫圈的重量 69
3.2 库函数.72
3.2.1 预定义函数和代码复用 72
3.2.2 使用灰色区分新结构 73
3.2.3 C库函数 73
3.2.4 本节目标 75
3.3 自顶向下设计和结构图 76
实例研究 画简单的图形 76
3.4 无参函数77
3.4.1 函数原型78
3.4.2 函数定义78
3.4.3 程序中函数的位置80
3.4.4 程序风格之在含有函数的程序中使用注释 81
3.4.5 函数子程序和主函数的执行顺序81
3.4.6 使用函数子程序的优点82
3.4.7 显示用户指令82
3.5 带输入参数的函数 83
3.5.1 带输入参数的void函数 84
3.5.2 带输入参数和单一结果的函数 85
3.5.3 程序风格之函数接口注释 87
3.5.4 带多个参数的函数 87
3.5.5 参数表一致性 88
3.5.6 函数数据区 89
3.5.7 使用驱动测试函数 89
3.6 常见编程错误 90
复习90
快速测试91
快速测试答案.92
复习题92
程序设计项目.92
第4 章 选择结构:if 语句和switch
语句95
4.1 控制结构95
4.2 条件95
4.2.1 关系运算符和判等运算符 96
4.2.2 逻辑运算符 96
4.2.3 运算符优先级 97
4.2.4 短路求值 99
4.2.5 用C语言表示条件 99
4.2.6 比较字符 100
4.2.7 逻辑赋值 100
4.2.8 条件取反 101
4.3 if语句 103
4.3.1 有两个选项的if语句 103
4.3.2 只有一个选项的if语句 103
4.3.3 比较一个选项的if语句和两个选项的if语句 104
4.3.4 程序风格之if语句的格式 105
4.4 具有复合语句的if语句 105
4.4.1 程序风格之编写具有复合语句的if语句106
4.4.2 跟踪if语句 106
4.5 算法中的决策步骤108
实例研究 水费问题 108
4.5.1 程序风格之在函数中使用一致的名称 113
4.5.2 程序风格之内聚函数 113
4.5.3 程序风格之使用常量宏来增强可读性和易维护性 114
4.6 解决更多问题114
4.6.1 结构图中的数据流信息 114
4.6.2 使用函数子程序修改程序 115
实例研究 具有节约需求的水费问题 115
4.7 嵌套if语句和多选项决策116
4.7.1 比较嵌套if和if序列 117
4.7.2 嵌套if的多选项决策形式 117
4.7.3 多选项决策中条件的顺序 118
4.7.4 程序风格之确认变量的值 120
4.7.5 具有多个变量的嵌套if语句 120
4.8 switch语句 123
4.9 常见编程错误 126
复习 127
快速测试 128
快速测试答案 130
复习题 130
程序设计项目 131
第5 章 重复和循环语句 134
5.1 程序中的重复 134
5.2 计数循环和while语句 135
5.3 在循环中计算和或者乘积 137
5.3.1 程序风格之编写通用循环 139
5.3.2 计算一列数的乘积 139
5.3.3 复合赋值运算符 140
5.4 for语句 141
5.4.1 程序风格之格式化for语句 141
5.4.2 自增和自减运算符 142
5.4.3 步长非1的自增和自减 143
5.4.4 显示值构成的表格 145
5.5 条件循环 146
5.6 循环设计 150
5.6.1 标记控制循环 150
5.6.2 使用for语句实现标记循环 152
5.6.3 文件结束控制循环 152
5.6.4 错误数据上的无限循环 154
5.7 嵌套循环 154
5.8 do-while语句和标志控制循环 157
5.9 问题求解示例 160
实例研究 太阳能加热房的采暖面积 160
5.10 如何调试和测试程序 164
5.10.1 使用调试器程序 165
5.10.2 不使用调试器进行调试 165
5.10.3 循环次数差1的错误 165
5.10.4 测试 166
5.11 常见编程错误 166
复习 168
快速测试 170
快速测试答案 170
复习题 171
程序设计项目 172
第6 章 模块化编程 176
6.1 带简单输出参数的函数 176
6.2 带输入输出参数函数的多次调用 181
6.3 名字的作用域 185
6.4 输出形参作为实参变量 186
6.5 由多个函数构成的程序 189
实例研究 简分数的算术运算 189
6.6 程序系统的调试与测试 195
6.7 常见编程错误 197
复习 197
快速测试 198
快速测试答案 198
复习题 199
程序设计项目 200
第7 章 简单数据类型 205
7.1 数值类型的表示与转换 205
7.1.1 数值类型的差异 205
7.1.2 数值的不精确性 207
7.1.3 数据类型的自动转换 207
7.1.4 数据类型的显式转换 208
7.2 字符类型的表示与转换 209
7.3 枚举类型 210
7.4 迭代近似 215
实例研究 求根的二分方法 216
7.5 常见编程错误 221
复习 221
快速测试 222
快速测试答案 223
复习题 223
程序设计项目 224
第8 章 数组229
8.1 声明和引用数组 229
8.2 数组下标 232
8.3 使用循环顺序存取 233
8.3.1 使用数组进行统计计算 234
8.3.2 程序风格之使用循环控制变量作为数组下标 236
8.4 将数组元素作为函数参数使用 236
8.5 数组参数 238
8.5.1 形参数组 238
8.5.2 和形参数组对应的实参 239
8.5.3 数组作为输入参数 240
8.5.4 返回数组结果 241
8.5.5 部分填充数组 243
8.5.6 栈 244
8.6 数组搜索和排序 247
8.6.1 数组搜索 247
8.6.2 数组排序 248
8.7 多维数组 250
8.7.1 多维数组的初始化 252
8.7.2 多维数组 252
8.8 数组处理示例 253
实例研究 医院收入汇总 253
8.9 常见编程错误 259
复习 260
快速测试 261
快速测试答案 262
复习题 262
程序设计项目 263
第9 章 字符串268
9.1 字符串基础 268
9.1.1 声明并初始化字符串变量 268
9.1.2 字符串数组 269
9.1.3 使用printf和scanf进行输入/输出 269
9.2 字符串库函数:赋值和子串 272
9.2.1 字符串赋值 272
9.2.2 子串 274
9.3 较长的字符串:拼接和整行输入 278
9.3.1 拼接 278
9.3.2 字符和字符串的区别 279
9.3.3 扫描一个完整的行 279
9.4 字符串比较 281
9.5 指针数组 283
9.6 字符操作 287
9.6.1 字符输入/输出 287
9.6.2 字符分析和转换 288
9.7 字符串到数值和数值到字符串的转换.290
9.8 字符串处理示例 294
实例研究 文本编辑器 295
9.9 常见编程错误 301
复习 302
快速测试 304
快速测试答案 304
复习题 305
程序设计项目 306
第10 章 递归 309
10.1 递归的本质 309
10.2 跟踪递归函数 312
10.2.1 带返回值的递归函数的跟踪 312
10.2.2 void类型递归函数的跟踪 313
10.2.3 参数与局部变量栈 315
10.2.4 C中参数栈的实现 316
10.2.5 何时、如何跟踪递归函数 317
10.3 递归数学函数 318
10.4 带数组和字符串参数的递归函数 322
实例研究 找出字符串中的大写字母 322
实例研究 递归选择排序 324
10.5 用递归解决问题 326
实例研究 集合运算 326
10.6 递归的经典实例研究:汉诺塔 331
10.7 常见编程错误 335
复习 336
快速测试 336
快速测试答案 337
复习题 337
程序设计项目 338
第11 章 结构与联合类型 341
11.1 用户自定义结构类型 341
11.1.1 结构类型定义 341
11.1.2 操作结构化数据对象的单个成员 343
11.1.3 运算符优先级回顾 343
11.1.4 操作结构整体 344
11.1.5 程序风格之类型命名约定 344
11.2 结构类型数据作为输入/输出参数 345
11.3 返回值为结构类型的函数 349
11.4 用结构类型解决问题 351
实例研究 用于复数的用户自定义类型 351
11.5 并行数组和结构的数组 356
11.5.1 并行数组 356
11.5.2 结构数组的声明 356
实例研究 通用计量转换 357
11.6 联合类型(可选) 363
11.7 常见编程错误 367
复习 368
快速测试 369
快速测试答案 369
复习题 370
程序设计项目 371
第12 章 文本文件和二进制文件的处理 375
12.1 输入/输出文件:回顾与进一步研究 375
12.1.1 键盘和屏幕作为文本流 375
12.1.2 换行与EOF 376
12.1.3 转义序列 376
12.1.4 用printf实现格式化输出 376
12.1.5 文件指针变量 377
12.1.6 获取文件指针参数的函数 378
12.1.7 关闭文件 379
12.2 二进制文件 381
12.3 数据库查询 385
实例研究 数据库查询 386
12.4 常见编程错误 393
复习 393
快速测试 394
快速测试答案 395
复习题 395
程序设计项目 395
第13 章 大型程序设计 398
13.1 使用抽象处理复杂问题 398
13.1.1 过程抽象 398
13.1.2 数据抽象 399
13.1.3 信息隐藏 399
13.1.4 可复用代码 399
13.2 个人库:头文件 400
13.2.1 头文件 401
13.2.2 头文件设计的忠告 402
13.3 个人库:实现文件 403
13.4 存储类型 405
13.4.1 全局变量 406
13.4.2 static和register存储类型 407
13.5 库中包含函数的修改 408
13.6 条件编译 410
13.7 函数main的参数 413
13.8 定义带参数的宏 415
13.8.1 在宏体中使用括号 416
13.8.2 在两行以上扩展宏 417
13.9 常见编程错误 418
复习 418
快速测试 420
快速测试答案 420
复习题 421
程序设计项目 421
第14 章 动态数据结构 424
14.1 指针 424
14.1.1 作为函数参数的指针 425
14.1.2 表示数组和字符串的指针 425
14.1.3 指向结构的指针 426
14.1.4 指针使用的小结 426
14.2 动态内存分配 427
14.2.1 访问动态分配的结构成员 428
14.2.2 使用calloc动态分配数组 428
14.2.3 返回堆单元 429
14.3 链表 430
14.3.1 带指针成员的结构 431
14.3.2 连接结点 431
14.3.3 链表的优点 433
14.4 链表运算符 434
14.4.1 遍历链表 434
14.4.2 获得输入表 436
14.4.3 在表中查询目标 437
14.4.4 避免跟踪NULL指针 438
14.5 用链表表示栈 438
14.6 用链表表示队列 441
14.7 有序表 445
实例研究 维护一个整数有序表 445
14.8 二叉树 453
14.8.1 二叉查找树 454
14.8.2 搜索二叉查找树 454
14.8.3 建立二叉查找树 455
14.8.4 显示二叉查找树 458
14.9 常见编程错误 460
复习 461
快速测试 462
快速测试答案 462
复习题 463
程序设计项目 464
第15 章 使用进程和线程的多进程.466
15.1 多任务 466
15.1.1 线性程序设计和并行程序
设计 466
15.1.2 分时多任务 467
15.1.3 抢占式多任务 467
15.1.4 时间片和并行 468
15.1.5 并发程序设计 469
15.2 进程 469
15.2.1 进程创建 469
15.2.2 进程等待 471
15.2.3 从进程中执行另一个程序 472
15.3 进程间通信和管道 473
15.3.1 管道 473
15.3.2 管道的用法 474
15.3.3 使用标准输入的进程间通信 475
15.3.4 父进程和子进程间通信举例 476
15.4 线程 478
15.4.1 线程的创建 479
15.4.2 线程的同步 480
15.4.3 互斥锁 482
15.4.4 死锁 483
15.5 线程举例486
实例研究 生产者/消费者模型.486
15.6 常见编程错误495
复习 495
C语言结构的复习 496
快速测试 497
快速测试答案 497
复习题 497
程序设计项目 498
第16 章 关于C++ 499
16.1 C++控制结构、输入/输出以及函数 499
16.1.1 使用名字空间std 499
16.1.2 C++标准输入/输出 502
16.1.3 引用参数 502
16.1.4 输出格式化 504
16.2 C++对面向对象编程的支持505
16.2.1 头文件complexh 506
16.2.2 类名和构造函数 507
16.2.3 成员函数和运算符 507
16.2.4 实现文件complex.cpp 508
16.2.5 数据成员 511
16.2.6 输入/输出运算符重载 511
复习 513
快速测试 515
快速测试答案 515
复习题 515
程序设计项目 516
附录A 关于指针的更多信息 517
附录B ANSI C 标准库 521
附录C C 运算符 533
附录D 字符集 537
附录E ANSI C 保留字 539
附录F ANSI C 结构参照表 540
词汇表 542
索引 548
  • 怎么找答案呢
    我是大学生  发表于 2012-07-26 17:17:18
  • 这么大的书,直接能砸死一个人,O(∩_∩)O哈哈~
    L  发表于 2017-08-10 12:19:30
合作: 澳门真人博彩公司 博彩公司 新葡京娱乐场