新手学习c语言c语言

共有 1232 人关注过本帖
标题:求C语言新手教材
来 自:henan
等 级:新手上路
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:14&&&
求C语言新手教材
请各位大虾们推荐几个新手教材或新手教学视频给我,我是大一新生,感觉老师讲课的时候没有实例很难理解一些函数的用法,所以希望大家推荐些定义与实例相结合的新手教材或新手教学视频给我,谢谢啦!
搜索更多相关主题的帖子:
等 级:论坛游民
帖 子:39
专家分:33
潭浩强的书
等 级:蜘蛛侠
帖 子:540
专家分:1134
回复 2楼 chao
那就是一堆废纸,如果是为了考试而学,还能看,但是看了之后,就不要在IT界混饭吃了
你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
&&得分:20&
C语言教程:模块化程序设计(第2版)
作  者:(美)克罗匹 著,罗铁庚 译
出 版 社:清华大学出版社
出版时间:
版  次:1页  数:688字  数:1086000 印刷时间:开  本:纸  张:胶版纸 印  次:I S B N:2包  装:平装
本书以通俗易懂的语言全面讲述了C语言的基础知识和编程方法,重点介绍了自顶向下的逻辑设计和模块化的结构化编程方法,并通过大量地示例向读者介绍了各种编程元素的工作方式,简化了学习过程,而且提高了学习效果。书中把复杂的内容分解为多个简单的主题,以便于读者更好地学习。本书表述严谨、推理缜密,是一本不可多得的C语言程序设计入门教材。
· 提供丰富全面的编程示例、详细深入的示例分析和清晰明了的程序流程图和伪代码
· 通过“知识点检查”帮助读者及时地掌握自己的学习状况,“课程指南”则高度概括了每章课程所介绍的核心主题
· “编程技巧”部分为读者提供大量实用的建议,而贯穿全书的“编程项目”则帮助读者将所学知识应用于实践中,从而起到温故知新的作用
David M.Collopy是俄亥俄州立大学的知名教授,对计算机基础教学工作有着独到深入见解。其教学风格通俗易懂,深入浅出,因而所编写的教材颇受广大读者的欢迎。他所著的畅销书还包括Introduction to C++programming:A Modular Appraoach和Introduction ot COBOL:A Guide to Modular Structured Programming 等。
罗铁庚:男,1991年毕业西安交通大学,同年考入国防科技大学计算机学院,攻读硕士学位,1997年博士毕业,主要研究方向为软件工程,软件开发方法等,现为国防科技大学副教授。
第1章 基本概念
1.1 学习目标
1.2 计算机
1.3 计算机系统
1.4 数据结构
1.5 知识点检查1A
1.6 程序规划
1.7 设计报表
1.8 报表规划原则
1.9 编译程序
1.10 错误和调试
1.11 知识点检查1B
1.12 开发第一个程序
1.13 示例程序CHAP1A
1.14 分析示例程序CHAP1A
1.15 编程技巧和注意事项
1.16 课程指南CHAP1A
1.17 示例程序cHAP1B
1.18 分析示例程序cHAP1B
1.19 编程技巧和注意事项
1.20 课程指南CHAP1B
1.21 创建标识名
1.22 区分大小写
1.23 关键字
1.24 知识点考查1C
1.26 编程项目
第2章 走近C语言
2.1 学习目标
2.2 基本结构
2.4 #include指令
2.5 main()函数
2.6 常用数据类型
2.7 数值常量
2.8 数值变量
2.9 为数值变量赋值
2.10 符号常量:#define指令
2.11 屏幕输出:printf()函数
2.12 转义序列
2.13 键盘输入:scanf()函数
2.14 算术运算符
2.15 算术表达式
2.16 知识点检查2A
2.17 示例程序CHAP2A
2.18 分析示例程序CHAP2A
2.19 编程技巧和注意事项
2.20 课程指南CHAP2A
2.21 非数值常量
2.22 非数值变量
2.23 为非数值变量赋值
2.24 打印非数值输出
2.25 读取非数值数据
2.26 return语句
2.27 知识点检查2B
2.28 示例程序CHAP2B
2.29 分析示例程序CHAP2B
2.30 编程技巧和注意事项
2.31 课程指南CHAP2B
2.33 编程项目
第3章 模块化编程
3.1 学习目标
3.2 模块结构化编程
3.3 逻辑结构
3.4 全局变量和局部变量
3.5 编程人员定义的模块
3.6 函数原型
3.7 知识点检查3A
3.8 示例程序CHAP3A
3.9 分析示例程序CHAP3A
3.10 编程技巧和注意事项
3.11 课程指南CHAP3A
3.12 示例程序CHAP3B
3.13 示例程序CHAP3C
3.14 分析示例程序CHAP3C
3.15 编程技巧和注意事项
3.16 课程指南CHAP3B
3.17 结构化编程
3.18 编程指导原则
3.19 知识点检查3B
3.21 编程项目
第4章 字符串函数和循环
4.1 学习目标
4.2 字符串函数
4.3 strcat()函数
4.4 strcpy()函数
4.5 strcmp()函数
4.6 strlen()函数
4.7 知识点检查4A
4.8 字符串输入和扫描集
4.9 fflush()函数
4.10 迭代和循环处理
4.11 关系运算符
4.12 逻辑运算符
4.13 知识点检查4B
4.14 增量和减量运算符
4.15 while循环
4.16 知识点检查4C
4.17 示例程序CHAP4A
4.18 分析示例程序CHAP4A
4.19 编程技巧和注意事项
4.20 课程指南CHAP4A
4.21 统计运算
4.22 do/While循环
4.23 for循环
4.24 嵌套循环
4.25 知识点检查4D
4.26 示例程序CHAP4B
4.27 分析示例程序CHAP4B
4.28 编程技巧和注意事项
4.29 课程指南CHAP4B
4.30 打印机输出:fprintf()函数
4.31 知识点检查4E
4.32 示例程序CHAP4C
4.33 分析示例程序cHAP4C
4.34 编程技巧和注意事项
4.35 课程指南CHAP4C
4.37 编程项目
第5章 分支结构
5.1 学习目标
5.2 选择不同的处理路径
5.3 无条件分支和条件分支
5.4 if语句
5.5 嵌套if语句
5.6 if/else语句
5.7 嵌套if/else语句
5.8 知识点检查5A
5.9 示例程序CHAP5A
5.10 分析示例程序CHAP5A
5.11 编程技巧和注意事项
5.12 课程指南CHAP5A
5.13 switch和break语句
5.14 goto和label语句
5.15 知识点检查5B
5.16 示例程序CHAP5B
5.17 分析示例程序CHAP5B
5.18 编程技巧和注意事项
5.19 课程指南CHAP5B
5.21 编程项目
第6章 使用菜单
6.1 学习目标
6.2 数据验证
6.3 以菜单驱动的程序
6.4 菜单创建原则
6.5 设置菜单格式及打印菜单
6.6 菜单选择:嵌套if/else语句
6.7 字符选项代码
6.8 getch()函数
6.9 知识点检查6A
6.10 示例程序CHAP6A
6.11 分析示例程序CHAP6A
6.12 编程技巧和注意事项
6.13 课程指南CHAP6A
6.14 菜单选择:switch语句
6.15 示例程序CHAP6B
6.16 分析示例程序CHAP6B
6.17 编程技巧和注意事项
6.18 课程指南CHAP6B
6.20 编程项目
第7章 文本文件
7.1 学习目标
7.2 文件和记录
7.3 文本文件
7.4 创建文本文件
7.5 声明文件指针变量:FILE数据类型
7.6 知识点检查7A
7.7 打开文件:fopen()函数
7.8 读取记录
7.9 测试文件结束:feof()函数
7.10 关闭文件:fclose()函数
7.11 知识点检查7B
7.12 示例程序CHAP7A
7.13 分析示例程序CHAP7A
7.14 编程技巧和注意事项
7.15 课程指南CHAP7A
7.16 文本文件处理步骤
7.17 使用尾端记录
7.18 知识点检查7C
7.19 示例程序CHAP7B
7.20 分析示例程序CHAP7B
7.21 编程技巧和注意事项
7.22 课程指南CHAP7B
7.24 编程项目
第8章 换页和控制中断
8.1 学习目标
8.2 换页报表
8.3 知识点检查8A
8.4 示例程序CHAP8A
8.5 分析示例程序CHAP8A
8.6 编程技巧和注意事项
8.7 课程指南CHAP8A
8.8 控制中断报表
8.9 知识点检查8B
8.10 示例程序CHAP8B
8.11 分析示例程序CHAP8B
8.12 编程技巧和注意事项
8.13 课程指南CHAP8B
8.15 编程项目
第9章 多级控制中断
9.1 学习目标:
9.2 多级控制中断报表
9.3 编写两级控制中断程序
9.4 知识点检查9A
9.5 示例程序CHAP9A
9.6 分析示例程序CHAP9A
9.7 偏程技巧和注意事项
9.8 课程指南CHAP9A
9.9 编写四级控制中断程序
9.10 知识点检查9B
9.11 示例程序CHAP9B
9.12 分析示例程序CHAP9B
9.13 编程技巧和注意事项
9.14 课程指南CHAP9B
9.16 编程项目
第10章 数组和排序
10.1 学习目标
10.3 创建数组
10.4 知识点检查10A
10.6 知识点检查10B
10.7 加载数组
10.8 打印数组
10.9 处理数组
10.10 并行数组
10.11 知识点检查10C
10.12 示例程序CHAPl0A
10.13 分析示例程序CHAPl0A
10.14 编程技巧和注意事项
10.15 课程指南CHAPlOA
10.16 数组查找
10.17 知识点检查10D
10.18 示例程序CHAPl0B
10.19 分析示例程序CHAPlOB
10.20 编程技巧和注意事项
10.21 课程指南CHAPl0B
10.22 排序
10.23 知识点检查10E
10.24 示例程序CHAPl0C
10.25 分析示例程序CHAPl0C
10.26 编程技巧和注意事项
10.27 课程指南CHAP10C
10.28 小结
10.29 编程项目
第11章 多维数组
第12章 顺序文件
第13章 更新顺序文件
第14章 结构体和随机文件
第15章 索引文件
附录A ASCII表
附录B 编程标准
附录C 输入/输出函数
附录D 数学函数及相关函数
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
C Primer Plus(第五版)中文版
作  者:(美)普拉塔(Prata,S.) 著,云巅工作室 译
出 版 社:人民邮电出版社
出版时间:
版  次:1页  数:626字  数:1298000 印刷时间:开  本:纸  张:胶版纸 印  次:I S B N:8包  装:平装
作为核心计算机技术成熟,完整的参考书籍,Primer Plus系列历经十数年不衰,因为它能够满足那些渴望通过全面理解相关技术继续深造的程序员和开发者的需要。通过学习《C Primer Plus(第五版)中文版》,你将奠定坚实的C编程基础。
与以前的版本一样,作者的目标仍旧是为读者提供一本入门性、条理清晰、见解深刻的C语言教程。作者把编程概念和C语言的细节很好地融合在一起。通过大量短小精焊的范例演示一两个概念,为读者提供了很好的练习机会,有助于读者迅速掌握所讲的知识。每章都提供了复习题和编程练习,进一步强调了重要的信息,有助于读者消化那些难于理解的概念。本书不仅适用于希望系统学习C语言编程的学生,也适用于那些精通其他高级语言编程,但渴望更好地掌握C语言这门核心语言的开发人员。
《C Primer Plus(第五版)中文版》专门针对C语言的最新标准C99而作,它覆盖了这个新标准所引入的所有重要的新特性,并对读者关注的以下几个主题提供了详尽的信息。
扩展的整数类型。
扩展的字符支持。
布尔类型的支持。
变长数组。
复合文字。
指定初始化项目。
扩展的计算支持。
内联函数。
本书全面讲述了C语言编程的相关概念和知识。
全书共17章。第1、2章学习C语言编程所需的预备知识。第3到15章介绍了C语言的相关知识,包括数据类型、格式化输入输出、运算符、表达式、流程控制语句、函数、数组和指针、字符串操作、内存管理、位操作等等,知识内容都针对C99标准;另外,第10章强化了对指针的讨论,第12章引入了动态内存分配的概念,这些内容更加适合读者的需求。第16章和第17章讨论了C预处理器和C库函数、高级数据表示(数据结构)方面的内容。附录给出了各章后面复习题、编程练习的答案和丰富的C编程参考资料。
本书适合希望系统学习C语言的读者,也适用于精通其他编程语言并希望进一步掌握和巩固C编程技术的程序员。
Stephen Prata在加利福尼亚州的Kentfield的Marin学院教授天文学、物理学和程序设计课程。他在加州工业学院获得学士学位,从加州大学伯克利分校获得博士学位。他最早接触计算机,始于对星河的计算机建模。Stephen已经编写或与他人合作编写了十多本书。其中包括C++Primer Plus和Unix Prinmer Plus.
第1章 概览
1.1 C语言的起源
1.2 使用C语言的理由
1.3 C语言的发展方向
1.4 计算机工作的基本原理
1.5 高级计算机语言和编译器
1.6 使用C语言的7个步骤
1.7 编程机制
1.8 语言标准
1.9 本书的组织结构
1.10 本书体例
1.12 复习题
1.13 编程练习
第2章 C语言概述
2.1 C语言的一个简单实例
2.2 实例说明
2.3 一个简单程序的结构
2.4 使程序可读的技巧
2.5 更进一步
2.6 多个函数
2.8 关键字和保留标识符
2.9 关键概念
2.11 复习题
2.12 编程练习
第3章 数据和C
3.1 示例程序
3.2 变量与常量数据
3.3 数据:数据类型关键字
3.4 C数据类型
3.5 使用数据类型
3.6 参数和易犯的错误
3.7 另一个例子:转义序列
3.8 关键概念
3.10 复习题
3.11 编程练习
第4章 字符串和格式化输入/输出
4.1 前导程序
4.2 字符串简介
4.3 常量和C预处理器
4.4 研究和利用printf()和scanf()
4.5 关键概念
4.7 复习题
4.8 编程练习
第5章 运算符、表达式和语句
5.1 循环简介
5.2 基本运算符
5.3 其他运算符
5.4 表达式和语句
5.5 类型转换
5.6 带有参数的函数
5.7 一个示例程序
5.8 关键概念
5.10 复习题
5.11 编程练习
第6章 C控制语句:循环
6.1 再探while循环
6.2 while语句
6.4 不确定循环与计数循环
6.5 for循环
6.6 更多赋值运算符:+=、-=、*=、/=和%=
6.7 逗号运算符
6.8 退出条件循环:do while
6.9 选择哪种循环
6.10 嵌套循环
6.12 使用函数返回值的循环例子
6.13 关键概念
6.15 复习题
6.16 编程练习
第7章 C控制语句:分支和跳转
7.1 if语句
7.2 在if语句中添加else关键字
7.3 获得逻辑性
7.4 一个统计字数的程序
7.5 条件运算符?:
7.6 循环辅助手段:continue和break
7.7 多重选择:switch和break
7.8 goto语句
7.9 关键概念
7.11 复习题
7.12 编程练习
第8章 字符输入/输出和输入确认
8.1 单字符I/O:getchar()和putchar()
8.2 缓冲区
8.3 终止键盘输入
8.5 创建一个更友好的用户界面
8.6 输入确认
8.7 菜单浏览
8.8 关键概念
8.10 复习题
8.11 编程练习
第9章 函数
9.1 函数概述
9.2 ANSI C的函数原型
9.4 多源代码文件程序的编译
9.5 地址运算符:&
9.6 改变调用函数中的变量
9.7 指针简介
9.8 关键概念
9.10 复习题
9.11 编程练习
第10章 数组和指针
10.2 多维数组
10.3 指针和数组
10.4 函数、数组和指针
10.5 指针操作
10.6 保护数组内容
10.7 指针和多维数组
10.8 变长数组(VLA)
10.9 复合文字
10.10 关键概念
10.11 总结
10.12 复习题
10.13 编程练习
第11章 字符串和字符串函数
11.1 字符串表示和字符串I/O
11.2 字符串输入
11.3 字符串输出
11.4 自定义字符串输入/输出函数
11.5 字符串函数
11.6 字符串例子:字符串排序
11.7 ctype.h字符函数和字符串
11.8 命令行参数
11.9 把字符串转换为数字
11.10 关键概念
11.11 总结
11.12 复习题
11.13 编程练习
第12章 存储类、链接和内存管理
12.1 存储类
12.2 存储类说明符
12.3 存储类和函数
12.4 随机数函数和静态变量
12.5 掷骰子
12.6 分配内存:malloc()和free()
12.7 ANSI C的类型限定词
12.8 关键概念
12.10 复习题
12.11 编程练习
第13章 文件输入/输出
13.1 和文件进行通信
13.2 标准I/O
13.3 一个简单的文件压缩程序
13.4 文件I/O:fprintf ( )、fscanf ( )、fgets ( )和fputs ( )函数
13.5 随机存取:fseek()和ftell()函数
13.6 标准I/O内幕
13.7 其他标准I/O函数
13.8 关键概念
13.10 复习题
13.11 编程练习
第14章 结构和其他数据形式
14.1 示例问题:创建图书目录
14.2 建立结构声明
14.3 定义结构变量
14.4 结构数组
14.5 嵌套结构
14.6 指向结构的指针
14.7 向函数传递结构信息
14.8 把结构内容保存到文件中
14.9 结构:下一步是什么
14.10 联合简介
14.11 枚举类型
14.12 typedef简介
14.13 奇特的声明
14.14 函数和指针
14.15 关键概念
14.16 总结
14.17 复习题
14.18 编程练习
第15章 位操作
15.1 二进制数、位和字节
15.2 其他基数
15.3 C的位运算符
15.4 位字段
15.5 关键概念
15.7 复习题
15.8 编程练习
第16章 C预处理器和C库
16.1 翻译程序的第一步
16.2 明显常量:#define
16.3 在#define中使用参数
16.4 宏,还是函数
16.5 文件包含:#include
16.6 其他指令
16.7 内联函数
16.9 数学库
16.10 通用工具库
16.11 诊断库
16.12 string.h库中的memcpy()和memmove()
16.13 可变参数:stdarg.h
16.14 关键概念
16.15 总结
16.16 复习题
16.17 编程练习
第17章 高级数据表示
17.1 研究数据表示
17.2 从数组到链表
17.3 抽象数据类型(ADT)
17.4 队列ADT
17.5 用队列进行模拟
17.6 链表与数组
17.7 二叉搜索树
17.8 其他说明
17.9 关键概念
17.10 总结
17.11 复习题
17.12 编程练习
附录A 复习题答案
附录B 参考资料
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
C语言的科学和艺术——计算机科学丛书
作  者:(美)罗伯茨(Roberts,E.S) 著,翁惠玉 等译
出 版 社:机械工业出版社
出版时间:
版  次:1页  数:498字  数: 印刷时间:开  本:纸  张:胶版纸 印  次:I S B N:1包  装:平装
  本书是一本计算机科学的经典教材,强调软件工程和优秀的程序设计风格。此外,学生还可以从书中学习到ANSI C的基础知识,这些内容已经成为计算机行业的标准。作者的写作风格使得书中深奥的概念变得易于理解和引人入胜。
