《程序员开发宝典系列 C语言开发宝典》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:曹飞飞,高春艳等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2012
  • ISBN:9787111377863
  • 页数:437 页
图书介绍:本书全面细致地讲解了使用C语言进行编程和实际项目开发的各种技术,是学习C语言编程的必备图书。全书以Visual C++ 6.0开发环境和Turbo C 2.0开发环境为基础,分两大部分共22章,讲解了C语言编程中的各种技术。其中,第一部分为开发技术,主要包括如何学好C语言、初识C语言、C语言的战前准备、C语言与算法、C语言基础、表达式与运算符、输入、输出函数、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体和共用体、位运算、存储管理、预处理、文件操作技术、图形图像等内容;第2部分为项目实战,主要包括五子棋游戏开发、学生管理系统、商品信息管理系统、图书管理系统等4个大型项目。 本书所配DVD光盘含有全程语音视频讲解教学录像、PPT课件以及实例的全部源代码,这些源代码都经过精心调试,在Windows XP、Windows 2000、Windows 2003和Windows 7下全部通过。

第一部分 开发技术 2

第0章 如何学好C语言 2

第1章 初识C语言 4

1.1 C语言介绍 4

1.1.1 程序语言简述 4

1.1.2 C语言的发展史 5

1.2 选择C语言的理由 5

1.3 一个简单的C程序 6

1.4 术语 7

1.5 小结 8

1.6 练习 8

第2章 C语言的战前准备 9

2.1 程序的基本编写格式 9

2.2 C语言常用开发工具简介 10

2.2.1 Turbo C 2.0 10

2.2.2 Visual C++ 6.0 14

2.2.3 Dev-C++ 18

2.2.4 Eclipse for C/C++ 19

2.3 术语 19

2.4 小结 19

2.5 练习 19

第3章 C语言与算法 20

3.1 算法的基本概念 20

3.1.1 什么是算法 20

3.1.2 算法的特性 20

3.1.3 算法的好坏 21

3.2 算法描述 21

3.2.1 自然语言 22

3.2.2 流程图 22

3.2.3 3种基本结构 23

3.2.4 N-S流程图 25

3.2.5 伪代码 28

3.3 术语 29

3.4 小结 29

3.5 练习 29

第4章 C语言基础 30

4.1 C语言基础编程规范 30

4.1.1 合理使用注释 30

4.1.2 代码的缩进 31

4.1.3 常量和变量的命名规范 31

4.1.4 函数的命名规范 31

4.1.5 程序中对应的{}要对齐 31

4.1.6 合理使用空格使代码更规范 32

4.1.7 换行使代码更清晰 32

4.2 语言要素 33

4.2.1 关键字 33

4.2.2 标识符 33

4.3 数据类型 35

4.4 解读常量 36

4.4.1 整型常量 36

4.4.2 实型常量 38

4.4.3 字符型常量 38

4.4.4 符号常量 41

4.5 剖析变量 42

4.5.1 整型变量 42

4.5.2 实型变量 44

4.5.3 字符型变量 47

4.6 分解枚举 49

4.7 使用typedef定义类型 50

4.8 变量的存储类型 52

4.8.1 动态存储与静态存储 52

4.8.2 auto变量 53

4.8.3 static变量 53

4.8.4 register变量 54

4.8.5 extern变量 55

4.9 混合运算 56

4.10 术语 57

4.11 小结 57

4.12 练习 57

第5章 表达式与运算符 58

5.1 赋值运算符与赋值表达式 58

5.1.1 变量赋初值 58

5.1.2 自动类型转换 60

5.1.3 强制类型转换 60

5.2 算术运算符与算术表达式 61

5.2.1 算术运算符 61

5.2.2 算术表达式 62

5.2.3 优先级与结合性 63

5.2.4 自增自减运算符 64

5.3 关系运算符与关系表达式 66

5.3.1 关系运算符 66

5.3.2 关系表达式 66

5.3.3 优先级与结合性 67

5.4 逻辑运算符与逻辑表达式 68

5.4.1 逻辑运算符 69

5.4.2 逻辑表达式 69

5.4.3 优先级与结合性 69

5.5 位逻辑运算符与位逻辑表达式 70

5.5.1 位逻辑运算符 70

