《C语言从入门到精通》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:陈长生,杨玉兰,潘莉编
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2016
  • ISBN:7113211141
  • 页数:490 页
图书介绍:

第1篇 基础知识 2

第1章 初识C语言——Hello C 2

1.1 C语言概述 2

1.1.1 C语言的发展史 2

1.1.2 C语言的特点 2

1.1.3 C语言的应用 3

1.2 C语言的常用开发环境 3

1.2.1 Visual C++ 6.0开发环境 3

1.2.2 Turbo C 2.0开发环境 7

1.3 开发第一个C语言程序 8

1.3.1 在Visual C++ 6.0中开发C语言程序 8

1.3.2 在Turbo C中开发C语言程序 10

1.4 C语言程序的组成 12

1.4.1 完整的C语言程序 12

1.4.2 #include的秘密 13

1.4.3 程序的出入口——main()函数 13

1.4.4 数据集装箱——常量和变量 14

1.4.5 如何输出程序结果——输出函数 14

1.4.6 注释 14

1.4.7 代码的规则 15

1.5 跟我学上机 15

1.5.1 上机目标 15

1.5.2 上机练习 16

1.6 就业面试解析与技巧 16

1.6.1 面试解析与技巧(一) 16

1.6.2 面试解析与技巧(二) 16

第2章 程序中的变与不变——常量与变量 17

2.1 标识符和关键字 17

2.1.1 标识符 17

2.1.2 关键字 18

2.2 常量 18

2.2.1 什么是常量 18

2.2.2 数值常量 19

2.2.3 字符常量 19

2.2.4 字符串常量 20

2.2.5 符号常量 20

2.3 变量 22

2.3.1 什么是变量 22

2.3.2 变量的声明 22

2.3.3 变量的定义 23

2.3.4 变量的分类 24

2.3.5 变量的赋值和初始化 26

2.4 综合案例——统计学生平均成绩 27

2.5 跟我学上机 28

2.5.1 上机目标 28

2.5.2 上机练习 29

2.6 就业面试解析与技巧 29

2.6.1 面试解析与技巧(一) 29

2.6.2 面试解析与技巧(二) 29

第3章 数据的种类——数据类型 31

3.1 数制 31

3.1.1 二进制 31

3.1.2 八进制 32

3.1.3 十六进制 32

3.1.4 数制间的转换 34

3.2 整型数据 34

3.2.1 整型常量的表示方法 34

3.2.2 整型变量 35

3.2.3 整型变量的分类 35

3.2.4 整型变量的溢出 37

3.3 浮点型数据 38

3.3.1 浮点型常量的表示方法 38

3.3.2 浮点型变量 39

3.3.3 浮点型变量的类型 39

3.4 字符型数据 40

3.4.1 字符常量 41

3.4.2 字符变量 43

3.4.3 字符串常量 44

3.5 数据类型的转换 45

3.5.1 隐式转换 45

3.5.2 显式转换 47

3.6 综合案例——类型转换 47

3.7 跟我学上机 48

3.7.1 上机目标 48

3.7.2 上机练习 48

3.8 就业面试解析与技巧 49

3.8.1 面试解析与技巧(一) 49

3.8.2 面试解析与技巧(二) 49

第4章 用户与计算机的交互——输入和输出 50

4.1 标准输入/输出 50

4.2 格式化输入/输出 50

4.2.1 格式化输出函数——printf() 50

4.2.2 格式控制字符 51

4.2.3 格式化输入函数——scanf() 53

4.3 字符输入/输出 57

4.3.1 字符输出函数——putchar() 57

4.3.2 字符输入函数——getchar() 58

4.4 字符串输入/输出 59

4.4.1 字符串输出函数——puts() 59

4.4.2 字符串输入函数——gets() 59

4.5 跟我学上机 60

4.5.1 上机目标 60

4.5.2 上机练习 60

4.6 就业面试解析与技巧 61

4.6.1 面试解析与技巧(一) 61

4.6.2 面试解析与技巧(二) 61

第5章 运算符和表达式 62

5.1 运算符 62

5.1.1 运算符概述 62

5.1.2 运算符的分类 62

5.1.3 运算符优先级和结合性 63

5.2 表达式 63

5.2.1 表达式的概念 63

5.2.2 表达式的分类 64

5.3 表达式与运算符 64

5.3.1 算术表达式与算术运算符 64

5.3.2 自增、自减表达式与自增、自减运算符 66

5.3.3 赋值表达式与赋值运算符 67