本书集中讨论库和抽象的用法,这是当代程序设计技术中最基本的知识。作者使用库来隐藏C语言的复杂性,更加突出主题,使学生可以较好地掌握每一个主题的精髓。然后,进一步给出每个库的底层实现,较好地展示了自身的抽象威力。
本书从基础开始讲起,是C语言的入门教材。本书已经被美国斯坦福大学、哥伦比亚大学等多所大学和学院成功采用,在国内已被上海交通大学采用,是一本适合高等院校计算机及相关专业使用的优秀教材。
随着计算机产业的迅速发展,对计算机专业人才的需求也日益迫切。而程序设计是所有计算机专业人才必备的基础知识和技能。俗话说“万事开头难”,如何使学生顺利地进入程序设计的大门,如何熟悉和精通程序设计,也是计算机专业教学的难题。
本书是一本计算机科学的经典教材,是作者二十多年来从事计算机教学的经验的总结,它提供了丰富的计算机科学的基础知识和程序设计的专门知识。本书具有鲜明的特色。首先,用ANSI C作为教学语言。C语言是目前使用最广泛的教学语言,选用C语言可以使学生毕业后很快就能投入实际工作,并为学习C++和面向对象的语言铺平了道路。第二,采用了基于库函数的方法,强调抽象的原则。本书相当详细地介绍了库和模块化开发,介绍了如何通过库隐藏程序的复杂性,这些是现代程序设计的基本概念。第三,在程序设计中最重要的是从陈述问题过渡到解决问题,本书以通俗易懂的方式讲述了这一过程,使学生能轻松而有趣地学习程序设计。
程序设计既是一门科学,也是一门艺术。学习良好的程序设计需要掌握很多知识,而不只是记住一组规则。必须通过实践以及阅读其他程序来学习。本书包括大量的程序实例,这些实例说明了如何用C语句建立一个完整的程序,如何培养良好的程序设计风格。每章都用丰富的复习题作为知识点的总结,并包含大量的程序设计练习让读者自己动手做更多的程序设计项目。
&&& 正是因为本书具有的上述优点,我们认为把本书译成中文能让更多的学生从中获益,从而打下扎实的程序设计的基础。
显示全部信息
本书是计算机科学的经典教材,介绍了计算机科学的基础知识和程序设计的专门知识。本书以介绍ANSI C为主线,不仅涵盖C语言的基本知识,而且介绍了软件工程技术以及如何应用良好的程序设计风格进行开发等内容。本书采用了库函数的方法,强调抽象的原则,详细阐述了库和模块化开发。此外,本书还利用大量实例讲述解决问题的全过程,对开发过程中常见的错误也给出了解决和避免的方法。本书既可作为高等院校计算机科学入门课程及C语言入门课程的教材,也是C语言开发人员的极佳参考书。
Eric S. Roberts,美国斯坦福大学计算机科学系教授,主管教学的系副主任。他由于教学改革的成就获得Charles Simonyi荣誉教授。Roberts于1980年获哈佛大学应用数学博士学位,其后他创建了威尔斯利学院的计算机科学系,并担任系主任。后来,他在加州Palo Alto的DEC公司系统研究中心工作了5年。
第1章 概述
 1.1 计算简史
 1.2 什么是计算机科学
 1.3 计算机硬件简介
  1.3.1 CPU
  1.3.2 内存
  1.3.3 辅助存储器
  1.3.4 I/O设备
 1.4 算法
 1.5 程序设计语言和编译
 1.6 编程错误和调试
 1.7 软件维护
 1.8 软件工程的重要性
 1.9 关于C程序设计语言的一些思考