5.5.2 位逻辑表达式 71

5.6 逗号运算符与逗号表达式 71

5.7 复合赋值运算符 72

5.8 判断条件运算符 73

5.9 运算符的优先级 74

5.10 术语 74

5.11 小结 74

5.12 练习 74

第6章 输入/输出函数 75

6.1 解读语句 75

6.2 字符数据的输入/输出 75

6.2.1 字符数据输出 75

6.2.2 字符数据输入 76

6.3 字符串的输入/输出 77

6.3.1 字符串输出函数 78

6.3.2 字符串输入函数 78

6.4 格式输出函数 79

6.5 格式输入函数 82

6.6 术语 85

6.7 小结 85

6.8 练习 86

第7章 选择结构程序设计 87

7.1 了解if语句 87

7.2 多样的if语句形式 87

7.2.1 if语句形式 87

7.2.2 if else语句形式 90

7.2.3 else if语句形式 91

7.3 if语句的嵌套使用 94

7.4 if语句的常见错误 96

7.4.1 使用分号的注意事项 96

7.4.2 条件放置注意事项 97

7.4.3 if和else配对的注意事项 97

7.4.4 大括号的重要性 97

7.5 判断分支选择结构的switch语句 98

7.5.1 switch语句的基本形式 98

7.5.2 多路开关模式的switch语句 100

7.6 合理选择if语句和switch语句 102

7.7 选择结构的应用 104

7.8 术语 106

7.9 小结 106

7.10 练习 107

第8章 循环结构程序设计 108

8.1 循环语句的概念 108

8.2 实现while循环 108

8.2.1 while语句的一般形式 108

8.2.2 while语句的死循环 110

8.2.3 while语句的空循环体 110

8.2.4 while循环语句的常见错误 111

8.3 实现for循环 112

8.3.1 for循环语句的一般形式 113

8.3.2 for循环的灵活多变 114

8.3.3 for语句中逗号的使用 117

8.4 总要执行的do while语句 118

8.5 比较3种循环 120

8.6 运用循环嵌套 120

8.6.1 各种结构的循环嵌套 120

8.6.2 循环嵌套实例 122

8.7 跳转语句 123

8.7.1 goto语句 123

8.7.2 break语句 124

8.7.3 continue语句 125

8.8 3种跳转语句的区别 126

8.9 术语 127

8.10 小结 127

8.11 练习 127

第9章 数组 128

9.1 数组概述 128

9.1.1 数组的分类 128

9.1.2 数组的维数 128

9.2 一维数组 129

9.2.1 一维数组的定义 129

9.2.2 一维数组的引用 129

9.2.3 一维数组的初始化 130

9.2.4 一维数组的注意事项 133

9.3 二维数组 134

9.3.1 二维数组的定义 134

9.3.2 二维数组的引用 135

9.3.3 二维数组的初始化 135

9.4 多维数组 138

9.5 字符数组 138

9.5.1 字符数组的定义 138

9.5.2 字符数组的引用 138

9.5.3 字符数组的初始化 139

9.5.4 字符数组的结束标志 140

9.5.5 字符数组的输入/输出 141

9.6 常见字符串处理函数 144

9.6.1 字符串复制 144

9.6.2 字符串连接 146

9.6.3 字符串比较 147

9.6.4 字符串大小写转换 148

9.6.5 获得字符串长度 150

9.7 术语 151

9.8 小结 151

9.9 练习 151

第10章 函数 152

10.1 函数概述 152

10.2 函数的定义 154

10.2.1 函数的定义形式 155

10.2.2 定义与声明 157

10.3 函数中的返回语句 159

10.3.1 函数返回 159

10.3.2 返回值 161

10.4 数参数 163

10.4.1 形式参数和实际参数 163

10.4.2 数组做函数参数 165

10.5 函数的调用 169

10.5.1 函数调用方式 169

10.5.2 嵌套调用 172

10.5.3 递归调用 174

10.6 部函数和外部函数 176

10.6.1 内部函数 176

10.6.2 外部函数 177

10.7 局部变量和全局变量 179

10.7.1 局部变量 179

10.7.2 全局变量 181

10.8 灵活应用函数 183

10.8.1 数学函数 184