5.3.4 关系表达式与关系运算符 69

5.3.5 逻辑表达式与逻辑运算符 71

5.3.6 条件表达式与条件运算符 74

5.3.7 逗号表达式与逗号运算符 75

5.3.8 位运算符 76

5.4 语句 80

5.4.1 语句的概念 80

5.4.2 语句的使用 80

5.4.3 语句与表达式 81

5.4.4 C语言基本语句 81

5.5 综合案例——计算函数的结果 83

5.5.1 跟我学上机 83

5.5.2 上机目标 83

5.5.3 上机练习 83

5.6 就业面试解析与技巧 84

5.6.1 面试解析与技巧(一) 84

5.6.2 面试解析与技巧(二) 84

第6章 C程序的流程——程序流程控制结构 85

6.1 程序流程概述 85

6.2 if条件选择语句 85

6.2.1 if语句的一般形式 85

6.2.2 if语句的嵌套 90

6.2.3 使用if语句注意事项 93

6.3 switch条件选择语句 93

6.4 循环结构 95

6.4.1 while语句 96

6.4.2 do-while语句 97

6.4.3 for语句 99

6.4.4 循环的嵌套 103

6.5 break、continue、goto语句 105

6.5.1 break语句 105

6.5.2 continue语句 107

6.5.3 goto语句 108

6.6 综合案例——简单计算器 110

6.7 跟我学上机 112

6.7.1 上机目标 112

6.7.2 上机练习 112

6.8 就业面试解析与技巧 113

6.8.1 面试解析与技巧(一) 113

6.8.2 面试解析与技巧(二) 113

第7章 数组与字符串 114

7.1 数组概述 114

7.2 一维数组 115

7.2.1 一维数组的定义 115

7.2.2 一维数组的引用 116

7.2.3 一维数组的初始化 117

7.2.4 程序实例 117

7.3 二维数组 120

7.3.1 二维数组的定义 120

7.3.2 二维数组的引用 121

7.3.3 二维数组的初始化 122

7.3.4 多维数组 124

7.3.5 程序实例 124

7.4 字符数组与字符串 126

7.4.1 字符数组的说明与初始化 126

7.4.2 字符串和字符数组 128

7.4.3 字符串的处理函数 128

7.4.4 字符数组的实例解析 133

7.5 综合案例——杨辉三角 135

7.6 跟我学上机 136

7.6.1 上机目标 136

7.6.2 上机练习 136

7.7 就业面试解析与技巧 137

7.7.1 面试解析与技巧(一) 137

7.7.2 面试解析与技巧(二) 137

第8章 算法与流程图 138

8.1 算法的概念 138

8.2 算法的特性 138

8.3 算法的表示 139

8.3.1 自然语言表示法 139

8.3.2 伪代码表示法 139

8.3.3 流程图表示法 140

8.3.4 N-S流程图表示法 142

8.3.5 计算机语言表示法 143

8.4 流程图基础 144

8.4.1 流程图中的元素 144

8.4.2 流程图的绘制 145

8.5 结构化程序设计方法 146

8.6 综合案例——求一元二次方程的根 146

8.7 跟我学上机 148

8.7.1 上机目标 149

8.7.2 上机练习 149

8.8 就业面试解析与技巧 149

8.8.1 面试解析与技巧(一) 149

8.8.2 面试解析与技巧(二) 150

第2篇 核心技术 152

第9章 函数与函数中的变量 152

9.1 函数概述 152

9.1.1 函数的概念 152

9.1.2 函数的分类 153

9.1.3 函数定义的一般形式 153

9.2 函数的调用 155

9.2.1 函数的类型 155

9.2.2 函数的返回值 157

9.2.3 函数调用的方式 159

9.2.4 对被调用函数的声明和函数原型 160

9.3 函数的嵌套调用 162

9.4 函数的递归调用 163

9.5 函数的参数 169

9.5.1 函数参数的传递 169

9.5.2 数组元素作为函数参数 170

9.5.3 数组名作为函数参数 171

9.6 内部函数和外部函数 175

9.6.1 内部函数 175

9.6.2 外部函数 176

9.7 局部变量和全局变量 178

9.7.1 局部变量 178

9.7.2 全局变量 179

9.8 变量的存储类型 182

9.8.1 auto(自动)变量 182

9.8.2 static(静态)变量 183

9.8.3 register(寄存器)变量 185

9.8.4 extern(外部)变量 186

9.9 综合案例——求方程的根 188