第一部分 C语言程序设计基础
 第2章 通过例子学习
  2.1 “Hello world”程序
   2.1.1 注释
   2.1.2 库包含
   2.1.3 主程序
  2.2 两个数的加法程序
   2.2.1 输入阶段
   2.2.2 计算阶段
   2.2.3 输出阶段
  2.3 有关程序设计过程的观点
  2.4 数据类型
   2.4.1 浮点型数据
   2.4.2 字符串类型的数据
  2.5 表达式
   2.5.1 常量
   2.5.2 变量
   2.5.3 赋值语句
   2.5.4 运算符和操作数
   2.5.5 整型数和浮点型数的结合
   2.5.6 整数除法和求余运算符
   2.5.7 优先级
   2.5.8 优先级法则的应用
   2.5.9 类型转换
  复习题
  程序设计练习
 第3章 问题求解
  3.1 程序设计习语和范例
   3.1.1 复合赋值习语
   3.1.2 自增和自减运算符
  3.2 解决规模稍大的问题
  3.3 控制语句
   3.3.1 重复N次习语
   3.3.2 迭代和循环
   3.3.3 下标变量
   3.3.4 初始化的重要性
   3.3.5 读入-直到-标志习语
   3.3.6 创造一个更实用的应用程序
   3.3.7 条件执行和if语句
  3.4 一个调试练习
  3.5 格式化输出
   3.5.1 printf的格式码
   3.5.2 控制空格、对齐方式和精度
  3.6 构思一个程序
   3.6.1 程序设计风格
   3.6.2 设计时考虑将来的修改
   3.6.3 #define机制
 程序设计练习
 第4章 语句形式
  4.1 简单语句
   4.1.1 赋值的嵌套
   4.1.2 多重赋值
   4.1.3 程序块
  4.2 控制语句
  4.3 布尔型数据
   4.3.1 关系运算符
   4.3.2 逻辑运算符
   4.3.3 简化求值
   4.3.4 标志
   4.3.5 避免布尔表达式中的冗余
   4.3.6 布尔计算示例
  4.4 if语句
   4.4.1 单行if语句
   4.4.2 多行if语句
   4.4.3 if/else语句
   4.4.4 级联if语句
   4.4.5 ?: 运算符(可选的)
   4.5 switch语句
  4.6 while语句
   4.6.1 while循环的应用
   4.6.2 无限循环
   4.6.3 解决半途退出问题
  4.7 for语句
   4.7.1 嵌套的for循环
   4.7.2 for和while的关系
   4.7.3 for语句中浮点型数据的使用问题
  复习题
  程序设计练习
 第5章 函数
  5.1 使用库函数
  5.2 函数声明
  5.3 自己编写函数
   5.3.1 return语句
   5.3.2 将函数与主程序放在一起
   5.3.3 包含内部控制结构的函数
   5.3.4 返回非数字值的函数
   5.3.5 谓词函数
   5.3.6 测试字符串是否相等的谓词函数
  5.4 函数调用过程机制
   5.4.1 参数传递
   5.4.2 在其他函数中调用函数
  5.5 过程
  5.6 逐步精化
   5.6.1 从顶开始
   5.6.2 实现PrintCalendar
   5.6.3 实现PrintCalendarMonth
   5.6.4 完成最后的片段
  复习题
  程序设计练习
 第6章 算法
  6.1 测试素数
   6.1.1 一个IsPrime的简单版本
   6.1.2 验证一个策略是否表示一个算法
   6.1.3 说明IsPrime算法的正确性
   6.1.4 改进算法的效率
   6.1.5 在各个可选方案中选择
  6.2 计算最大公约数
   6.2.1 brute-force算法
   6.2.2 欧几里德算法
   6.2.3 欧几里德算法的正确性说明(可选)
   6.2.4 比较GCD算法的效率
  6.3 数值算法
   6.3.1 连续逼近
   6.3.2 报告错误
  6.4 级数展开
   6.4.1 Zeno悖论
   6.4.2 用级数展开法设计平方根函数
   6.4.3 估计平方根的泰勒级数展开(可选)
   6.4.4 泰勒级数近似的实现
   6.4.5 停留在收敛半径之内
  6.5 指定数值类型的大小
   6.5.1 整数类型
   6.5.2 无符号类型
   6.5.3 浮点类型
  复习题
  程序设计练习
