描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111622499
产品特色
内容简介
用实用和信息丰富的方法解决C编程问题。本书涵盖了C编程的各个方面,包括C的基础知识、运算符和表达式、控制语句、递归和用户定义函数。每一章都包含一系列方法,你可以很容易地参考它们,快速找到你想要的答案。
目 录
前言
致谢
第1章 欢迎学习C语言1
1.1 程序、软件和操作系统2
1.2 机器语言和汇编语言2
1.3 过程式语言3
1.4 面向对象的语言3
1.5 计算机术语4
1.6 编译和解释语言4
1.7 第一个C程序5
1.8 C的突出特点6
1.9 隐式类型转换7
1.10 显式类型转换9
第2章 控制语句10
2.1 求1到N的整数的总和10
2.2 计算数字的阶乘12
2.3 生成斐波那契数列14
2.4 确定给定数字是否为质数17
2.5 计算正弦函数20
2.6 计算余弦函数21
2.7 计算二次方程的根23
2.8 计算整数的反转数25
2.9 使用嵌套循环打印几何图案26
2.10 生成终值利息系数表28
第3章 函数和数组31
3.1 确定圆周率π的值32
3.2 从数字列表中选择质数34
3.3 使用递归进行数字求和37
3.4 使用递归计算斐波那契数列39
3.5 使用递归计算数字的阶乘40
3.6 搜索整数数组中的最大元素42
3.7 解决经典的汉诺塔问题43
3.8 解决八皇后问题46
3.9 计算给定对象集的排列和组合48
3.10 对两个矩阵求和50
3.11 计算矩阵的转置53
3.12 计算矩阵的乘积55
第4章 指针和数组59
4.1 从包含int类型数据的数组中获取数据59
4.2 使用数组名称从数组中获取数据61
4.3 从包含char和double类型数据的数组中获取数据62
4.4 访问越界数组元素64
4.5 存储字符串66
4.6 存储字符串而不进行初始化68
4.7 在交互式会话中存储字符串70
4.8 获取二维数组中元素的地址71
4.9 获取二维数组中行的基址73
4.10 从二维数组中获取数据74
4.11 使用数组名称从二维数组中获取 数据76
4.12 使用指针数组从数组中获取数据78
4.13 物理交换字符串80
4.14 逻辑交换字符串82
4.15 以交互方式存储字符串85
4.16 将命令行参数传递给程序87
4.17 使用指向指针的指针获取存储的字符串90
第5章 利用指针使用函数和结构94
5.1 通过引用传递函数参数94
5.2 显示嵌套结构中存储的数据96
5.3 使用函数构建结构102
5.4 通过将结构传递给函数来修改结构中的数据103
5.5 通过将指向结构的指针传递给函数来修改结构中的数据105
5.6 使用结构数组存储和获取数据107
5.7 在交互模式下使用结构数组存储和获取数据110
5.8 使用函数指针调用函数113
5.9 实现基于文本的菜单系统115
第6章 数据文件118
6.1 逐个字符地读取文本文件118
6.2 文件打开失败时处理错误122
6.3 以批处理模式写入文本文件125
6.4 以交互模式写入文本文件127
6.5 逐个字符串地读取文本文件130
6.6 逐个字符地写入文本文件132
6.7 将整数写入文本文件134
6.8 将结构写入文本文件136
6.9 读取存储在文本文件中的整数139
6.10 读取存储在文本文件中的结构141
6.11 将整数写入二进制文件143
6.12 将结构写入二进制文件145
6.13 读取写入二进制文件的整数147
6.14 读取写入二进制文件的结构149
6.15 重命名文件151
6.16 删除文件152
6.17 复制文本文件153
6.18 复制二进制文件155
6.19 写入文件并读取该文件157
6.20 将文本文件定位到所需字符159
6.21 从键盘设备文件中读取165
6.22 将文本写入显示器设备文件167
6.23 从键盘设备文件读取文本并将其写入显示器设备文件169
第7章 自引用结构171
7.1 以交互方式生成数字列表171
7.2 使用匿名变量创建链表173
7.3 从链表中删除组件177
7.4 将组件插入链表181
7.5 在交互式会话中创建链表187
7.6 处理线性链表191
7.7 创建具备前向和后向遍历功能的线性链表200
第8章 栈和队列203
8.1 将栈实现为数组204
8.2 将栈实现为链表207
8.3 将中缀表达式转换为后缀表达式212
8.4 将中缀表达式转换为前缀表达式215
8.5 将循环队列实现为数组218
第9章 搜索和排序223
9.1 使用线性搜索查找数据元素224
9.2 使用二分搜索查找数据元素226
9.3 使用冒泡排序对给定的数字列表进行排序228
9.4 使用插入排序对给定的数字列表进行排序231
9.5 使用选择排序对给定的数字列表进行排序233
9.6 使用归并排序对给定的数字列表进行排序235
9.7 使用希尔排序对给定的数字列表进行排序238
9.8 使用快速排序对给定的数字列表进行排序240
第10章 密码系统243
10.1 使用反向密码方法245
10.2 使用恺撒密码方法248
10.3 使用转置密码方法251
10.4 使用乘法密码方法255
10.5 使用仿射密码方法259
10.6 使用简单替换密码方法263
10.7 使用Vigenère密码方法268
10.8 使用一次性密钥密码方法273
10.9 使用RSA密码方法277
第11章 数值方法283
11.1 用对分法求方程的根284
11.2 用试位法求方程的根286
11.3 用穆勒法求方程的根289
11.4 用牛顿拉夫森迭代法求方程的根292
11.5 用牛顿前向插值法构造新的数据点294
11.6 用牛顿后向插值法构造新的数据点296
11.7 用高斯前向插值法构造新的数据点299
11.8 用高斯后向插值法构造新的数据点301
11.9 用斯特林插值法构造新的数据点304
11.10 用贝塞尔插值法构造新的数据点306
11.11 用拉普拉斯-埃弗雷特插值法构造新的数据点309
致谢
第1章 欢迎学习C语言1
1.1 程序、软件和操作系统2
1.2 机器语言和汇编语言2
1.3 过程式语言3
1.4 面向对象的语言3
1.5 计算机术语4
1.6 编译和解释语言4
1.7 第一个C程序5
1.8 C的突出特点6
1.9 隐式类型转换7
1.10 显式类型转换9
第2章 控制语句10
2.1 求1到N的整数的总和10
2.2 计算数字的阶乘12
2.3 生成斐波那契数列14
2.4 确定给定数字是否为质数17
2.5 计算正弦函数20
2.6 计算余弦函数21
2.7 计算二次方程的根23
2.8 计算整数的反转数25
2.9 使用嵌套循环打印几何图案26
2.10 生成终值利息系数表28
第3章 函数和数组31
3.1 确定圆周率π的值32
3.2 从数字列表中选择质数34
3.3 使用递归进行数字求和37
3.4 使用递归计算斐波那契数列39
3.5 使用递归计算数字的阶乘40
3.6 搜索整数数组中的最大元素42
3.7 解决经典的汉诺塔问题43
3.8 解决八皇后问题46
3.9 计算给定对象集的排列和组合48
3.10 对两个矩阵求和50
3.11 计算矩阵的转置53
3.12 计算矩阵的乘积55
第4章 指针和数组59
4.1 从包含int类型数据的数组中获取数据59
4.2 使用数组名称从数组中获取数据61
4.3 从包含char和double类型数据的数组中获取数据62
4.4 访问越界数组元素64
4.5 存储字符串66
4.6 存储字符串而不进行初始化68
4.7 在交互式会话中存储字符串70
4.8 获取二维数组中元素的地址71
4.9 获取二维数组中行的基址73
4.10 从二维数组中获取数据74
4.11 使用数组名称从二维数组中获取 数据76
4.12 使用指针数组从数组中获取数据78
4.13 物理交换字符串80
4.14 逻辑交换字符串82
4.15 以交互方式存储字符串85
4.16 将命令行参数传递给程序87
4.17 使用指向指针的指针获取存储的字符串90
第5章 利用指针使用函数和结构94
5.1 通过引用传递函数参数94
5.2 显示嵌套结构中存储的数据96
5.3 使用函数构建结构102
5.4 通过将结构传递给函数来修改结构中的数据103
5.5 通过将指向结构的指针传递给函数来修改结构中的数据105
5.6 使用结构数组存储和获取数据107
5.7 在交互模式下使用结构数组存储和获取数据110
5.8 使用函数指针调用函数113
5.9 实现基于文本的菜单系统115
第6章 数据文件118
6.1 逐个字符地读取文本文件118
6.2 文件打开失败时处理错误122
6.3 以批处理模式写入文本文件125
6.4 以交互模式写入文本文件127
6.5 逐个字符串地读取文本文件130
6.6 逐个字符地写入文本文件132
6.7 将整数写入文本文件134
6.8 将结构写入文本文件136
6.9 读取存储在文本文件中的整数139
6.10 读取存储在文本文件中的结构141
6.11 将整数写入二进制文件143
6.12 将结构写入二进制文件145
6.13 读取写入二进制文件的整数147
6.14 读取写入二进制文件的结构149
6.15 重命名文件151
6.16 删除文件152
6.17 复制文本文件153
6.18 复制二进制文件155
6.19 写入文件并读取该文件157
6.20 将文本文件定位到所需字符159
6.21 从键盘设备文件中读取165
6.22 将文本写入显示器设备文件167
6.23 从键盘设备文件读取文本并将其写入显示器设备文件169
第7章 自引用结构171
7.1 以交互方式生成数字列表171
7.2 使用匿名变量创建链表173
7.3 从链表中删除组件177
7.4 将组件插入链表181
7.5 在交互式会话中创建链表187
7.6 处理线性链表191
7.7 创建具备前向和后向遍历功能的线性链表200
第8章 栈和队列203
8.1 将栈实现为数组204
8.2 将栈实现为链表207
8.3 将中缀表达式转换为后缀表达式212
8.4 将中缀表达式转换为前缀表达式215
8.5 将循环队列实现为数组218
第9章 搜索和排序223
9.1 使用线性搜索查找数据元素224
9.2 使用二分搜索查找数据元素226
9.3 使用冒泡排序对给定的数字列表进行排序228
9.4 使用插入排序对给定的数字列表进行排序231
9.5 使用选择排序对给定的数字列表进行排序233
9.6 使用归并排序对给定的数字列表进行排序235
9.7 使用希尔排序对给定的数字列表进行排序238
9.8 使用快速排序对给定的数字列表进行排序240
第10章 密码系统243
10.1 使用反向密码方法245
10.2 使用恺撒密码方法248
10.3 使用转置密码方法251
10.4 使用乘法密码方法255
10.5 使用仿射密码方法259
10.6 使用简单替换密码方法263
10.7 使用Vigenère密码方法268
10.8 使用一次性密钥密码方法273
10.9 使用RSA密码方法277
第11章 数值方法283
11.1 用对分法求方程的根284
11.2 用试位法求方程的根286
11.3 用穆勒法求方程的根289
11.4 用牛顿拉夫森迭代法求方程的根292
11.5 用牛顿前向插值法构造新的数据点294
11.6 用牛顿后向插值法构造新的数据点296
11.7 用高斯前向插值法构造新的数据点299
11.8 用高斯后向插值法构造新的数据点301
11.9 用斯特林插值法构造新的数据点304
11.10 用贝塞尔插值法构造新的数据点306
11.11 用拉普拉斯-埃弗雷特插值法构造新的数据点309
前 言
本书包含了适合从初级到高级的各种读者的大量C语言技巧。本书按照“问题-解决方案”的体例编写,以便你可以快速找到所需问题的解决方案。本书每个解决方案都附带适当的代码和对该代码的简要讨论,力求在C的理论和实践之间取得完美的平衡。
C语言于1972年首次亮相。对于高级计算机语言而言,它现在处于退休年龄。但是,尽管C语言已有40多年的历史,它仍然很强大。C是十种最受欢迎的计算机语言之一,至少在接下来的20年内仍将如此。因此,你在C中获得的任何专业知识都不会很快过时,并且会使你在未来几年内继续保持高效。本书将帮助你解决C语言中的问题,并使你成为C语言的专家。
本书适用对象
本书主要面向在职专业人士。但是,它也适用于学生、教师、研究人员、代码测试人员和程序员。期望你具备C语言和编程的实际知识。
本书组织结构
本书由11章组成。第1章总览C语言。第2章涉及控制语句。第3~5章涉及函数、数组、指针和结构。在这些章节中,你将找到程序员在实际工作中面临的问题。
第6章处理数据文件,包含大量涉及保存文件到磁盘和从所保存的文件中获取数据的技巧。第7~9章涉及数据结构的广泛主题,这些章节涵盖了具有实用性的数据结构。第10章介绍了各种密码系统。C和密码学的组合是一个非常强大且有趣的组合。在本章中,你将体验到这种组合的强大功能。
第11章是本书的最后一章,讨论数值方法。计算机是作为数值计算机器被发明的,但随着时间的推移,它们已经成为了数据处理机器。然而,即使在今天,数值计算仍是计算机执行的最重要的工作之一。本章为你提供了许多用于数值计算实用程序的技巧。
我真诚地希望本书对广大读者有用。
C语言于1972年首次亮相。对于高级计算机语言而言,它现在处于退休年龄。但是,尽管C语言已有40多年的历史,它仍然很强大。C是十种最受欢迎的计算机语言之一,至少在接下来的20年内仍将如此。因此,你在C中获得的任何专业知识都不会很快过时,并且会使你在未来几年内继续保持高效。本书将帮助你解决C语言中的问题,并使你成为C语言的专家。
本书适用对象
本书主要面向在职专业人士。但是,它也适用于学生、教师、研究人员、代码测试人员和程序员。期望你具备C语言和编程的实际知识。
本书组织结构
本书由11章组成。第1章总览C语言。第2章涉及控制语句。第3~5章涉及函数、数组、指针和结构。在这些章节中,你将找到程序员在实际工作中面临的问题。
第6章处理数据文件,包含大量涉及保存文件到磁盘和从所保存的文件中获取数据的技巧。第7~9章涉及数据结构的广泛主题,这些章节涵盖了具有实用性的数据结构。第10章介绍了各种密码系统。C和密码学的组合是一个非常强大且有趣的组合。在本章中,你将体验到这种组合的强大功能。
第11章是本书的最后一章,讨论数值方法。计算机是作为数值计算机器被发明的,但随着时间的推移,它们已经成为了数据处理机器。然而,即使在今天,数值计算仍是计算机执行的最重要的工作之一。本章为你提供了许多用于数值计算实用程序的技巧。
我真诚地希望本书对广大读者有用。
评论
还没有评论。