9.10 跟我学上机 189

9.10.1 上机目标 189

9.10.2 上机练习 189

9.11 就业面试解析与技巧 190

9.11.1 面试解析与技巧(一) 190

9.11.2 面试解析与技巧(二) 190

第10章 指针 191

10.1 指针概述 191

10.1.1 指针的概念 191

10.1.2 指针的类型 192

10.1.3 指针的值 192

10.1.4 运算符&和* 192

10.2 指针变量 194

10.2.1 指针变量的使用 195

10.2.2 指针变量作为函数参数 197

10.3 数组指针和指向数组的指针变量 202

10.3.1 数组指针 202

10.3.2 通过指针引用数组元素 203

10.3.3 用数组名作为函数参数 206

10.4 综合案例——创建简单链表 209

10.5 跟我学上机 212

10.5.1 上机目标 212

10.5.2 上机练习 213

10.6 就业面试解析与技巧 213

10.6.1 面试解析与技巧(一) 214

10.6.2 面试解析与技巧(二) 214

第11章 指针进阶 215

11.1 指针与数组 215

11.1.1 指针与数组的关系 215

11.1.2 指向多维数组的指针 216

11.1.3 二维数组指针 218

11.2 指针的运算 219

11.3 字符串指针 223

11.3.1 字符串的表示与引用 223

11.3.2 字符串指针作为函数参数 225

11.3.3 字符数组和字符串指针处理字符串时的区别 226

11.4 指针数组和指向指针的指针 228

11.4.1 指针数组 229

11.4.2 指针数组的应用 229

11.4.3 指向指针的指针 232

11.4.4 指向指针的指针应用 234

11.4.5 带形式参数的main()函数 235

11.5 指针与函数 236

11.5.1 定义和使用指向函数的指针变量 236

11.5.2 用指向函数的指针作为函数参数 238

11.5.3 指针函数 239

11.6 void指针类型 241

11.7 综合案例——报数游戏 242

11.8 跟我学上机 243

11.8.1 上机目标 243

11.8.2 上机练习 244

11.9 就业面试解析与技巧 244

11.9.1 面试解析与技巧(一) 244

11.9.2 面试解析与技巧(二) 244

第12章 文件 246

12.1 文件概述 246

12.1.1 文件类型 246

12.1.2 C如何操作文件——文件指针 246

12.1.3 文件缓冲区 247

12.2 文件的打开与关闭 247

12.2.1 文件的打开——fopen()函数 247

12.2.2 文件的关闭——fclose()函数 248

12.3 文件的顺序读/写 249

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

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

12.3.3 数据块读/写函数fread()和fwtrite() 252

12.3.4 格式化读/写函数fscanf()和fprintf() 255

12.4 文件定位与文件的随机读/写 257

12.4.1 文件头定位函数——rewind() 257

12.4.2 当前读/写位置函数——ftell() 257

12.4.3 随机定位函数——fseek() 257

12.5 文件检测函数 258

12.5.1 文件结束检测函数——feof() 258

12.5.2 读/写文件出错检测函数——ferror() 258

12.5.3 文件出错标志和文件结束标志置0函数——clearerr() 258

12.6 综合案例——编制课程表 258

12.7 跟我学上机 260

12.7.1 上机目标 260

12.7.2 上机练习 261

12.8 就业面试解析与技巧 261

12.8.1 面试解析与技巧(一) 261

12.8.2 面试解析与技巧(二) 261

第13章 编译与预处理指令 263

13.1 什么是预处理指令 263

13.2 宏定义 263

13.2.1 变量式宏定义 264

13.2.2 宏定义嵌套 268

13.2.3 宏定义范围 269

13.2.4 带参数的宏定义 270

13.2.5 多行宏定义 272

13.3 文件包含 273

13.3.1 什么是文件包含 273

13.3.2 文件包含的使用 273

13.4 条件编译 274

13.4.1 条件编译形式 275

13.4.2 调试中使用条件编译 277

13.4.3 文件嵌套包含和条件编译 278

13.5 assert()宏 278

13.6 综合案例——编译与预处理指令 279

13.7 跟我学上机 279

13.7.1 上机目标 279

13.7.2 上机练习 279

13.8 就业面试解析与技巧 279

13.8.1 面试解析与技巧(一) 279

13.8.2 面试解析与技巧(二) 279

第3篇 高级应用 282

第14章 库函数 282

14.1 标准C库函数 282

14.2 数学函数 283

14.2.1 绝对值函数 283