第二部分 库和模块化开发
第三部分 复合数据类型
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
作  者:(美)里科 著,徐波 译
出 版 社:人民邮电出版社
出版时间:
版  次:2页  数:448字  数:760000 印刷时间:开  本:大16开纸  张:胶版纸 印  次:1I S B N:3包  装:平装
本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。 本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习C语言的参考。   
  我竭尽全力地推荐这本我所见过的最好的C编程入门图书。作者深知读者所需,并为他们打下良好基础。如果你已经开始学习C语言但始终不得要领,不妨试一试这本书。
             ——Francis Glassborow,ACCU主席
本书提供与C语言编程相关的全面资源和深入讨论。本书通过对指针的基础知识和高级特性的探讨,帮助程序员把指针的强大功能融入到自己的程序中去。
全书共18章,覆盖了数据、语句、操作符和表达式、指针、函数、数组、字符串、结构和联合等几乎所有重要的C编程话题。书中给出了很多编程技巧和提示,每章后面有针对性很强的练习,附录部分则给出了部分练习的解答。
本书适合C语言初学者和初级c程序员阅读,也可作为计算机专业学生学习c语言的参考。
第1章 快速上手 
 1.1 简介 
  1.1.1 空白和注释 
  1.1.2 预处理指令 
  1.1.3 main函数 
  1.1.4 read_column_numbers函数 
  1.1.5 rearrange函数 
 1.2 补充说明 
 1.3 编译 
 1.4 总结 
 1.5 警告的总结 
 1.6 编程提示的总结 
 1.7 问题 
 1.8 编程练习 