10.8.2 字符和字符串函数 186

10.9 术语 189

10.10 小结 189

10.11 练习 190

第11章 指针 191

11.1 指针概述 191

11.1.1 地址与指针 191

11.1.2 变量与指针 192

11.1.3 使用指针变量 192

11.1.4 &和*运算符 195

11.1.5 指针自加自减运算 196

11.2 数组与指针 198

11.2.1 一维数组与指针 198

11.2.2 二维数组与指针 202

11.2.3 字符串与指针 205

11.2.4 字符串数组 206

11.3 指向指针的指针 208

11.4 函数参数中的指针变量 211

11.5 返回指针的函数 219

11.6 main()函数中的指针 221

11.7 术语 223

11.8 小结 223

11.9 练习 223

第12章 结构体和共用体 224

12.1 理解并应用结构体 224

12.1.1 结构体类型的概念 224

12.1.2 结构体类型的定义 225

12.1.3 结构体类型的引用 227

12.1.4 结构体类型的初始化 229

12.2 掌握结构体数组 231

12.2.1 定义结构体数组 231

12.2.2 初始化结构体数组 233

12.3 解读结构体指针 235

12.3.1 指向结构体变量的指针 235

12.3.2 指向结构体数组的指针 237

12.3.3 结构体做函数参数 239

12.4 包含结构的结构 242

12.5 理解并应用共用体 243

12.5.1 共用体的概念 243

12.5.2 共用体变量的引用 244

12.5.3 共用体变量的初始化 245

12.5.4 共用体类型的数据特点 246

12.6 术语 246

12.7 小结 246

12.8 练习 247

第13章 位运算 248

13.1 位与字节 248

13.2 位运算操作符 248

13.2.1 “与”运算符 249

13.2.2 “或”运算符 250

13.2.3 “取反”运算符 252

13.2.4 “异或”运算符 253

13.2.5 “左移”运算符 255

13.2.6 “右移”运算符 257

13.2.7 位运算复合赋值运算符 258

13.2.8 长度不同的数据进行位运算 258

13.3 循环移位 259

13.4 位段的概念 262

13.4.1 位段的概念与定义 262

13.4.2 位段相关说明 263

13.5 术语 264

13.6 小结 264

13.7 练习 265

第14章 存储管理 266

14.1 内存组织方式 266

14.1.1 内存组织方式简介 266

14.1.2 堆与栈 266

14.2 动态管理 269

14.2.1 malloc()函数 269

14.2.2 calloc()函数 270

14.2.3 realloc()函数 271

14.2.4 free()函数 272

14.3 内存丢失 273

14.4 变量的存储类别 274

14.4.1 动态存储与静态存储 274

14.4.2 修饰一个局部变量为自动的auto变量 274

14.4.3 声明位置不同意义不同的static变量 275

14.4.4 寄存器存储类的register变量 276

14.4.5 外部存储的extern变量 276

14.5 术语 277

14.6 小结 277

14.7 练习 277

第15章 预处理 278

15.1 灵活使用宏定义 278

15.1.1 不带参数的宏定义 278

15.1.2 带参数的宏定义 279

15.2 #include指令 281

15.3 条件编译 283

15.3.1 #if命令 283

15.3.2 #ifdef及#ifndef命令 286

15.3.3 #undef命令 287

15.3.4 #line命令 287

15.3.5 #pragma命令 288

15.4 合理使用预处理 289

15.4.1 C语言中包括的预处理功能 289

15.4.2 使用宏时需要注意的问题 289

15.4.3 文件包含嵌套的问题 289

15.5 小结 290

15.6 练习 290

第16章 文件操作技术 291

16.1 文件概念 291

16.2 文件的基本操作 292

16.3 文件指针 293

16.4 文件的打开与关闭 293

16.4.1 文件的打开 293

16.4.2 文件的关闭 295

16.5 读/写文件的函数 295

16.5.1 写字符函数——fputc()函数 295

16.5.2 读字符函数——fgetc()函数 296

16.5.3 写字符串函数——fputs()函数 298

16.5.4 读字符串函数——fgets()函数 299

16.5.5 格式化写入函数——fprintf()函数 300

16.5.6 格式化读取函数——fscanf()函数 302

