图书介绍
C语言开发实战宝典pdf电子书版本下载
- 刘彬彬,李伟明编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302242512
- 出版时间:2011
- 标注页数:592页
- 文件大小:221MB
- 文件页数:608页
- 主题词:C语言-程序设计
PDF下载
下载说明
C语言开发实战宝典PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
基础知识篇 1
第1章C语言开发环境 1
1.1本章知识体系 4
1.2程序员的成长之路 4
1.3 C语言的重要性 5
1.4如何学好C语言 5
1.5 C语言常用开发工具简介 6
1.5.1 Turbo c 7
1.5.2 Visual C++ 6.0 7
1.5.3 C++ Builder(BCB) 7
1.5.4 Cygwin 7
1.5.5 Dev-C++ 7
1.5.6 Source Insight 8
1.6了解Visual C++集成开发环境 8
1.6.1开发环境布局 8
1.6.2菜单 8
1.6.3工具栏 15
1.6.4工作区窗口 16
1.6.5代码编辑窗口 16
1.6.6输出窗口 16
1.7如何在Turbo C 2.0下运行C源程序 17
1.8了解GCC开发编译器 19
1.9 Dev-C++ 19
1.9.1 Dev-C++概述 19
1.9.2 Dev-C++的使用 19
1.10 Eclipse for C/C++ 21
1.10.1 Eclipse概述 21
1.10.2 Eclipse的使用 22
1.11实战 24
1.11.1猴子吃桃 24
1.11.2阳阳买苹果 25
1.12 疑难解惑 26
1.12.1为什么说C语言可移植性好 26
1.12.2 C语言的应用领域有哪些 26
1.12.3如何提高C语言的编程效率 27
1.13小结 27
第2章C语言开发基础 29
2.1本章知识体系 30
2.2编码规范要记牢 30
2.2.1注释的合理使用 30
2.2.2程序中的{}要对齐 31
2.2.3合理使用空格使代码更规范 32
2.2.4换行使代码更清晰 32
2.3语言要素 33
2.3.1关键字 33
2.3.2标识符 33
2.4常量 34
2.4.1整型常量 34
2.4.2实型常量 36
2.4.3字符型常量 36
2.4.4字符串常量 37
2.5变量 38
2.5.1什么是变量 38
2.5.2变量的声明 39
2.6数据类型 39
2.6.1什么是数据类型 39
2.6.2整型 40
2.6.3实型 42
2.6.4字符型 42
2.6.5枚举类型 44
2.7使用typedef定义类型 45
2.8变量的存储类型 47
2.8.1了解变量的存储类型 47
2.8.2使用auto关键字声明自动变量 48
2.8.3使用static关键字声明静态变量 48
2.8.4使用register关键字声明寄存器变量 51
2.8.5使用extern关键字声明外部变量 52
2.8.6使用static关键字声明静态外部变量 55
2.9混合运算 55
2.10实战 57
2.10.1十进制转换为二进制 57
2.10.2求100200之间的素数 58
2.11疑难解惑 60
2.11.1声明变量和定义变量 60
2.11.2限定词const 60
2.11.3字符串常量为什么用“ ”作为结束符 61
2.12小结 61
第3章 运算符与表达式 63
3.1本章知识体系 64
3.2运算符与表达式 64
3.2.1赋值运算符与表达式 64
3.2.2加减乘除新认识 67
3.2.3关系源自比较 68
3.2.4逻辑出真假 69
3.2.5逗号运算符与表达式 71
3.2.6运算符的优先级 72
3.3自增、自减操作符 73
3.3.1认识自增、自减操作符 73
3.3.2自增、自减操作符的副作用 74
3.4位运算 74
3.4.1“或”运算符 74
3.4.2“与”运算符 76
3.4.3“取反”运算符 77
3.4.4“异或”运算符 78
3.4.5“左移”运算符 79
3.4.6“右移”运算符 80
3.5实战 81
3.5.1最大公约数及最小公倍数 81
3.5.2循环移位 82
3.6疑难解惑 84
3.6.1表达式“a=b”和“a= =b”一样吗? 84
3.6.2如何区分“,”是运算符还是分隔符 84
3.6.3 C语言中有哪些简化的运算表达式 86
3.7小结 86
第4章 语句 87
4.1本章知识体系 88
4.2语句的构成 88
4.2.1表达式语句 89
4.2.2函数调用语句 89
4.2.3控制语句 90
4.2.4复合语句 91
4.2.5空语句 91
4.3如何实现字符数据输入/输出 91
4.3.1字符数据输出 91
4.3.2字符数据输入 92
4.4格式输入/输出 93
4.4.1格式输出函数 93
4.4.2格式输入函数 98
4.5程序的控制结构 101
4.5.1顺序结构 101
4.5.2分支结构 101
4.5.3循环结构 102
4.6 if语句 103
4.6.1 if语句的介绍 103
4.6.2 if语句的嵌套 107
4.7条件运算符 108
4.8 switch语句 109
4.8.1 switch语句的基本形式 109
4.8.2剖析if和switch语句 112
4.9 while与do-while语句 113
4.9.1当型循环语句while 113
4.9.2直到型循环语句do-while 116
4.9.3 while与do-while的异同 118
4.10 for语句 119
4.10.1初识for语句 119
4.10.2 for语句的变体 121
4.10.3 for语句的嵌套 123
4.11跳转语句 125
4.11.1 continue语句跳出本次循环 125
4.11.2 break语句跳出循环 126
4.11.3用于返回数据的return语句 127
4.11.4 goto语句 128
4.12实战 129
4.12.1整数加减法练习 129
4.12.2一元钱兑换方案 130
4.13疑难解惑 132
4.13.1 C语言提供的跳转语句各有什么特点 132
4.13.2循环嵌套时应该注意什么 132
4.13.3如何提高循环语句的执行效率 132
4.14小结 133
第5章 数组 135
5.1本章知识体系 136
5.2一维数组 136
5.2.1如何定义和引用一维数组 136
5.2.2一维数组初始化 137
5.2.3一维数组应用 139
5.3二维数组 140
5.3.1如何定义和引用二维数组 140
5.3.2二维数组初始化 141
5.3.3二维数组应用 143
5.4多维数组 144
5.5字符数组 144
5.5.1如何定义和使用字符数组 144
5.5.2字符数组初始化 145
5.5.3字符数组的结束标志 147
5.5.4字符数组的输入和输出 148
5.5.5字符数组应用 151
5.6实战 152
5.6.1逆序存放数据 152
5.6.2相邻元素之和 154
5.7 疑难解惑 155
5.7.1数组下标必须从0开始吗 155
5.7.2数组名作函数参数与数组元素作函数参数有什么不同之处 155
5.7.3‘ ’和“ ”有什么区别 155
5.8小结 156
第6章 函数 157
6.1本章知识体系 158
6.2函数概述 158
6.3函数的定义 160
6.3.1无参函数 160
6.3.2有参函数 161
6.3.3空函数 161
6.4返回语句 162
6.4.1从函数返回 162
6.4.2返回值 162
6.5函数参数 163
6.5.1形式参数与实际参数 163
6.5.2数组作函数参数 165
6.5.3 main参数 170
6.6函数的调用 171
6.6.1函数调用方式 171
6.6.2嵌套调用 172
6.6.3递归调用 174
6.7内部函数和外部函数 177
6.7.1内部函数 177
6.7.2外部函数 177
6.8局部变量和全局变量 179
6.8.1局部变量 179
6.8.2全局变量 180
6.9实战 182
6.9.1求字符串中字符的个数 182
6.9.2打渔晒网问题 183
6.10疑难解惑 185
6.10.1在调用时不使用函数的返回值会产生什么现象 185
6.10.2 C语言中函数的调用方式有哪几种 186
6.10.3函数定义时容易犯哪些错误 186
6.11小结 187
第7章 指针 189
7.1本章知识体系 190
7.2指针相关概念 190
7.2.1地址与指针 190
7.2.2指针变量 191
7.2.3指针的赋值 192
7.2.4指针的引用 193
7.3指针运算 194
7.4一维数组与指针 196
7.5指针访问二维数组 200
7.6字符和指针 203
7.6.1使用字符指针 203
7.6.2字符指针数组 205
7.7指向指针的指针 206
7.8函数型指针 208
7.9实战 210
7.9.1用指针实现数据交换 210
7.9.2使用指针实现整数排序 212
7.10疑难解惑 213
7.10.1指针类型和指针所指向的类型是一样的吗 213
7.10.2指针运算与取地址运算符有何联系 214
7.10.3空指针有何意义 214
7.11小结 214
第8章 结构体和共用体 215
8.1本章知识体系 216
8.2结构体 216
8.2.1结构体类型的概念 216
8.2.2结构体变量的定义 217
8.2.3结构体类型的几点说明 219
8.2.4结构体变量的引用 220
8.2.5结构体变量的初始化 220
8.3结构体数组 221
8.3.1定义结构体数组 221
8.3.2初始化结构体数组 222
8.4结构体指针 224
8.4.1指向结构体变量的指针 224
8.4.2指向结构体数组的指针 225
8.4.3结构体作函数参数 226
8.5包含结构的结构 229
8.6链表 230
8.6.1什么是链表 230
8.6.2创建动态链表 232
8.6.3链表相关操作 234
8.7共用体 240
8.7.1什么是共用体 240
8.7.2共用体变量的定义和引用 240
8.7.3共用体类型的初始化 241
8.8实战 242
8.8.1约瑟夫环 242
8.8.2计算开机时间 244
8.9疑难解惑 246
8.9.1定义结构体对结构体成员的类型是否有限制 246
8.9.2成员运算符()和指向结构体成员的运算符(->)有何区别 246
8.9.3结构体和联合体有什么区别和联系 246
8.10小结 247
第9章 文件 249
9.1本章知识体系 250
9.2文件概述 250
9.3文件基本操作 251
9.3.1文件的打开 251
9.3.2文件的关闭 252
9.4文件的读写 253
9.4.1 fputc 函数 253
9.4.2 fgetc函数 254
9.4.3 fread函数和fwrite函数 255
9.5文件的定位 257
9.5.1 rewind函数 257
9.5.2 ftell函数 259
9.5.3 fseek函数 259
9.6出错检测 261
9.6.1 ferror函数 261
9.6.2 clearerr函数 263
9.7实战 264
9.7.1读取磁盘文件 264
9.7.2将数据写入磁盘文件 265
9.8疑难解惑 266
9.8.1标准文件和一般文件有什么区别 266
9.8.2 C语言的常用库文件包含哪些 266
9.8.3为什么文件打开以后要及时关闭 268
9.9小结 268
第10章 预处理 269
10.1本章知识体系 270
10.2不带参数的宏定义 270
10.3带参数的宏定义 272
10.4 #include命令 273
10.5条件编译 276
10.5.1 #if命令 276
10.5.2 #ifdef及#ifndef命令 279
10.5.3 #undef命令 280
10.5.4 #line命令 280
10.5.5 #pragma命令 281
10.6 实战 282
10.6.1利用宏计算两个数的乘积 282
10.6.2利用宏求3个数中的最小数 282
10.7疑难解惑 283
10.7.1 C语言中包括哪些预处理功能 283
10.7.2使用宏时需要注意些什么 284
10.7.3文件包含可以嵌套吗 284
10.8小结 284
第11章 存储管理 285
11.1本章知识体系 286
11.2内存组织方式 286
11.2.1内存组织方式 286
11.2.2堆与栈 286
11.3分配内存函数(malloc和calloc) 289
11.3.1 malloc函数 289
11.3.2 calloc函数 290
11.4修改已分配内存(relloc函数) 291
11.5释放内存——free函数 292
11.6谁偷了我的内存 293
11.7实战 294
11.7.1为具有3个元素的数组分配内存 294
11.7.2为二维数组动态分配内存并释放 294
11.8疑难解惑 296
11.8.1什么是“内存泄露” 296
11.8.2内存耗尽了怎么办 296
11.8.3常见的内存管理错误有哪些 296
11.9小结 297
范例演练篇 301
第12章 排序 301
12.1选择排序 302
12.1.1范例功能演示 302
12.1.2开发思路指引 302
12.1.3专家难点解析 303
12.1.4设计过程详解 304
12.1.5范例开发手记 305
12.1.6进阶与提高 305
12.2冒泡排序 306
12.2.1范例功能演示 306
12.2.2开发思路指引 306
12.2.3专家难点解析 307
12.2.4设计过程详解 308
12.2.5范例开发手记 309
12.2.6进阶与提高 309
12.3插入排序 310
12.3.1范例功能演示 310
12.3.2开发思路指引 310
12.3.3专家难点解析 311
12.3.4设计过程详解 312
12.3.5范例开发手记 313
12.3.6进阶与提高 313
12.4希尔排序 314
12.4.1范例功能演示 314
12.4.2开发思路指引 315
12.4.3专家难点解析 315
12.4.4设计过程详解 316
12.4.5范例开发手记 317
12.4.6进阶与提高 318
12.5快速排序 319
12.5.1范例功能演示 319
12.5.2开发思路指引 319
12.5.3专家难点解析 320
12.5.4设计过程详解 321
12.5.5范例开发手记 322
12.5.6进阶与提高 323
第13章 查找 325
13.1顺序查找 326
13.1.1范例功能演示 326
13.1.2开发思路指引 326
13.1.3专家难点解析 326
13.1.4设计过程详解 327
13.1.5范例开发手记 328
13.1.6进阶与提高 328
13.2折半查找 329
13.2.1范例功能演示 330
13.2.2开发思路指引 330
13.2.3专家难点解析 330
13.2.4设计过程详解 331
13.2.5范例开发手记 332
13.2.6进阶与提高 332
13.3分块查找 334
13.3.1范例功能演示 334
13.3.2开发思路指引 334
13.3.3专家难点解析 335
13.3.4设计过程详解 336
13.3.5范例开发手记 337
13.3.6进阶与提高 338
13.4哈希查找 339
13.4.1范例功能演示 339
13.4.2开发思路指引 340
13.4.3专家难点解析 340
13.4.4设计过程详解 342
13.4.5范例开发手记 344
13.4.6进阶与提高 344
第14章 数据压缩 349
14.1 RLE算法实现数据压缩 350
14.1.1范例功能演示 350
14.1.2开发思路指引 350
14.1.3专家难点解析 351
14.1.4设计过程详解 351
14.1.5范例开发手记 353
14.1.6进阶与提高 353
14.2 LZW算法实现数据压缩 355
14.2.1范例功能演示 355
14.2.2开发思路指引 355
14.2.3专家难点解析 355
14.2.4设计过程详解 356
14.2.5范例开发手记 359
14.2.6进阶与提高 359
第15章 图形编程 363
15.1绘制折线图 364
15.1.1范例功能演示 364
15.1.2开发思路指引 364
15.1.3专家难点解析 364
15.1.4设计过程详解 366
15.1.5范例开发手记 367
15.1.6进阶与提高 368
15.2饼状图 370
15.2.1范例功能演示 370
15.2.2开发思路指引 370
15.2.3专家难点解析 370
15.2.4设计过程详解 372
15.2.5范例开发手记 373
15.2.6进阶与提高 373
15.3条形图 375
15.3.1范例功能演示 375
15.3.2开发思路指引 375
15.3.3专家难点解析 375
15.3.4设计过程详解 377
15.3.5范例开发手记 379
15.3.6进阶与提高 379
15.4画玫瑰花 381
15.4.1范例功能演示 381
15.4.2开发思路指引 381
15.4.3专家难点解析 381
15.4.4设计过程详解 382
15.4.5范例开发手记 387
15.4.6进阶与提高 387
15.5菜单界面设计 388
15.5.1范例功能演示 389
15.5.2开发思路指引 389
15.5.3专家难点解析 389
15.5.4设计过程详解 390
15.5.5范例开发手记 396
15.5.6进阶与提高 396
第16章 文件的高级应用 399
16.1创建文件 400
16.1.1范例功能演示 400
16.1.2开发思路指引 400
16.1.3专家难点解析 400
16.1.4设计过程详解 401
16.1.5范例开发手记 402
16.1.6进阶与提高 402
16.2文件的复制 403
16.2.1范例功能演示 403
16.2.2开发思路指引 403
16.2.3专家难点解析 403
16.2.4设计过程详解 404
16.2.5范例开发手记 405
16.2.6进阶与提高 405
16.3删除文件 406
16.3.1范例功能演示 407
16.3.2开发思路指引 407
16.3.3专家难点解析 407
16.3.4设计过程详解 408
16.3.5范例开发手记 409
16.3.6进阶与提高 409
16.4重命名文件 412
16.4.1范例功能演示 412
16.4.2开发思路指引 412
16.4.3专家难点解析 412
16.4.4设计过程详解 413
16.4.5范例开发手记 413
16.4.6进阶与提高 414
16.5文件加密 415
16.5.1范例功能演示 415
16.5.2开发思路指引 416
16.5.3专家难点解析 416
16.5.4设计过程详解 417
16.5.5范例开发手记 418
16.5.6进阶与提高 418
项目实战篇 423
第17章 五子棋游戏开发 423
17.1概述 424
17.2需求分析 424
17.3系统设计 424
17.3.1设计目标 424
17.3.2开发及运行环境 424
17.4程序预览 424
17.5 graphics.h文件 425
17.6设计思路 429
17.7预处理 429
17.7.1文件引用 429
17.7.2宏定义 429
17.8声明变量 430
17.9函数声明 430
17.10主要功能实现 430
17.10.1主函数 430
17.10.2开始游戏 432
17.10.3绘制棋盘 433
17.10.4绘制棋子 433
17.10.5清除棋子 434
17.10.6游戏过程 434
17.10.7判断胜负结果 440
17.11开发总结 442
第18章 商品信息管理系统(txt) 443
18.1概述 444
18.1.1需求分析 444
18.1.2功能结构图 444
18.2预处理 444
18.2.1文件引用 444
18.2.2宏定义 445
18.3声明结构体 445
18.4函数声明 445
18.5功能选择界面 446
18.5.1功能概述 446
18.5.2主函数 446
18.5.3自定义菜单功能函数 447
18.6录入商品信息 448
18.7查询商品信息 452
18.8 删除商品信息 454
18.9修改商品信息 456
18.10插入商品信息 458
18.11统计商品数 461
18.12开发总结 462
第19章 网络通信编程 463
19.1网络通信系统概述 464
19.1.1开发背景 464
19.1.2需求分析 464
19.1.3功能结构图 464
19.2技术攻关 465
19.2.1 TCP/IP协议 465
19.2.2 IP地址 466
19.2.3数据包格式 467
19.2.4建立连接 469
19.2.5套接字库函数 470
19.3网络通信系统主程序 473
19.4点对点通信 477
19.5服务器中转通信 484
19.6程序调试与错误处理 491
19.7开发总结 494
第20章 联系人管理系统(嵌入式) 497
20.1联系人管理系统概述 498
20.1.1系统分析 498
20.1.2总体设计 498
20.2技术攻关 499
20.2.1嵌入式 499
20.2.2超级终端通信 500
20.2.3烧写与编译 504
20.3联系人管理系统主程序 511
20.4添加联系人模块 516
20.5查找联系人模块 518
20.6删除联系人模块 521
20.7浏览联系人模块 523
20.8联系人详情 527
20.9程序调试与错误处理 529
20.10开发总结 533
第21章 图书管理系统(MySQL) 535
21.1概述 536
21.1.1需求分析 536
21.1.2开发工具选择 536
21.2系统设计 536
21.2.1系统目标 536
21.2.2系统功能结构 537
21.2.3系统预览 537
21.2.4开发及运行环境 540
21.3数据库设计 540
21.3.1安装MySQL数据库 540
21.3.2启动MySQL数据库 547
21.3.3创建数据库 548
21.3.4数据表结构 549
21.4 C语言开发数据库程序的流程 549
21.5 C语言操作MySQL数据库 552
21.5.1 MySQL常用数据库操作函数 552
21.5.2连接MySQL数据 554
21.5.3查询图书表记录 555
21.5.4插入图书表记录 557
21.5.5修改图书表记录 558
21.5.6删除图书表记录 560
21.6文件引用 560
21.7变量和函数定义 561
21.8主要功能模块设计 562
21.8.1显示主菜单信息 562
21.8.2显示所有图书信息 564
21.8.3添加图书信息 567
21.8.4修改图书信息 574
21.8.5删除图书信息 581
21.8.6查询图书信息 587
21.9程序调试及错误处理 590
21.9.1解决创建数据表为一个文件的问题 590
21.9.2在创建数据表时,最后一句结尾没有标点 591
21.9.3无法启动MySQL服务 592
21.10项目开发总结 592