第2章 基本概念 
 2.1 环境 
  2.1.1 翻译 
  2.1.2 执行 
 2.2 词法规则 
  2.2.1 字符 
  2.2.2 注释 
  2.2.3 自由形式的源代码 
  2.2.4 标识符 
  2.2.5 程序的形式 
 2.3 程序风格 
 2.4 总结 
 2.5 警告的总结 
 2.6 编程提示的总结 
 2.7 问题 
 2.8 编程练习 
第3章 数据 
 3.1 基本数据类型 
  3.1.1 整型家族 
  3.1.2 浮点类型 
  3.1.3 指针 
 3.2 基本声明 
  3.2.1 初始化 
  3.2.2 声明简单数组 
  3.2.3 声明指针 
  3.2.4 隐式声明 
 3.3 typedef 
 3.4 常量 
 3.5 作用域 
  3.5.1 代码块作用域 
  3.5.2 文件作用域 
  3.5.3 原型作用域 
  3.5.4 函数作用域 
 3.6 链接属性 
 3.7 存储类型 
 3.8 static关键字 
 3.9 作用域、存储类型示例 
 3.10 总结 
 3.11 警告的总结 
 3.12 编程提示的总结 
 3.13 问题 
第4章 语句 
 4.1 空语句 
 4.2 表达式语句 
 4.3 代码块 
 4.4 if语句 
 4.5 while语句 
  4.5.1 break和continue语句 
  4.5.2 while语句的执行过程 
 4.6 for语句 
 4.7 do语句 
 4.8 switch语句 
  4.8.1 switch中的break语句 
  4.8.2 default子句 
  4.8.3 switch语句的执行过程 
 4.9 goto语句 
 4.10 总结 
 4.11 警告的总结 
 4.12 编程提示的总结 
 4.13 问题 
 4.14 编程练习 
第5章 操作符和表达式 
 5.1 操作符 
  5.1.1 算术操作符 
  5.1.2 移位操作符 
  5.1.3 位操作符 
  5.1.4 赋值 
  5.1.5 单目操作符 
  5.1.6 关系操作符 
  5.1.7 逻辑操作符 
  5.1.8 条件操作符 
  5.1.9 逗号操作符 
  5.1.10 下标引用、函数调用和结构成员 
 5.2 布尔值 
 5.3 左值和右值 
 5.4 表达式求值 
  5.4.1 隐式类型转换 
  5.4.2 算术转换 
  5.4.3 操作符的属性 
  5.4.4 优先级和求值的顺序 
 5.5 总结 
 5.6 警告的总结 
 5.7 编程提示的总结 
 5.8 问题 
 5.9 编程练习 
