新书推荐 |《C编程技巧:117个问题解决方案示例》

新书推荐

《C编程技巧:117个问题解决方案示例》

点击上图了解及购买

遵循ANSI C标准编写,力求在C的理论和实践之间取得完美的平衡,案例丰富,含代码示例及解决方案,面向各层次C程序员。

编辑推荐

  • 采用问题——解决方案体例编写,结构清晰

  • 讲授C语言编程的基础,包括运算符、表达式和控制结构

  • 逐步从基本概念介绍到高级概念

作者简介

Shirish Chavan是一名软件开发人员、教师、作家和演说家,撰写了9本计算机书籍,涉及Java、Visual Basic .NET和桌面出版(DTP)。他在多个IT部门拥有25年的经验,主要对密码学感兴趣。目前正在编写一本关于Python编程的书,并且还在开发一些软件项目。他于1982年在印度Kolhapur的Shivaji大学获得理论物理学硕士学位。现在还在几个研究所担任客座教授,教授计算机科学和物理课程。

目录

前言

致谢

第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

11.12 用拉格朗日插值法构造新的数据点312

11.13 用梯形数值积分法计算积分值314

11.14 用辛普森的3/8数值积分法计算积分值316

11.15 用辛普森的1/3数值积分法计算积分值318

11.16 用修正的欧拉方法求解微分方程320

11.17 用龙格-库塔方法求解微分方程322

附录A 参考表325

附录B 库函数334

附录C C习惯用法338

附录D 术语表347

你与世界

只差一个

公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值