16.5.7 数据块读/写函数——fread()函数和fwrite()函数 303

16.6 定位文件 306

16.6.1 随机读/写操作——fseek()函数 306

16.6.2 返回位置指针——rewind()函数 308

16.6.3 得到文件位置——ftell()函数 310

16.7 术语 313

16.8 小结 313

16.9 练习 313

第17章 图形图像 314

17.1 字符屏幕函数 314

17.1.1 定义文本窗口 314

17.1.2 颜色设置 315

17.1.3 文本的输入和输出 315

17.1.4 屏幕操作函数 316

17.2 图形显示函数 319

17.2.1 图形模式初始化 319

17.2.2 屏幕颜色设置 322

17.2.3 基本图形函数 324

17.2.4 封闭图形的填充 332

17.3 图形屏幕 335

17.4 图形模式下的文本输出 336

17.4.1 文本输出函数 337

17.4.2 有关文本、字体、输出方式的设置 338

17.5 术语 340

17.6 小结 340

17.7 练习 340

第二部分 项目实战 342

第18章 五子棋游戏开发 342

18.1 概述 342

18.2 需求分析 342

18.3 系统设计 342

18.3.1 设计目标 342

18.3.2 开发及运行环境 343

18.4 程序预览 343

18.5 graphics.h文件 344

18.6 设计思路 346

18.7 预处理 347

18.7.1 文件引用 347

18.7.2 宏定义 347

18.8 声明变量 347

18.9 函数声明 347

18.10 主要功能实现 348

18.10.1 主函数 348

18.10.2 开始游戏 349

18.10.3 绘制棋盘 350

18.10.4 绘制棋子 350

18.10.5 清除棋子 350

18.10.6 游戏过程 351

18.10.7 判断胜负结果 356

18.11 开发总结 358

第19章 学生管理系统 359

19.1 需求分析 359

19.2 系统设计 359

19.3 预处理 360

19.3.1 文件引用 360

19.3.2 宏定义 360

19.4 函数声明 360

19.5 功能设计 361

19.5.1 功能选择界面 361

19.5.2 输入学生信息界面 362

19.5.3 查询学生信息界面 365

19.5.4 删除学生信息界面 366

19.5.5 修改学生信息界面 367

19.5.6 插入学生信息界面 369

19.5.7 学生成绩排名 370

19.5.8 统计学生人数 372

19.6 开发总结 373

第20章 商品信息管理系统 374

20.1 需求分析 374

20.2 预处理 374

20.2.1 文件引用 375

20.2.2 宏定义 375

20.3 声明结构体 375

20.4 函数声明 375

20.5 功能选择界面 376

20.6 输入商品信息 377

20.7 查询商品信息 379

20.8 删除商品信息 380

20.9 修改商品信息 382

20.10 插入商品信息 383

20.11 商品总额排名 385

20.12 统计商品数 386

20.13 开发总结 387

第21章 图书管理系统 388

21.1 概述 388

21.1.1 需求分析 388

21.1.2 开发工具选择 388

21.2 系统设计 388

21.2.1 系统目标 388

21.2.2 系统功能结构 389

21.2.3 系统预览 389

21.2.4 开发及运行环境 391

21.3 数据库设计 391

21.3.1 安装MySQL数据库 392

21.3.2 启动MySQL数据库 398

21.3.3 创建数据库 398

21.3.4 数据表结构 399

21.4 C语言开发数据库程序的流程 400

21.4.1 引入头文件 400

21.4.2 引入库函数 401

21.5 C语言操作MySQL数据库 402

21.5.1 MySQL常用数据库操作函数 402

21.5.2 连接MySQL数据库 404

21.5.3 查询图书表记录 405

21.5.4 插入图书表记录 407

21.5.5 修改图书表记录 407

21.5.6 删除图书表记录 408

21.6 文件引用 409

21.7 变量和函数定义 410

21.8 主要功能模块设计 410

21.8.1 显示主菜单信息 410

21.8.2 显示所有图书信息 412

21.8.3 添加图书信息 415

21.8.4 修改图书信息 420

21.8.5 删除图书信息 425

21.8.6 查询图书信息 431

21.9 开发总结 433

附录A ASCII码表 434

附录B 运算符的优先级 437