第6章 指针 
 6.1 内存和地址 
 6.2 值和类型 
 6.3 指针变量的内容 
 6.4 间接访问操作符 
 6.5 未初始化和非法的指针 
 6.6 NULL指针 
 6.7 指针、间接访问和左值 
 6.8 指针、间接访问和变量 
 6.9 指针常量 
 6.10 指针的指针 
 6.11 指针表达式 
 6.12 实例 
 6.13 指针运算 
  6.13.1 算术运算 
  6.13.2 关系运算 
 6.14 总结 
 6.15 警告的总结 
 6.16 编程提示的总结 
 6.17 问题 
 6.18 编程练习 
第7章 函数 
 7.1 函数定义 
 7.2 函数声明 
  7.2.1 原型 
  7.2.2 函数的缺省认定 
 7.3 函数的参数 
 7.4 ADT和黑盒 
 7.5 递归 
  7.5.1 追踪递归函数 
  7.5.2 递归与迭代 
 7.6 可变参数列表 
  7.6.1 stdarg宏 
  7.6.2 可变参数的限制 
 7.7 总结 
 7.8 警告的总结 
 7.9 编程提示的总结 
 7.10 问题 
 7.11 编程练习 
第8章 数组 
 8.1 一维数组 
  8.1.1 数组名 
  8.1.2 下标引用 
  8.1.3 指针与下标 
  8.1.4 指针的效率 
  8.1.5 数组和指针 
  8.1.6 作为函数参数的数组名 
  8.1.7 声明数组参数 
  8.1.8 初始化 
  8.1.9 不完整的初始化 
  8.1.10 自动计算数组长度 
  8.1.11 字符数组的初始化 
 8.2 多维数组 
  8.2.1 存储顺序 
  8.2.2 数组名 
  8.2.3 下标 
  8.2.4 指向数组的指针 
  8.2.5 作为函数参数的多维数组 
  8.2.6 初始化 
  8.2.7 数组长度自动计算 
 8.3 指针数组 
 8.4 总结 
 8.5 警告的总结 
 8.6 编程提示的总结 
 8.7 问题 
 8.8 编程练习 
第9章 字符串、字符和字节 
 9.1 字符串基础 
 9.2 字符串长度 
 9.3 不受限制的字符串函数 
  9.3.1 复制字符串 
  9.3.2 连接字符串 
  9.3.3 函数的返回值 
  9.3.4 字符串比较 
 9.4 长度受限的字符串函数 
 9.5 字符串查找基础 
  9.5.1 查找一个字符 
  9.5.2 查找任何几个字符 
  9.5.3 查找一个子串 
 9.6 高级字符串查找 
  9.6.1 查找一个字符串前缀 
  9.6.2 查找标记 
 9.7 错误信息 
 9.8 字符操作 
  9.8.1 字符分类 
  9.8.2 字符转换 
 9.9 内存操作 
 9.10 总结 
 9.11 警告的总结 
 9.12 编程提示的总结 
 9.13 问题 
 9.14 编程练习 
第10章 结构和联合 
 10.1 结构基础知识 
  10.1.1 结构声明 
  10.1.2 结构成员 
  10.1.3 结构成员的直接访问 
  10.1.4 结构成员的间接访问 
  10.1.5 结构的自引用 
  10.1.6 不完整的声明 
  10.1.7 结构的初始化 
 10.2 结构、指针和成员 
  10.2.1 访问指针 
  10.2.2 访问结构 
  10.2.3 访问结构成员 
  10.2.4 访问嵌套的结构 
  10.2.5 访问指针成员 
 10.3 结构的存储分配 
 10.4 作为函数参数的结构 
 10.5 位段 
 10.6 联合 
  10.6.1 变体记录 
  10.6.2 联合的初始化 
 10.7 总结 
 10.8 警告的总结 
 10.9 编程提示的总结 
 10.10 问题 
 10.11 编程练习 
第11章 动态内存分配 
 11.1 为什么使用动态内存分配 
 11.2 malloc和free 
 11.3 calloc和realloc 
 11.4 使用动态分配的内存 
 11.5 常见的动态内存错误 
 11.6 内存分配实例 
 11.7 总结 
 11.8 警告的总结 
 11.9 编程提示的总结 
 11.10 问题 
 11.11 编程练习 
第12章 使用结构和指针 
 12.1 链表 
 12.2 单链表 
  12.2.1 在单链表中插入 
  12.2.2 其他链表操作 
 12.3 双链表 
  12.3.1 在双链表中插入 
  12.3.2 其他链表操作 
 12.4 总结 
 12.5 警告的总结 
 12.6 编程提示的总结 
 12.7 问题 
 12.8 编程练习 
第13章 高级指针话题 
 13.1 进一步探讨指向指针的指针 
 13.2 高级声明 
 13.3 函数指针 
  13.3.1 回调函数 
  13.3.2 转移表 
 13.4 命令行参数 
  13.4.1 传递命令行参数 
  13.4.2 处理命令行参数 
 13.5 字符串常量 
 13.6 总结 
 13.7 警告的总结 
 13.8 编程提示的总结 
 13.9 问题 
 13.10 编程练习 
第14章 预处理器 
 14.1 预定义符号 
 14.2 #define 
  14.2.1 宏 
  14.2.2 #define替换 
  14.2.3 宏与函数 
  14.2.4 带副作用的宏参数 
  14.2.5 命名约定 
  14.2.6 #undef 
  14.2.7 命令行定义 
 14.3 条件编译 
  14.3.1 是否被定义 
  14.3.2 嵌套指令 
 14.4 文件包含 
  14.4.1 函数库文件包含 
  14.4.2 本地文件包含 
  14.4.3 嵌套文件包含 
 14.5 其他指令 
 14.6 总结 
 14.7 警告的总结 
 14.8 编程提示的总结 
 14.9 问题 
 14.10 编程练习 