14.2.2 平方根函数和幂函数 284

14.2.3 指数函数和对数函数 284

14.2.4 三角函数 285

14.2.5 取整函数和取余函数 285

14.3 字符串处理函数 285

14.3.1 字符串长度函数 286

14.3.2 字符串连接函数 286

14.3.3 字符串复制函数 287

14.3.4 字符串比较函数 287

14.3.5 字符串查找函数 288

14.3.6 字符串填充函数 289

14.4 字符处理函数 290

14.4.1 字符类型判断函数 290

14.4.2 字符大小写转换函数 291

14.5 转换和动态存储管理函数 291

14.5.1 转换函数 292

14.5.2 动态存储管理函数 292

14.6 随机函数 294

14.6.1 初识随机函数 294

14.6.2 使用随机函数 294

14.7 日期和时间处理函数 295

14.8 诊断函数 297

14.9 命令行参数 298

14.10 其他函数 299

14.10.1 exit()函数 299

14.10.2 qsort()函数 299

14.11 综合案例——猜数字游戏 300

14.12 跟我学上机 302

14.12.1 上机目标 302

14.12.2 上机练习 302

14.13 就业面试解析与技巧 302

14.13.1 面试解析与技巧(一) 303

14.13.2 面试解析与技巧(二) 303

第15章 位运算 304

15.1 位的概念 304

15.1.1 位运算符 304

15.1.2 二进制数 304

15.1.3 按位与运算符 305

15.1.4 按位或运算符 306

15.1.5 按位异或运算符 306

15.1.6 按位取反运算符 307

15.1.7 左移运算符 307

15.1.8 右移运算符 308

15.1.9 位复合赋值运算符 308

15.2 位段 308

15.2.1 位段的定义 308

15.2.2 位段中数据的引用 309

15.3 综合案例——数制转换 310

15.4 跟我学上机 311

15.4.1 上机目标 311

15.4.2 上机练习 311

15.5 就业面试解析与技巧 312

15.5.1 面试解析与技巧(一) 312

15.5.2 面试解析与技巧(二) 312

第16章 结构体、共用体和枚举 314

16.1 结构体概述 314

16.2 结构体类型与结构体变量 314

16.2.1 结构体类型的定义 314

16.2.2 结构体变量的定义 315

16.2.3 结构体变量的初始化 317

16.2.4 结构体变量的引用 317

16.3 结构体数组 319

16.3.1 结构体数组的定义 319

16.3.2 结构体数组的初始化 321

16.3.3 结构体数组的引用 322

16.3.4 结构体数组的应用实例 323

16.4 结构体指针 324

16.4.1 指向结构体变量的指针 324

16.4.2 指向结构体数组的指针 324

16.4.3 结构体变量作为函数参数 326

16.4.4 结构体变量的指针作为函数参数 327

16.4.5 结构体作为函数的返回值 328

16.5 共用体 329

16.5.1 共用体的定义 329

16.5.2 共用体变量的定义、初始化和引用 330

16.6 枚举 333

16.6.1 枚举类型 333

16.6.2 枚举变量 333

16.7 综合案例——计算学生成绩 336

16.8 跟我学上机 337

16.8.1 上机目标 337

16.8.2 上机练习 337

16.9 就业面试解析与技巧 338

16.9.1 面试解析与技巧(一) 338

16.9.2 面试解析与技巧(二) 338

第17章 动态数据结构 339

17.1 动态存储分配概述 339

17.1.1 分配内存空间函数malloc() 339

17.1.2 分配内存空间函数calloc() 340

17.1.3 释放内存空间函数free() 340

17.2 链表概述 341

17.2.1 链表的建立 341

17.2.2 链表的遍历 342

17.3 创建节点 343

17.3.1 链表节点的插入 343

17.3.2 链表节点的删除 345

17.4 跟我学上机 346

17.4.1 上机目标 346

17.4.2 上机练习 346

17.5 就业面试解析与技巧 346

17.5.1 面试解析与技巧(一) 346

17.5.2 面试解析与技巧(二) 346

第18章 数据结构进阶 348

18.1 数据结构概述 348

18.2 线性表 349

18.3 栈 349

18.3.1 栈的基本运算 349

18.3.2 顺序栈的类型定义 350

18.3.3 链式栈的类型定义 350

18.4 队列 352

18.4.1 队列的基本运算 352

18.4.2 顺序队列类型定义 353

18.4.3 链式队列类型定义 353

18.5 二叉树 357

18.6 查找 358

