图书介绍

C语言程序设计PDF|Epub|txt|kindle电子书版本下载

C语言程序设计
  • 甘勇,李晔,卢冰编著 著
  • 出版社: 北京:中国铁道出版社
  • ISBN:9787113207076
  • 出版时间:2015
  • 标注页数:351页
  • 文件大小:197MB
  • 文件页数:365页
  • 主题词:C语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C语言程序设计PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 引言1

1.1 计算机与程序设计语言2

1.1.1 程序存储思想2

1.1.2 程序设计语言的发展3

1.2 C语言的发展简史4

1.2.1 C语言的起源4

1.2.2 C语言的发展5

1.2.3 C语言的特点6

1.3 第一个C程序6

1.3.1 编辑源程序7

1.3.2 编译、链接和运行7

1.3.3 程序开发周期8

1.4 剖析一个简单的程序9

1.5 简单程序举例12

习题14

第2章 简单C程序设计17

2.1 内存与变量18

2.1.1 内存18

2.1.2 变量18

2.1.3 整数类型19

2.1.4 变量的声明和使用20

2.1.5 赋值运算21

2.2 格式化输入输出函数22

2.2.1 格式化输出函数Printf()22

2.2.2 格式化输入函数scanf()24

2.3 浮点类型26

2.3.1 浮点类型26

2.3.2 浮点数据的输出27

2.3.3 浮点数据的输入27

2.3.4 常量28

2.4 基本运算符30

2.4.1 算术运算30

2.4.2 类型转换32

2.5 计算两点间的距离33

2.5.1 常用数学函数34

2.5.2 计算整数的位数35

习题35

第3章 分支结构37

3.1 if控制语句38

3.1.1 if...else语句38

3.1.2 伪代码39

3.1.3 缺省else子句的if语句40

3.1.4 关系运算41

3.1.5 复合语句42

3.1.6 条件表达式44

3.2 逻辑运算45

3.2.1 逻辑运算符的运算规则45

3.2.2 逻辑运算符的优先级和结合性46

3.2.3 判断闰年47

3.3 判断字母大小写49

3.3.1 字符类型49

3.3.2 字符型数据的输入输出50

3.3.3 复合赋值语句51

3.4 用嵌套的if语句实现多分支结构51

3.5 用switch语句实现多分支结构53

3.5.1 switch语句的一般形式53

3.5.2 break在switch中的灵活运用55

3.5.3 四则运算(加强版)57

3.5.4 浮点数据60

3.6 运算符与表达式62

习题63

第4章 循环结构65

4.1 循环控制原理66

4.2 while循环语句67

4.3 for循环语句68

4.3.1 for语句的基本格式68

4.3.2 for语句的注意事项70

4.3.3 自增自减运算符71

4.3.4 最大值74

4.3.5 极限常量75

4.4 求数列的和76

4.5 输出阶乘表80

4.5.1 类型溢出问题81

4.5.2 逗号运算符及其表达式82

4.5.3 计算数列a,aa,aaa,…的前n项和83

4.6 标记控制的循环85

4.6.1 再谈while语句86

4.6.2 字符的分类统计88

4.6.3 计算n的位数89

4.6.4 do语句90

4.7 循环中的break和continue90

4.7.1 循环中的break90

4.7.2 循环中的continue92

4.8 多重循环与goto语句94

4.8.1 多重循环94

4.8.2 goto语句97

4.9 多实例测试98

4.10 表达式的求值顺序与副效应103

习题104

第5章 函数109

5.1 模块化程序设计110

5.2 函数的基本概念111

5.2.1 求最大值111

5.2.2 函数的定义112

5.2.3 函数原型114

5.2.4 return语句115

5.2.5 函数的调用116

5.2.6 按值传递机制117

5.3 使用函数编写程序118

5.3.1 素数表118

5.3.2 验证哥德巴赫猜想119

5.3.3 组合数120

5.4 变量的存储类型121

5.5 局部变量和外部变量123

5.5.1 局部变量123

5.5.2 静态局部变量124

5.5.3 外部变量125

5.6 函数的递归调用126

5.6.1 递归的基本思想126

5.6.2 最大公约数127

5.6.3 最近共同祖先128

习题129

第6章 数组131

6.1 一维数组132

6.1.1 一维数组的定义和引用132

6.1.2 一维数组初始化133

6.1.3 数组元素的查找136

6.1.4 在有序序列里插入新元素137

6.1.5 比较交换排序138

6.2 数组作为函数参数140

6.3 一维数组应用举例144

6.3.1 去重处理144

6.3.2 字母使用频率统计146

6.3.3 集合的合并——利用有序关系简化问题147

6.3.4 二分搜索150

6.4 二维数组151

6.4.1 二维数组的定义和引用151

6.4.2 二维数组的初始化151

6.4.3 杨辉三角152

6.4.4 二维数组做函数参数154

6.5 二维数组应用举例156

6.5.1 图像转换156

6.5.2 判断偶数矩阵157

6.5.3 日期计算159

习题160

第7章 字符数组与字符串163

7.1 字符型数据164