第15章 输入/输出函数 
 15.1 错误报告 
 15.2 终止执行 
 15.3 标准I/O函数库 
 15.4 ANSI I/O概念 
  15.4.1 流 
  15.4.2 文件 
  15.4.3 标准I/O常量 
 15.5 流I/O总览 
 15.6 打开流 
 15.7 关闭流 
 15.8 字符I/O 
  15.8.1 字符I/O宏 
  15.8.2 撤销字符I/O 
 15.9 未格式化的行I/O 
 15.10 格式化的行I/O 
  15.10.1 scanf家族 
  15.10.2 scanf格式代码 
  15.10.3 printf家族 
  15.10.4 printf格式代码 
 15.11 二进制I/O 
 15.12 刷新和定位函数 
 15.13 改变缓冲方式 
 15.14 流错误函数 
 15.15 临时文件 
 15.16 文件操纵函数 
 15.17 总结 
 15.18 警告的总结 
 15.19 编程提示的总结 
 15.20 问题 
 15.21 编程练习 
第16章 标准函数库 
 16.1 整型函数 
  16.1.1 算术  
  16.1.2 随机数 
  16.1.3 字符串转换  
 16.2 浮点型函数 
  16.2.1 三角函数  
  16.2.2 双曲函数  
  16.2.3 对数和指数函数  
  16.2.4 浮点表示形式  
  16.2.5 幂  
  16.2.6 底数、顶数、绝对值和余数  
  16.2.7 字符串转换  
 16.3 日期和时间函数 
  16.3.1 处理器时间  
  16.3.2 当天时间  
 16.4 非本地跳转  
  16.4.1 实例 
  16.4.2 何时使用非本地跳转 
 16.5 信号 
  16.5.1 信号名  
  16.5.2 处理信号  
  16.5.3 信号处理函数 
 16.6 打印可变参数列表  
 16.7 执行环境 
  16.7.1 终止执行  
  16.7.2 断言 
  16.7.3 环境  
  16.7.4 执行系统命令  
  16.7.5 排序和查找 
 16.8 locale 
  16.8.1 数值和货币格式  
  16.8.2 字符串和locale  
  16.8.3 改变locale的效果 
 16.9 总结 
 16.10 警告的总结 
 16.11 编程提示的总结 
 16.12 问题 
 16.13 编程练习 
第17章 经典抽象数据类型 
 17.1 内存分配 
 17.2 堆栈 
  17.2.1 堆栈接口 
  17.2.2 实现堆栈 
 17.3 队列 
  17.3.1 队列接口 
  17.3.2 实现队列 
 17.4 树 
  17.4.1 在二叉搜索树中插入 
  17.4.2 从二叉搜索树删除节点 
  17.4.3 在二叉搜索树中查找 
  17.4.4 树的遍历 
  17.4.5 二叉搜索树接口 
  17.4.6 实现二叉搜索树 
 17.5 实现的改进 
  17.5.1 拥有超过一个的堆栈 
  17.5.2 拥有超过一种的类型 
  17.5.3 名字冲突 
  17.5.4 标准函数库的ADT 
 17.6 总结 
 17.7 警告的总结 
 17.8 编程提示的总结 
 17.9 问题 
 17.10 编程练习 
第18章 运行时环境 
 18.1 判断运行时环境 
  18.1.1 测试程序 
  18.1.2 静态变量和初始化 
  18.1.3 堆栈帧 
  18.1.4 寄存器变量 
  18.1.5 外部标识符的长度 
  18.1.6 判断堆栈帧布局 
  18.1.7 表达式的副作用 
 18.2 C和汇编语言的接口 
 18.3 运行时效率 
 18.4 总结 
 18.5 警告的总结 
 18.6 编程提示的总结 
 18.7 问题 
 18.8 编程练习 
附录 部分问题答案 
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
C 陷阱与缺陷
作  者:(美)凯尼格 著,高巍 译
出 版 社:人民邮电出版社
出版时间:
版  次:1页  数:172字  数:228000 印刷时间:开  本:16开纸  张:胶版纸 印  次:1I S B N:5包  装:平装
Andrew Koenig自己在Bell实验室时发表的论文为基础,结合自己的工作经验扩展成这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
本书所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug。
——Francis Glassborow,ACCU主席
作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。
  全书分为 8章,分别从词法分析、语法语义、连接、库函数、预处理器、可移植性缺陷等几个方面分析了C编程中可能遇到的问题。最后,作者用一章的篇幅给出了若干具有实用价值的建议。
  本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。
Andrew Koenig AT&T大规模程序研发部(莉贝尔实验室)成员。他从1 986年开始从事C语言的研究,1977年加入贝尔实验室。在1989年ISO/ANSI C++委员会成立时,他就加入了该委员会,并一直担任项目编辑;他还是《Rumirlatio rls on C++》(C++沉思录)、《CTraps and Pitfalls》的作者。
第0章 导读
第1章 词法“陷阱”
1.1 =不同于==
1.2 &和|不同于&&和||
1.3 词法分析中的“贪心法”
1.4 整型常量
1.5 字符与字符串
第2章 语法“陷阱”
2.1 理解函数声明
2.2 运算符的优先级问题
2.3 注意作为语句结束标志的分号
2.4 switch语句
2.5 函数调用
2.6 “悬挂”else引发的问题
第3章 语义“陷阱”
3.1 指针与数组
3.2 非数组的指针
3.3 作为参数的数组声明
3.4 避免“举隅法”
3.5 空指针并非空字符串
3.6 边界计算与不对称边界
3.7 求值顺序
3.8 运算符&&、||和!
3.9 整数溢出
3.10 为函数main提供返回值
第4章 连接
4.1 什么是连接器
4.2 声明与定义
4.3 命名冲突与static修饰符
4.4 形参、实参与返回值
4.5 检查外部类型
4.6 头文件
第5章 库函数
5.1 返回整数的getchar函数
5.2 更新顺序文件
5.3 缓冲输出与内存分配
5.4 使用ernlo检测错误
5.5 库函数signal
第6章 预处理器
6.1 不能忽视宏定义中的空格
6.2 宏并不是函数
6.3 宏并不是语句
6.4 宏并不是类型定义
第7章 可移植性缺陷
7.1 应对C语言标准变更
7.2 标识符名称的限制
7.3 整数的大小
7.4 字符是有符号整数还是无符号整数
7.5 移位运算符
7.6 内存位置0
7.7 除法运算时发生的截断
7.8 随机数的大小
7.9 大小写转换
7.10 首先释放,然后重新分配
7.11 可移植性问题的一个例子
第8章 建议与答案
附录A:PRINTF,VARARGS与STDARG
附录B:Koenig和Moo夫妇访谈
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
数据结构与算法分析:C语言描述(原书第2版)
作  者:(美)维斯 著,冯舜玺 译
出 版 社:机械工业出版社
出版时间:
版  次:1版1次页  数:391字  数: 印刷时间:开  本:纸  张:胶版纸 印  次:I S B N:2包  装:平装
  本书讨论数据结构和算法分析。数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切。可是,由于在输入量很大的时候,程序的低效率现象变得非常明显,因此这又要求对效率问题给予更仔细的关注。通过在实际编程之前对算法的分析,学生可以决定一个特定的解法是否可行。例如,学生在本书中将读到一些特定的问题并看到精心的实现方法是如何把对大量数据的时间限制从16年减至不到1秒的。因此,若无运行时间的阐释,就不会有算法和数据结构的提出。
  本书是国外数据结构与算法分析方在的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时廛授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。