18.6.1 顺序查找 358

18.6.2 折半查找 360

18.7 综合实例 361

18.8 跟我学上机 365

18.8.1 上机目标 365

18.8.2 上机练习 366

18.9 就业面试解析与技巧 366

18.9.1 面试解析与技巧(一) 366

18.9.2 面试解析与技巧(二) 366

第19章 排序 368

19.1 排序的概述 368

19.2 希尔排序 369

19.3 插入排序 371

19.4 冒泡排序 372

19.5 快速排序 374

19.6 选择排序 377

19.7 堆排序 381

19.8 归并排序 384

19.9 链表基数排序 386

19.10 跟我学上机 391

19.10.1 上机目标 392

19.10.2 上机练习 392

19.11 就业面试解析与技巧 392

19.11.1 面试解析与技巧(一) 392

19.11.2 面试解析与技巧(二) 392

第4篇 项目实战 394

第20章 项目实战——项目开发与规划 394

20.1 项目开发流程 394

20.1.1 策划阶段 395

20.1.2 需求分析阶段 395

20.1.3 开发阶段 395

20.1.4 编码阶段 396

20.1.5 系统测试阶段 396

20.1.6 系统验收阶段 396

20.1.7 系统维护阶段 396

20.2 项目开发团队 397

20.2.1 项目团队组成 397

20.2.2 项目团队要求 398

20.3 项目的实际运作 398

20.4 项目规划常见问题及解决 399

20.4.1 如何满足客户需求 399

20.4.2 如何控制项目进度 399

20.4.3 如何控制项目预算 399

第21章 图书管理系统 400

21.1 开发背景 400

21.2 需求及功能分析 400

21.2.1 总体功能分析 400

21.2.2 各模块功能分析 401

21.3 系统功能的实现 402

21.3.1 建立相关类及属性 402

21.3.2 系统选择菜单的实现 403

21.3.3 图书上架功能的实现 404

21.3.4 图书下架功能的实现 405

21.3.5 查找图书功能的实现 407

21.3.6 借书功能的实现 408

21.3.7 还书功能的实现 409

21.3.8 主函数功能的实现 410

21.4 系统运行与测试 411

第22章 通讯录管理系统 413

22.1 开发背景 413

22.2 需求及功能分析 413

22.2.1 总体功能分析 414

22.2.2 各模块功能分析 414

22.3 系统功能的实现 415

22.3.1 建立联系人结构 415

22.3.2 系统选择菜单的实现 415

22.3.3 添加联系人功能的实现 416

22.3.4 插入联系人功能的实现 416

22.3.5 删除联系人功能的实现 417

22.3.6 浏览联系人功能的实现 418

22.3.7 查找联系人功能的实现 418

22.3.8 主函数功能的实现 418

22.4 系统运行与测试 419

第23章 信息管理系统开发1——网络通信系统 421

23.1 网络通信系统 421

23.1.1 系统分析 421

23.1.2 功能分析及实现 421

23.1.3 开发常见问题及解决 424

23.2 系统运行与测试 424

第24章 信息管理系统开发2——学生成绩管理系统 425

24.1 学生成绩管理系统 425

24.1.1 系统分析 425

24.1.2 功能分析及实现 426

24.1.3 开发常见问题及解决 436

24.1.4 系统运行与测试 436

第25章 信息管理系统开发3——酒店管理系统 437

25.1 酒店管理系统 437

25.1.1 系统分析 437

25.1.2 功能分析及实现 437

25.1.3 开发常见问题及解决 445

25.2 系统运行与测试 445

第5篇 行业应用 448

第26章 C语言在游戏开发中的应用 448

26.1 系统功能描述 448

26.2 系统功能分析及实现 448

26.2.1 功能分析 448

26.2.2 功能实现 449

26.2.3 程序运行 460

第27章 C语言在银行业务开发中的应用 462

27.1 系统功能描述 462

27.2 系统功能分析及实现 462

27.2.1 功能分析 462

27.2.2 功能实现 463

27.2.3 程序运行 467

第28章 C语言在ATM存储系统开发中的应用 469

28.1 系统功能描述 469

28.2 系统功能分析及实现 469

28.2.1 功能分析 469

28.2.2 功能实现 470

28.2.3 程序运行 478

第29章 C语言在航空管理开发中的应用 481

29.1 系统功能描述 481

29.2 系统功能分析及实现 481

29.2.1 功能分析 482

29.2.2 功能实现 483

29.2.3 程序运行 489