7.1.1 字符型数据的存储164

7.1.2 转义序列165

7.1.3 字符数据的输入问题166

7.1.4 处理字符的函数167

7.2 字符数组与字符串168

7.2.1 统计空格169

7.2.2 字符数组的初始化169

7.2.3 字符串的输入输出170

7.2.4 统计单词个数171

7.3 常用字符串函数172

7.3.1 string.h中的字符串处理函数172

7.3.2 stdio.h中的字符串函数175

7.4 字符串应用举例177

7.4.1 DNA序列的编码177

7.4.2 多个二进制数排序178

7.4.3 最大值(多种进制)180

7.4.4 将一个十进制整数转换为二进制输出181

7.5 字符串数组182

7.5.1 字符串排序182

7.5.2 前缀判断184

习题186

第8章 指针187

8.1 什么是指针188

8.1.1 计算机内存的使用188

8.1.2 指针的概念189

8.2 指针变量的声明和初始化190

8.2.1 指针变量的声明190

8.2.2 指针变量的初始化190

8.2.3 指针和数据类型191

8.3 指针的基本运算192

8.4 指针作为函数的参数193

8.5 一维数组与指针198

8.5.1 指针的算术运算和关系运算198

8.5.2 指针和数组的关系200

8.5.3 数组作函数参数的本质203

8.6 指针与const限定符204

8.7 指针与字符串207

8.7.1 字符串常量207

8.7.2 使用指针处理字符串208

8.7.3 字符数组与字符指针212

8.8 用指针实现内存动态分配213

8.8.1 使用malloc()函数为数组分配内存214

8.8.2 释放动态分配的内存214

8.8.3 其他动态内存分配函数215

习题216

第9章 结构219

9.1 结构定义220

9.1.1 使用结构的原因220

9.1.2 定义结构类型和结构变量221

9.1.3 初始化结构变量222

9.1.4 将一个结构作为另一个结构的成员223

9.1.5 访问结构成员223

9.1.6 使用typedef定义数据类型224

9.2 结构数组与指针227

9.2.1 结构数组227

9.2.2 结构指针229

9.2.3 用指针访问结构数组230

9.3 结构与函数232

9.3.1 结构作为函数的参数232

9.3.2 结构指针作为函数参数233

9.3.3 结构作为函数的返回值234

9.3.4 结构应用举例235

9.4 联合与枚举237

9.4.1 联合237

9.4.2 联合指针239

9.4.3 联合的初始化239

9.4.4 联合与结构239

9.4.5 枚举240

9.5 单链表243

9.5.1 单链表类型定义243

9.5.2 单链表的操作244

习题250

第10章 指针进阶253

10.1 指针与二维数组254

10.1.1 用一级指针访问二维数组254

10.1.2 指向数组的指针254

10.1.3 二维数组名255

10.2 指针数组257

10.2.1 动态申请和释放二维数组258

10.2.2 用指针数组处理多个字符串259

10.3 带参数的main()函数263

10.4 指向函数的指针265

习题270

第11章 C预处理271

11.1 预处理器的工作原理272

11.2 预处理指令273

11.3 #define预处理指令273

11.3.1 符号常量274

11.3.2 带参数的宏274

11.4 文件包含277

11.4.1 多文件程序277

11.4.2 include指令277

11.4.3 文件之间如何共享信息277

11.5 条件编译279

习题281

第12章 文件283

12.1 文件概述284

12.1.1 一个简单的文件操作程序284

12.1.2 C文件的分类285

12.1.3 缓冲文件系统285

12.1.4 文件指针286

12.2 文件的打开和关闭287

12.2.1 文件打开函数fopen()287

12.2.2 文件关闭函数fclose()289

1 2.2.3 输入输出重定向函数freopen()289

12.3 文件的读写操作290

12.3.1 字符读写函数fgetc()和fputc()290

12.3.2 字符串读写函数fgets()和fputs()292

12.3.3 格式化文件读写函数fscanf()和fprintf()293

12.3.4 数据块读写函数fread()和fwrite()294

12.4 文件的其他操作295

12.4.1 文件定位函数295

12.4.2 文件检测296

12.5 文件应用实例297

习题307

第13章 计算思维与常用算法309

13.1 模拟310

13.1.1 校门外的树310

13.1.2 约瑟夫问题311

13.2 随机化算法315

13.2.1 计算圆周率近似值315

13.2.2 洗牌发牌模拟317

13.3 空间换时间320

13.3.1 筛选法求素数320

13.3.2 验证哥德巴赫猜想(加强版)322

13.3.3 分解素因数324

13.4 递归327

13.4.1 计算实数的整数幂328

13.4.2 计算连通区域面积328

13.5 贪心算法330

13.5.1 活动安排问题331

13.5.2 最优装载问题333

13.6 动态规划算法334

13.6.1 游戏币问题335

13.6.2 最长单调序列336

习题338

附录341

附录A 常用字符与ASCII代码对照表342

附录B C语言中的关键字343

附录C 运算符和结合性344

附录D C库函数345

附录E C99相对于C89的新特性(部分)350

参考文献351

热门推荐