本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
  随着速度的不断提高和存储容量的持续增长,计算机的功能日益强大,从而处理数据和解决问题的规模和复杂程度与日俱增。这不仅带来了需要认真研究的新课题,而且突出了原有数据结构和算法效率低下的缺点。程序的效率问题不是由于计算机功能的强大而受到冷落,相反地,倒是被人们提到前所未有的重视程度,因为大型问题的解决所涉及到的大容量存储和高速度运算容不得我们对效率有丝毫的忽视。本书正是在阐述数据结构基本概念的同时深入地分析了算法的效率。
书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于本书选材新颖,方法实用,题例丰富,取舍得当。本书的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。
  本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。
  在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
  全书特点如下:
显示全部信息
Mark Allen Weiss是佛罗里达国际大学计算机学院教授,普林斯顿大学计算机科学博士。除本书外,他编写的关于数据结构与算法方面的知名教材还有:Data Structures and Algorithm Analysis:in Java, Data Structures and Algonthm Analysis:in C++以及Data Structures and Problem Solving:Using Jave、Data Struchures and Problem Solving:Using C++等。他目前是AP考试计算机学科委员会的主席。
出版者的话
专家指导委员会
第1章 引论
第2章 算法分析
第3章 表、栈和队列
第5章 散列
第6章 优先队列(堆)
第7章 排序
第8章 不相交集ADT
第9章 图论算法
第10章 算法设计技巧
第11章 摊还分析
第12章 高级数据结构及其实现
来 自:广东
等 级:贵宾
威 望:32
帖 子:2814
专家分:642
数据结构与算法分析:C语言描述(原书第2版)
作  者:(美)维斯 著,冯舜玺 译
出 版 社:机械工业出版社
出版时间:
版  次:1版1次页  数:391字  数: 印刷时间:开  本:纸  张:胶版纸 印  次:I S B N:2包  装:平装
  本书讨论数据结构和算法分析。数据结构主要研究组织大量数据的方法,而算法分析则是对算法运行时间的评估。随着计算机的速度越来越快,对于能够处理大量输入数据的程序的需求变得日益急切。可是,由于在输入量很大的时候,程序的低效率现象变得非常明显,因此这又要求对效率问题给予更仔细的关注。通过在实际编程之前对算法的分析,学生可以决定一个特定的解法是否可行。例如,学生在本书中将读到一些特定的问题并看到精心的实现方法是如何把对大量数据的时间限制从16年减至不到1秒的。因此,若无运行时间的阐释,就不会有算法和数据结构的提出。
  本书是国外数据结构与算法分析方在的标准教材,介绍了数据结构(大量数据的组织方法)以及算法分析(算法运行时间的估算)。本书的编写目标是同时廛授好的程序设计和算法分析技巧,使读者可以开发出具有最高效率的程序。
本书可作为高级数据结构课程或研究生一年级算法分析课程的教材,使用本书需具有一些中级程序设计知识,还需要离散数学的一些背景知识。
  随着速度的不断提高和存储容量的持续增长,计算机的功能日益强大,从而处理数据和解决问题的规模和复杂程度与日俱增。这不仅带来了需要认真研究的新课题,而且突出了原有数据结构和算法效率低下的缺点。程序的效率问题不是由于计算机功能的强大而受到冷落,相反地,倒是被人们提到前所未有的重视程度,因为大型问题的解决所涉及到的大容量存储和高速度运算容不得我们对效率有丝毫的忽视。本书正是在阐述数据结构基本概念的同时深入地分析了算法的效率。
书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率以及对运行时间分析的基础上考查了一些高级数据结构,从历史的角度和近年的进展对数据结构的活跃领域进行了简要的概括。由于本书选材新颖,方法实用,题例丰富,取舍得当。本书的目的是培养学生良好的程序设计技巧和熟练的算法分析能力,使得他们能够开发出高效率的程序。从服务于实践又锻炼学生实际能力出发,书中提供了大部算法的C程序和伪码例程,但并不是全部。一些程序可从互联网上获得。
  本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。
  在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。
  全书特点如下:
显示全部信息
Mark Allen Weiss是佛罗里达国际大学计算机学院教授,普林斯顿大学计算机科学博士。除本书外,他编写的关于数据结构与算法方面的知名教材还有:Data Structures and Algorithm Analysis:in Java, Data Structures and Algonthm Analysis:in C++以及Data Structures and Problem Solving:Using Jave、Data Struchures and Problem Solving:Using C++等。他目前是AP考试计算机学科委员会的主席。
出版者的话
专家指导委员会
第1章 引论
第2章 算法分析
第3章 表、栈和队列
第5章 散列
第6章 优先队列(堆)
第7章 排序
第8章 不相交集ADT
第9章 图论算法
第10章 算法设计技巧
第11章 摊还分析
第12章 高级数据结构及其实现
版权所有,并保留所有权利。
Powered by , Processed in 0.028828 second(s), 9 queries.
Copyright&, BCCN.NET, All Rights Reserved}

我要回帖

更多关于 c语言入门 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信