
C语言开发实战
《C语言开发实战》是2013年清华大学出版社出版的图书,由软体开发技术联盟编写。本书讲述了使用Visual C++ 6.0进行程式开发应该掌握的各项技术。
基本介绍
- 书名:C语言开发实战
- 作者:软体开发技术联盟
- ISBN:9787302323082
- 定价:79.80元
- 出版社:清华大学出版社
- 出版时间:2013-9-1
- 装帧:平装
内容简介
《C语言开发实战》从初学者的角度讲述了使用Visual C++ 6.0(以及部分Turbo C)进行程式开发应该掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,同时强调“实战”效果(只掌握和理解技术,而没有实际套用,等于没有掌握技术)。本书共分为5篇22章。前3篇中,在介绍技术的同时,每一章均提供了相应的实例,同时在各章的结尾安排有实战,通过几个小型项目来综合套用本章所讲解的知识,做到理论联繫实际。在第4篇中,各章都安排了範例,使读者巩固所学的知识。最后,在第5篇中提供了两个完整的项目实例,讲述从前期规划、设计流程图,到项目最终实施的整个实现过程。所有知识都结合具体实例进行介绍,对涉及的程式代码给出了详细的注释,读者可以轻鬆领会C语言程式开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下: 黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程式、提供习题答案、赠送开发案例。本书适合有志于从事软体开发的初学者、高校计算机相关专业学生和毕业生,也可作为软体开发人员的参考手册或高校的教学参考书。
图书目录
目 录
第1篇 新 手 入 门
第1章 C语言开发环境 3
视频讲解:12分钟
1.1 本章知识体系 4
1.2 程式设计师的成长之路 4
1.3 C语言的重要性 5
1.4 如何学好C语言 5
1.5 C语言常用开发工具简介 6
1.5.1 Turbo C 6
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 7
1.6 了解Visual C++集成开发环境 8
1.6.1 开发环境布局 8
1.6.2 选单栏 8
1.6.3 工具列 14
1.6.4 工作区视窗 14
1.6.5 代码编辑视窗 14
1.6.6 输出视窗 15
1.7 如何在Turbo C 2.0下运行C源程式 15
1.8 了解GCC开发编译器 17
1.9 Dev-C++ 17
1.9.1 Dev-C++概述 17
1.9.2 Dev-C++的使用 17
1.10 Eclipse for C/C++ 19
1.10.1 Eclipse概述 19
1.10.2 Eclipse的使用 19
1.11 实战 20
1.11.1 判断三角形的类型 20
1.11.2 计算某日是该年的第几天 22
1.11.3 婚礼上的谎言 23
1.11.4 尼科彻斯定理 24
1.11.5 猴子吃桃 25
1.11.6 阳阳买苹果 26
1.12 疑难解惑 28
1.12.1 为什幺说C语言可移植性好 28
1.12.2 C语言的套用领域有哪些 28
1.12.3 如何提高C语言的编程效率 28
1.13 小结 29
1.14 学习成果检验 29
第2章 C语言开发基础 31
视频讲解:68分钟
2.1 本章知识体系 32
2.2 编码规範要记牢 32
2.2.1 注释的合理使用 32
2.2.2 程式中的{}要对齐 33
2.2.3 合理使用空格使代码更规範 34
2.2.4 换行使代码更清晰 34
2.3 语言要素 35
2.3.1 关键字 35
2.3.2 标识符 35
2.4 常量 36
2.4.1 整型常量 36
2.4.2 实型常量 38
2.4.3 字元型常量 38
2.4.4 字元串常量 39
2.5 变数 40
2.5.1 什幺是变数 40
2.5.2 变数的声明 41
2.6 数据类型 41
2.6.1 什幺是数据类型 41
2.6.2 整型 41
2.6.3 实型 43
2.6.4 字元型 44
2.6.5 枚举类型 45
2.7 使用typedef定义类型 47
2.8 变数的存储类型 49
2.8.1 了解变数的存储类型 49
2.8.2 使用auto关键字声明自动变数 49
2.8.3 使用static关键字声明静态变数 50
2.8.4 使用register关键字声明暂存器变数 52
2.8.5 使用extern关键字声明外部变数 53
2.8.6 使用static关键字声明静态外部变数 56
2.9 混合运算 57
2.10 实战 58
2.10.1 十进制转换为二进制 58
2.10.2 求100~200之间的素数 60
2.10.3 利用"#"输出图形 61
2.10.4 列印杨辉三角 61
2.10.5 利用"*"输出矩形 63
2.10.6 小球下落问题 63
2.10.7 巧分苹果 64
2.11 疑难解惑 66
2.11.1 声明变数和定义变数 66
2.11.2 限定词const 66
2.11.3 字元串常量为什幺用"\0"作为结束符 67
2.12 小结 67
2.13 学习成果检验 67
第3章 运算符与表达式 69
视频讲解:34分钟
3.1 本章知识体系 70
3.2 运算符与表达式的使用 70
3.2.1 赋值运算符与表达式 70
3.2.2 加减乘除新认识 72
3.2.3 关係源自比较 73
3.2.4 逻辑出真假 74
3.2.5 逗号运算符与表达式 76
3.2.6 运算符的优先权 77
3.3 自增、自减操作符 78
3.3.1 认识自增、自减操作符 78
3.3.2 自增、自减操作符的副作用 79
3.4 位运算 79
3.4.1 "或"运算符 80
3.4.2 "与"运算符 81
3.4.3 "取反"运算符 82
3.4.4 "异或"运算符 83
3.4.5 "左移"运算符 84
3.4.6 "右移"运算符 85
3.5 实战 86
3.5.1 求1~10的累加和 86
3.5.2 计算学生的平均身高 86
3.5.3 求一元二次方程ax2+bx+c=0的根 87
3.5.4 阿姆斯特朗数 88
3.5.5 可逆素数 89
3.5.6 满足abcd=(ab+cd)2的数 90
3.5.7 最大公约数及最低公倍数 91
3.5.8 循环移位 92
3.6 疑难解惑 94
3.6.1 表达式"a=b"和"a= =b"一样吗 94
3.6.2 如何区分","是运算符还是分隔设定 94
3.6.3 C语言中有哪些简化的运算表达式 96
3.7 小结 96
3.8 学习成果检验 96
第4章 语句 99
视频讲解:100分钟
4.1 本章知识体系 100
4.2 语句的构成 100
4.2.1 表达式语句 101
4.2.2 函式调用语句 101
4.2.3 控制语句 103
4.2.4 複合语句 103
4.2.5 空语句 103
4.3 如何实现字元数据输入/输出 103
4.3.1 字元数据输出 103
4.3.2 字元数据输入 104
4.4 格式输入/输出 105
4.4.1 格式输出函式 105
4.4.2 格式输入函式 110
4.5 程式的控制结构 112
4.5.1 顺序结构 112
4.5.2 分支结构 113
4.5.3 循环结构 113
4.6 if语句 114
4.6.1 if语句的介绍 114
4.6.2 if语句的嵌套 118
4.7 条件运算符 119
4.8 switch语句 120
4.8.1 switch语句的基本形式 120
4.8.2 剖析switch和if语句 124
4.9 while与do-while语句 124
4.9.1 当型循环语句while 124
4.9.2 直到型循环语句do-while 127
4.9.3 while与do-while的异同 128
4.10 for语句 129
4.10.1 初识for语句 129
4.10.2 for语句的变体 131
4.10.3 for语句的嵌套 133
4.11 跳转语句 135
4.11.1 continue语句跳出本次循环 135
4.11.2 break语句跳出循环 136
4.11.3 用于返回数据的return语句 137
4.11.4 goto语句 138
4.12 实战 139
4.12.1 输出3*3矩阵 139
4.12.2 输出一个字元的前驱字元 140
4.12.3 根据输入判断能否构成三角形 141
4.12.4 求学生的最高分和最低分 142
4.12.5 整数加减法练习 142
4.12.6 一元钱兑换方案 144
4.13 疑难解惑 145
4.13.1 C语言提供的跳转语句各有什幺特点 145
4.13.2 循环嵌套时应该注意什幺 145
4.13.3 如何提高循环语句的执行效率 145
4.14 小结 146
4.15 学习成果检验 146
第5章 综合实验(一)--模拟ATM机
界面程式 147
视频讲解:3分钟
5.1 概述 148
5.2 需求分析 148
5.3 设计思路 148
5.4 详细设计 148
5.5 程式代码 153
第2篇 进 阶 提 高
第6章 数组 159
视频讲解:29分钟
6.1 本章知识体系 160
6.2 一维数组 160
6.2.1 如何定义和引用一维数组 160
6.2.2 一维数组初始化 161
6.2.3 一维数组套用 163
6.3 二维数组 164
6.3.1 如何定义和引用二维数组 164
6.3.2 二维数组初始化 164
6.3.3 二维数组套用 166
6.4 多维数组 167
6.5 字元数组 168
6.5.1 如何定义和使用字元数组 168
6.5.2 字元数组初始化 168
6.5.3 字元数组的结束标誌 171
6.5.4 字元数组的输入和输出 172
6.5.5 字元数组套用 174
6.6 实战 175
6.6.1 相邻元素之和 175
6.6.2 选票系统 176
6.6.3 统计学生成绩 178
6.6.4 模拟比赛打分 179
6.6.5 矩阵的转置 180
6.6.6 设计魔方阵 181
6.6.7 统计各种字元个数 183
6.6.8 删除字元串中的连续字元 184
6.7 疑难解惑 185
6.7.1 数组下标必须从0开始吗 185
6.7.2 数组名作函式参数与数组元素作函式参数有什幺不同之处 185
6.7.3 '\0'和"\0"有什幺区别 186
6.8 小结 186
6.9 学习成果检验 186
第7章 函式 187
视频讲解:53分钟
7.1 本章知识体系 188
7.2 函式概述 188
7.3 函式的定义 190
7.3.1 无参函式 190
7.3.2 有参函式 191
7.3.3 空函式 191
7.4 返回语句 192
7.4.1 从函式返回 192
7.4.2 返回值 192
7.5 函式参数 193
7.5.1 形式参数与实际参数 193
7.5.2 数组作函式参数 195
7.5.3 main参数 199
7.6 函式的调用 201
7.6.1 函式调用方式 201
7.6.2 嵌套调用 202
7.6.3 递归调用 203
7.7 内部函式和外部函式 206
7.7.1 内部函式 206
7.7.2 外部函式 207
7.8 局部变数和全局变数 208
7.8.1 局部变数 208
7.8.2 全局变数 209
7.9 实战 212
7.9.1 百钱百鸡问题 212
7.9.2 求直角三角形斜边 213
7.9.3 小数分离 213
7.9.4 判断素数 214
7.9.5 递归解决分鱼问题 215
7.9.6 字母检索 216
7.9.7 求字元串中字元的个数 217
7.9.8 打渔晒网问题 218
7.10 疑难解惑 220
7.10.1 在调用时不使用函式的返回值会产生什幺现象 220
7.10.2 C语言中函式的调用方式有哪几种 220
7.10.3 函式定义时容易犯哪些错误 221
7.11 小结 221
7.12 学习成果检验 222
第8章 指针 223
视频讲解:17分钟
8.1 本章知识体系 224
8.2 指针相关概念 224
8.2.1 地址与指针 224
8.2.2 指针变数 225
8.2.3 指针的赋值 225
8.2.4 指针的引用 226
8.3 指针运算 227
8.4 一维数组与指针 230
8.5 指针访问二维数组 234
8.6 字元和指针 237
8.6.1 使用字元指针 237
8.6.2 字元指针数组 239
8.7 指向指针的指针 240
8.8 函式型指针 242
8.9 实战 244
8.9.1 用指针实现数据交换 244
8.9.2 使用指针实现整数排序 245
8.9.3 查找成绩不及格的学生 246
8.9.4 使用指针实现冒泡排序 247
8.9.5 使用指针插入元素 248
8.9.6 实现输入月份号输出该月份的英文名 249
8.9.7 将若干字元串按字母顺序输出 251
8.10 疑难解惑 252
8.10.1 指针类型和指针所指向的类型是一样的吗 252
8.10.2 指针运算与取地址运算符有何联繫 253
8.10.3 空指针有何意义 253
8.11 小结 254
8.12 学习成果检验 254
第9章 结构体和共用体 255
视频讲解:40分钟
9.1 本章知识体系 256
9.2 结构体 256
9.2.1 结构体类型的概念 256
9.2.2 结构体变数的定义 257
9.2.3 结构体类型的几点说明 259
9.2.4 结构体变数的引用 260
9.2.5 结构体变数的初始化 260
9.3 结构体数组 261
9.3.1 定义结构体数组 261
9.3.2 初始化结构体数组 262
9.4 结构体指针 264
9.4.1 指向结构体变数的指针 265
9.4.2 指向结构体数组的指针 265
9.4.3 结构体作函式参数 267
9.5 包含结构的结构 270
9.6 鍊表 271
9.6.1 什幺是鍊表 271
9.6.2 创建动态鍊表 272
9.6.3 鍊表相关操作 274
9.7 共用体 280
9.7.1 什幺是共用体 280
9.7.2 共用体变数的定义和引用 281
9.7.3 共用体类型的初始化 282
9.8 实战 283
9.8.1 找出最高分 283
9.8.2 候选人选票程式 284
9.8.3 求平面上两点距离 285
9.8.4 设计通讯录 286
9.8.5 输出火车票价格 288
9.8.6 链伫列 289
9.8.7 约瑟夫环 293
9.8.8 计算开机时间 295
9.9 疑难解惑 296
9.9.1 定义结构体对结构体成员的类型是否有限制 296
9.9.2 成员运算符(.)和指向结构体成员运算符(->)有何区别 297
9.9.3 结构体和联合体有什幺区别和联繫 297
9.10 小结 297
9.11 学习成果检验 298
第10章 综合实验(二)--猜数字游戏 299
视频讲解:24分钟
10.1 概述 300
10.2 需求分析 300
10.3 系统设计 300
10.3.1 设计目标 300
10.3.2 开发及运行环境 300
10.4 程式预览 301
10.5 设计思路 302
10.6 档案引用 302
10.7 主要功能实现 303
10.7.1 主函式 303
10.7.2 猜数字 304
10.7.3 游标定位 306
第3篇 高 级 应 用
第11章 档案 311
视频讲解:29分钟
11.1 本章知识体系 312
11.2 档案概述 312
11.3 档案基本操作 313
11.3.1 档案的打开 313
11.3.2 档案的关闭 314
11.4 档案的读写 315
11.4.1 fputc函式 315
11.4.2 fgetc函式 316
11.4.3 fread函式和fwrite函式 317
11.5 档案的定位 319
11.5.1 rewind函式 319
11.5.2 ftell函式 321
11.5.3 fseek函式 321
11.6 出错检测 323
11.6.1 ferror函式 323
11.6.2 clearerr函式 325
11.7 实战 326
11.7.1 读取磁碟档案 326
11.7.2 将数据写入磁碟档案 327
11.7.3 创建档案 328
11.7.4 删除档案 330
11.7.5 重命名档案 331
11.7.6 档案加密 333
11.7.7 格式化读写档案 335
11.8 疑难解惑 337
11.8.1 标準档案和一般档案有什幺区别 337
11.8.2 C语言的常用库档案包含哪些 338
11.8.3 为什幺档案打开以后要及时
关闭 339
11.9 小结 339
11.10 学习成果检验 339
第12章 预处理 341
视频讲解:29分钟
12.1 本章知识体系 342
12.2 不带参数的宏定义 342
12.3 带参数的宏定义 344
12.4 #include命令 345
12.5 条件编译 348
12.5.1 #if命令 348
12.5.2 #ifdef及#ifndef命令 350
12.5.3 #undef命令 351
12.5.4 #line命令 352
12.5.5 #pragma命令 352
12.6 实战 353
12.6.1 利用宏计算两个数的乘积 353
12.6.2 利用宏求3个数中的最小数 354
12.6.3 使用带参数的宏求圆面积 354
12.6.4 利用档案包含设计输出格式 355
12.6.5 使用条件编译隐藏密码 356
12.7 疑难解惑 356
12.7.1 C语言中包括哪些预处理功能 356
12.7.2 使用宏时需要注意些什幺 357
12.7.3 档案包含可以嵌套吗 357
12.8 小结 358
12.9 学习成果检验 358
第13章 存储管理 359
视频讲解:21分钟
13.1 本章知识体系 360
13.2 记忆体组织方式 360
13.2.1 记忆体组织方式 360
13.2.2 堆与栈 360
13.3 分配记忆体函式(malloc和calloc) 363
13.3.1 malloc函式 363
13.3.2 calloc函式 364
13.4 修改已分配记忆体(realloc函式) 365
13.5 释放记忆体--free函式 366
13.6 谁偷了我的记忆体 367
13.7 实战 367
13.7.1 为具有3个元素的数组分配记忆体 367
13.7.2 为二维数组动态分配记忆体并释放 368
13.7.3 商品信息的动态存放 369
13.8 疑难解惑 370
13.8.1 什幺是"记忆体泄露" 370
13.8.2 记忆体耗尽了怎幺办 370
13.8.3 常见的记忆体管理错误有哪些 370
13.9 小结 371
13.10 学习成果检验 371
第14章 综合实验(三)--商品信息管理系统 373
视频讲解:29分钟
14.1 概述 374
14.1.1 需求分析 374
14.1.2 功能结构图 374
14.2 预处理 374
14.2.1 档案引用 374
14.2.2 宏定义 375
14.3 声明结构体 375
14.4 函式声明 375
14.5 功能选择界面 376
14.5.1 功能概述 376
14.5.2 主函式 376
14.5.3 自定义选单功能函式 377
14.6 录入商品信息 378
14.7 查询商品信息 381
14.8 删除商品信息 383
14.9 修改商品信息 385
14.10 插入商品信息 387
14.11 统计商品数 389
14.12 小结 390
第4篇 范 例 演 练
第15章 排序 393
视频讲解:36分钟
15.1 选择排序 394
15.1.1 範例功能演示 394
15.1.2 开发思路指引 394
15.1.3 专家难点解析 395
15.1.4 设计过程详解 396
15.1.5 範例开发手记 397
15.1.6 进阶与提高 397
15.2 冒泡排序 398
15.2.1 範例功能演示 398
15.2.2 开发思路指引 398
15.2.3 专家难点解析 399
15.2.4 设计过程详解 400
15.2.5 範例开发手记 401
15.2.6 进阶与提高 401
15.3 插入排序 402
15.3.1 範例功能演示 402
15.3.2 开发思路指引 402
15.3.3 专家难点解析 403
15.3.4 设计过程详解 404
15.3.5 範例开发手记 405
15.3.6 进阶与提高 405
15.4 希尔排序 406
15.4.1 範例功能演示 406
15.4.2 开发思路指引 406
15.4.3 专家难点解析 407
15.4.4 设计过程详解 408
15.4.5 範例开发手记 409
15.4.6 进阶与提高 409
15.5 快速排序 410
15.5.1 範例功能演示 411
15.5.2 开发思路指引 411
15.5.3 专家难点解析 412
15.5.4 设计过程详解 413
15.5.5 範例开发手记 414
15.5.6 进阶与提高 415
第16章 查找 417
16.1 顺序查找 418
16.1.1 範例功能演示 418
16.1.2 开发思路指引 418
16.1.3 专家难点解析 418
16.1.4 设计过程详解 419
16.1.5 範例开发手记 420
16.1.6 进阶与提高 420
16.2 折半查找 421
16.2.1 範例功能演示 422
16.2.2 开发思路指引 422
16.2.3 专家难点解析 422
16.2.4 设计过程详解 423
16.2.5 範例开发手记 424
16.2.6 进阶与提高 424
16.3 分块查找 426
16.3.1 範例功能演示 426
16.3.2 开发思路指引 426
16.3.3 专家难点解析 426
16.3.4 设计过程详解 428
16.3.5 範例开发手记 429
16.3.6 进阶与提高 429
16.4 哈希查找 431
16.4.1 範例功能演示 431
16.4.2 开发思路指引 431
16.4.3 专家难点解析 431
16.4.4 设计过程详解 433
16.4.5 範例开发手记 435
16.4.6 进阶与提高 436
第17章 数据压缩 441
17.1 RLE算法实现数据压缩 442
17.1.1 範例功能演示 442
17.1.2 开发思路指引 442
17.1.3 专家难点解析 442
17.1.4 设计过程详解 443
17.1.5 範例开发手记 445
17.1.6 进阶与提高 445
17.2 LZW算法实现数据压缩 447
17.2.1 範例功能演示 447
17.2.2 开发思路指引 447
17.2.3 专家难点解析 447
17.2.4 设计过程详解 448
17.2.5 範例开发手记 451
17.2.6 进阶与提高 451
第18章 图形编程 455
视频讲解:45分钟
18.1 绘製折线图 456
18.1.1 範例功能演示 456
18.1.2 开发思路指引 456
18.1.3 专家难点解析 456
18.1.4 设计过程详解 458
18.1.5 範例开发手记 460
18.1.6 进阶与提高 460
18.2 绘製饼状图 462
18.2.1 範例功能演示 462
18.2.2 开发思路指引 462
18.2.3 专家难点解析 462
18.2.4 设计过程详解 464
18.2.5 範例开发手记 465
18.2.6 进阶与提高 466
18.3 绘製条形图 467
18.3.1 範例功能演示 467
18.3.2 开发思路指引 467
18.3.3 专家难点解析 468
18.3.4 设计过程详解 469
18.3.5 範例开发手记 471
18.3.6 进阶与提高 471
18.4 绘製玫瑰花 473
18.4.1 範例功能演示 473
18.4.2 开发思路指引 473
18.4.3 专家难点解析 473
18.4.4 设计过程详解 474
18.4.5 範例开发手记 479
18.4.6 进阶与提高 479
18.5 选单界面设计 481
18.5.1 範例功能演示 481
18.5.2 开发思路指引 481
18.5.3 专家难点解析 481
18.5.4 设计过程详解 482
18.5.5 範例开发手记 488
18.5.6 进阶与提高 489
第19章 档案的高级套用 491
视频讲解:55分钟
19.1 创建档案 492
19.1.1 範例功能演示 492
19.1.2 开发思路指引 492
19.1.3 专家难点解析 492
19.1.4 设计过程详解 493
19.1.5 範例开发手记 493
19.1.6 进阶与提高 494
19.2 档案的複製 494
19.2.1 範例功能演示 495
19.2.2 开发思路指引 495
19.2.3 专家难点解析 495
19.2.4 设计过程详解 495
19.2.5 範例开发手记 496
19.2.6 进阶与提高 497
19.3 删除档案 498
19.3.1 範例功能演示 498
19.3.2 开发思路指引 498
19.3.3 专家难点解析 498
19.3.4 设计过程详解 499
19.3.5 範例开发手记 500
19.3.6 进阶与提高 500
19.4 重命名档案 503
19.4.1 範例功能演示 503
19.4.2 开发思路指引 503
19.4.3 专家难点解析 503
19.4.4 设计过程详解 504
19.4.5 範例开发手记 504
19.4.6 进阶与提高 505
19.5 档案加密 506
19.5.1 範例功能演示 506
19.5.2 开发思路指引 506
19.5.3 专家难点解析 507
19.5.4 设计过程详解 507
19.5.5 範例开发手记 509
19.5.6 进阶与提高 509
第20章 综合实验(四)--五子棋游戏开发 511
视频讲解:28分钟
20.1 概述 512
20.2 需求分析 512
20.3 系统设计 512
20.3.1 设计目标 512
20.3.2 开发及运行环境 512
20.4 程式预览 512
20.5 graphics.h档案 513
20.6 设计思路 516
20.7 预处理 517
20.7.1 档案引用 517
20.7.2 宏定义 517
20.8 声明变数 517
20.9 函式声明 518
20.10 主要功能实现 518
20.10.1 主函式 518
20.10.2 开始游戏 520
20.10.3 绘製棋盘 520
20.10.4 绘製棋子 521
20.10.5 清除棋子 521
20.10.6 游戏过程 522
20.10.7 判断胜负结果 528
20.11 小结 530
第5篇 项 目 实 战
第21章 网路通信系统 533
视频讲解:37分钟
21.1 网路通信系统概述 534
21.1.1 开发背景 534
21.1.2 需求分析 534
21.1.3 功能结构图 534
21.2 技术攻关 535
21.2.1 TCP/IP协定 535
21.2.2 IP位址 536
21.2.3 数据包格式 537
21.2.4 建立连线 538
21.2.5 套接字型档函式 539
21.3 网路通信系统主程式 543
21.4 点对点通信 546
21.5 伺服器中转通信 554
21.6 程式调试与错误处理 561
21.7 小结 564
第22章 图书管理系统(MySQL) 567
视频讲解:32分钟
22.1 概述 568
22.1.1 需求分析 568
22.1.2 开发工具选择 568
22.2 系统设计 568
22.2.1 系统目标 568
22.2.2 系统功能结构 569
22.2.3 系统预览 569
22.2.4 开发及运行环境 570
22.3 资料库设计 570
22.3.1 安装MySQL资料库 570
22.3.2 启动MySQL资料库 574
22.3.3 创建资料库 574
22.3.4 数据表结构 575
22.4 C语言开发资料库程式的流程 576
22.5 C语言操作MySQL资料库 578
22.5.1 MySQL常用资料库操作函式 578
22.5.2 连线MySQL数据 579
22.5.3 查询图书表记录 580
22.5.4 插入图书表记录 583
22.5.5 修改图书表记录 584
22.5.6 删除图书表记录 585
22.6 档案引用 586
22.7 变数和函式定义 587
22.8 主要功能模组设计 587
22.8.1 显示主选单信息 587
22.8.2 显示所有图书信息 589
22.8.3 添加图书信息 592
22.8.4 修改图书信息 599
22.8.5 删除图书信息 606
22.8.6 查询图书信息 611
22.9 程式调试及错误处理 613
22.9.1 解决创建数据表为一个档案的问题 613
22.9.2 在创建数据表时,最后一句结尾没有标点 614
第1篇 新 手 入 门
第1章 C语言开发环境 3
视频讲解:12分钟
1.1 本章知识体系 4
1.2 程式设计师的成长之路 4
1.3 C语言的重要性 5
1.4 如何学好C语言 5
1.5 C语言常用开发工具简介 6
1.5.1 Turbo C 6
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 7
1.6 了解Visual C++集成开发环境 8
1.6.1 开发环境布局 8
1.6.2 选单栏 8
1.6.3 工具列 14
1.6.4 工作区视窗 14
1.6.5 代码编辑视窗 14
1.6.6 输出视窗 15
1.7 如何在Turbo C 2.0下运行C源程式 15
1.8 了解GCC开发编译器 17
1.9 Dev-C++ 17
1.9.1 Dev-C++概述 17
1.9.2 Dev-C++的使用 17
1.10 Eclipse for C/C++ 19
1.10.1 Eclipse概述 19
1.10.2 Eclipse的使用 19
1.11 实战 20
1.11.1 判断三角形的类型 20
1.11.2 计算某日是该年的第几天 22
1.11.3 婚礼上的谎言 23
1.11.4 尼科彻斯定理 24
1.11.5 猴子吃桃 25
1.11.6 阳阳买苹果 26
1.12 疑难解惑 28
1.12.1 为什幺说C语言可移植性好 28
1.12.2 C语言的套用领域有哪些 28
1.12.3 如何提高C语言的编程效率 28
1.13 小结 29
1.14 学习成果检验 29
第2章 C语言开发基础 31
视频讲解:68分钟
2.1 本章知识体系 32
2.2 编码规範要记牢 32
2.2.1 注释的合理使用 32
2.2.2 程式中的{}要对齐 33
2.2.3 合理使用空格使代码更规範 34
2.2.4 换行使代码更清晰 34
2.3 语言要素 35
2.3.1 关键字 35
2.3.2 标识符 35
2.4 常量 36
2.4.1 整型常量 36
2.4.2 实型常量 38
2.4.3 字元型常量 38
2.4.4 字元串常量 39
2.5 变数 40
2.5.1 什幺是变数 40
2.5.2 变数的声明 41
2.6 数据类型 41
2.6.1 什幺是数据类型 41
2.6.2 整型 41
2.6.3 实型 43
2.6.4 字元型 44
2.6.5 枚举类型 45
2.7 使用typedef定义类型 47
2.8 变数的存储类型 49
2.8.1 了解变数的存储类型 49
2.8.2 使用auto关键字声明自动变数 49
2.8.3 使用static关键字声明静态变数 50
2.8.4 使用register关键字声明暂存器变数 52
2.8.5 使用extern关键字声明外部变数 53
2.8.6 使用static关键字声明静态外部变数 56
2.9 混合运算 57
2.10 实战 58
2.10.1 十进制转换为二进制 58
2.10.2 求100~200之间的素数 60
2.10.3 利用"#"输出图形 61
2.10.4 列印杨辉三角 61
2.10.5 利用"*"输出矩形 63
2.10.6 小球下落问题 63
2.10.7 巧分苹果 64
2.11 疑难解惑 66
2.11.1 声明变数和定义变数 66
2.11.2 限定词const 66
2.11.3 字元串常量为什幺用"\0"作为结束符 67
2.12 小结 67
2.13 学习成果检验 67
第3章 运算符与表达式 69
视频讲解:34分钟
3.1 本章知识体系 70
3.2 运算符与表达式的使用 70
3.2.1 赋值运算符与表达式 70
3.2.2 加减乘除新认识 72
3.2.3 关係源自比较 73
3.2.4 逻辑出真假 74
3.2.5 逗号运算符与表达式 76
3.2.6 运算符的优先权 77
3.3 自增、自减操作符 78
3.3.1 认识自增、自减操作符 78
3.3.2 自增、自减操作符的副作用 79
3.4 位运算 79
3.4.1 "或"运算符 80
3.4.2 "与"运算符 81
3.4.3 "取反"运算符 82
3.4.4 "异或"运算符 83
3.4.5 "左移"运算符 84
3.4.6 "右移"运算符 85
3.5 实战 86
3.5.1 求1~10的累加和 86
3.5.2 计算学生的平均身高 86
3.5.3 求一元二次方程ax2+bx+c=0的根 87
3.5.4 阿姆斯特朗数 88
3.5.5 可逆素数 89
3.5.6 满足abcd=(ab+cd)2的数 90
3.5.7 最大公约数及最低公倍数 91
3.5.8 循环移位 92
3.6 疑难解惑 94
3.6.1 表达式"a=b"和"a= =b"一样吗 94
3.6.2 如何区分","是运算符还是分隔设定 94
3.6.3 C语言中有哪些简化的运算表达式 96
3.7 小结 96
3.8 学习成果检验 96
第4章 语句 99
视频讲解:100分钟
4.1 本章知识体系 100
4.2 语句的构成 100
4.2.1 表达式语句 101
4.2.2 函式调用语句 101
4.2.3 控制语句 103
4.2.4 複合语句 103
4.2.5 空语句 103
4.3 如何实现字元数据输入/输出 103
4.3.1 字元数据输出 103
4.3.2 字元数据输入 104
4.4 格式输入/输出 105
4.4.1 格式输出函式 105
4.4.2 格式输入函式 110
4.5 程式的控制结构 112
4.5.1 顺序结构 112
4.5.2 分支结构 113
4.5.3 循环结构 113
4.6 if语句 114
4.6.1 if语句的介绍 114
4.6.2 if语句的嵌套 118
4.7 条件运算符 119
4.8 switch语句 120
4.8.1 switch语句的基本形式 120
4.8.2 剖析switch和if语句 124
4.9 while与do-while语句 124
4.9.1 当型循环语句while 124
4.9.2 直到型循环语句do-while 127
4.9.3 while与do-while的异同 128
4.10 for语句 129
4.10.1 初识for语句 129
4.10.2 for语句的变体 131
4.10.3 for语句的嵌套 133
4.11 跳转语句 135
4.11.1 continue语句跳出本次循环 135
4.11.2 break语句跳出循环 136
4.11.3 用于返回数据的return语句 137
4.11.4 goto语句 138
4.12 实战 139
4.12.1 输出3*3矩阵 139
4.12.2 输出一个字元的前驱字元 140
4.12.3 根据输入判断能否构成三角形 141
4.12.4 求学生的最高分和最低分 142
4.12.5 整数加减法练习 142
4.12.6 一元钱兑换方案 144
4.13 疑难解惑 145
4.13.1 C语言提供的跳转语句各有什幺特点 145
4.13.2 循环嵌套时应该注意什幺 145
4.13.3 如何提高循环语句的执行效率 145
4.14 小结 146
4.15 学习成果检验 146
第5章 综合实验(一)--模拟ATM机
界面程式 147
视频讲解:3分钟
5.1 概述 148
5.2 需求分析 148
5.3 设计思路 148
5.4 详细设计 148
5.5 程式代码 153
第2篇 进 阶 提 高
第6章 数组 159
视频讲解:29分钟
6.1 本章知识体系 160
6.2 一维数组 160
6.2.1 如何定义和引用一维数组 160
6.2.2 一维数组初始化 161
6.2.3 一维数组套用 163
6.3 二维数组 164
6.3.1 如何定义和引用二维数组 164
6.3.2 二维数组初始化 164
6.3.3 二维数组套用 166
6.4 多维数组 167
6.5 字元数组 168
6.5.1 如何定义和使用字元数组 168
6.5.2 字元数组初始化 168
6.5.3 字元数组的结束标誌 171
6.5.4 字元数组的输入和输出 172
6.5.5 字元数组套用 174
6.6 实战 175
6.6.1 相邻元素之和 175
6.6.2 选票系统 176
6.6.3 统计学生成绩 178
6.6.4 模拟比赛打分 179
6.6.5 矩阵的转置 180
6.6.6 设计魔方阵 181
6.6.7 统计各种字元个数 183
6.6.8 删除字元串中的连续字元 184
6.7 疑难解惑 185
6.7.1 数组下标必须从0开始吗 185
6.7.2 数组名作函式参数与数组元素作函式参数有什幺不同之处 185
6.7.3 '\0'和"\0"有什幺区别 186
6.8 小结 186
6.9 学习成果检验 186
第7章 函式 187
视频讲解:53分钟
7.1 本章知识体系 188
7.2 函式概述 188
7.3 函式的定义 190
7.3.1 无参函式 190
7.3.2 有参函式 191
7.3.3 空函式 191
7.4 返回语句 192
7.4.1 从函式返回 192
7.4.2 返回值 192
7.5 函式参数 193
7.5.1 形式参数与实际参数 193
7.5.2 数组作函式参数 195
7.5.3 main参数 199
7.6 函式的调用 201
7.6.1 函式调用方式 201
7.6.2 嵌套调用 202
7.6.3 递归调用 203
7.7 内部函式和外部函式 206
7.7.1 内部函式 206
7.7.2 外部函式 207
7.8 局部变数和全局变数 208
7.8.1 局部变数 208
7.8.2 全局变数 209
7.9 实战 212
7.9.1 百钱百鸡问题 212
7.9.2 求直角三角形斜边 213
7.9.3 小数分离 213
7.9.4 判断素数 214
7.9.5 递归解决分鱼问题 215
7.9.6 字母检索 216
7.9.7 求字元串中字元的个数 217
7.9.8 打渔晒网问题 218
7.10 疑难解惑 220
7.10.1 在调用时不使用函式的返回值会产生什幺现象 220
7.10.2 C语言中函式的调用方式有哪几种 220
7.10.3 函式定义时容易犯哪些错误 221
7.11 小结 221
7.12 学习成果检验 222
第8章 指针 223
视频讲解:17分钟
8.1 本章知识体系 224
8.2 指针相关概念 224
8.2.1 地址与指针 224
8.2.2 指针变数 225
8.2.3 指针的赋值 225
8.2.4 指针的引用 226
8.3 指针运算 227
8.4 一维数组与指针 230
8.5 指针访问二维数组 234
8.6 字元和指针 237
8.6.1 使用字元指针 237
8.6.2 字元指针数组 239
8.7 指向指针的指针 240
8.8 函式型指针 242
8.9 实战 244
8.9.1 用指针实现数据交换 244
8.9.2 使用指针实现整数排序 245
8.9.3 查找成绩不及格的学生 246
8.9.4 使用指针实现冒泡排序 247
8.9.5 使用指针插入元素 248
8.9.6 实现输入月份号输出该月份的英文名 249
8.9.7 将若干字元串按字母顺序输出 251
8.10 疑难解惑 252
8.10.1 指针类型和指针所指向的类型是一样的吗 252
8.10.2 指针运算与取地址运算符有何联繫 253
8.10.3 空指针有何意义 253
8.11 小结 254
8.12 学习成果检验 254
第9章 结构体和共用体 255
视频讲解:40分钟
9.1 本章知识体系 256
9.2 结构体 256
9.2.1 结构体类型的概念 256
9.2.2 结构体变数的定义 257
9.2.3 结构体类型的几点说明 259
9.2.4 结构体变数的引用 260
9.2.5 结构体变数的初始化 260
9.3 结构体数组 261
9.3.1 定义结构体数组 261
9.3.2 初始化结构体数组 262
9.4 结构体指针 264
9.4.1 指向结构体变数的指针 265
9.4.2 指向结构体数组的指针 265
9.4.3 结构体作函式参数 267
9.5 包含结构的结构 270
9.6 鍊表 271
9.6.1 什幺是鍊表 271
9.6.2 创建动态鍊表 272
9.6.3 鍊表相关操作 274
9.7 共用体 280
9.7.1 什幺是共用体 280
9.7.2 共用体变数的定义和引用 281
9.7.3 共用体类型的初始化 282
9.8 实战 283
9.8.1 找出最高分 283
9.8.2 候选人选票程式 284
9.8.3 求平面上两点距离 285
9.8.4 设计通讯录 286
9.8.5 输出火车票价格 288
9.8.6 链伫列 289
9.8.7 约瑟夫环 293
9.8.8 计算开机时间 295
9.9 疑难解惑 296
9.9.1 定义结构体对结构体成员的类型是否有限制 296
9.9.2 成员运算符(.)和指向结构体成员运算符(->)有何区别 297
9.9.3 结构体和联合体有什幺区别和联繫 297
9.10 小结 297
9.11 学习成果检验 298
第10章 综合实验(二)--猜数字游戏 299
视频讲解:24分钟
10.1 概述 300
10.2 需求分析 300
10.3 系统设计 300
10.3.1 设计目标 300
10.3.2 开发及运行环境 300
10.4 程式预览 301
10.5 设计思路 302
10.6 档案引用 302
10.7 主要功能实现 303
10.7.1 主函式 303
10.7.2 猜数字 304
10.7.3 游标定位 306
第3篇 高 级 应 用
第11章 档案 311
视频讲解:29分钟
11.1 本章知识体系 312
11.2 档案概述 312
11.3 档案基本操作 313
11.3.1 档案的打开 313
11.3.2 档案的关闭 314
11.4 档案的读写 315
11.4.1 fputc函式 315
11.4.2 fgetc函式 316
11.4.3 fread函式和fwrite函式 317
11.5 档案的定位 319
11.5.1 rewind函式 319
11.5.2 ftell函式 321
11.5.3 fseek函式 321
11.6 出错检测 323
11.6.1 ferror函式 323
11.6.2 clearerr函式 325
11.7 实战 326
11.7.1 读取磁碟档案 326
11.7.2 将数据写入磁碟档案 327
11.7.3 创建档案 328
11.7.4 删除档案 330
11.7.5 重命名档案 331
11.7.6 档案加密 333
11.7.7 格式化读写档案 335
11.8 疑难解惑 337
11.8.1 标準档案和一般档案有什幺区别 337
11.8.2 C语言的常用库档案包含哪些 338
11.8.3 为什幺档案打开以后要及时
关闭 339
11.9 小结 339
11.10 学习成果检验 339
第12章 预处理 341
视频讲解:29分钟
12.1 本章知识体系 342
12.2 不带参数的宏定义 342
12.3 带参数的宏定义 344
12.4 #include命令 345
12.5 条件编译 348
12.5.1 #if命令 348
12.5.2 #ifdef及#ifndef命令 350
12.5.3 #undef命令 351
12.5.4 #line命令 352
12.5.5 #pragma命令 352
12.6 实战 353
12.6.1 利用宏计算两个数的乘积 353
12.6.2 利用宏求3个数中的最小数 354
12.6.3 使用带参数的宏求圆面积 354
12.6.4 利用档案包含设计输出格式 355
12.6.5 使用条件编译隐藏密码 356
12.7 疑难解惑 356
12.7.1 C语言中包括哪些预处理功能 356
12.7.2 使用宏时需要注意些什幺 357
12.7.3 档案包含可以嵌套吗 357
12.8 小结 358
12.9 学习成果检验 358
第13章 存储管理 359
视频讲解:21分钟
13.1 本章知识体系 360
13.2 记忆体组织方式 360
13.2.1 记忆体组织方式 360
13.2.2 堆与栈 360
13.3 分配记忆体函式(malloc和calloc) 363
13.3.1 malloc函式 363
13.3.2 calloc函式 364
13.4 修改已分配记忆体(realloc函式) 365
13.5 释放记忆体--free函式 366
13.6 谁偷了我的记忆体 367
13.7 实战 367
13.7.1 为具有3个元素的数组分配记忆体 367
13.7.2 为二维数组动态分配记忆体并释放 368
13.7.3 商品信息的动态存放 369
13.8 疑难解惑 370
13.8.1 什幺是"记忆体泄露" 370
13.8.2 记忆体耗尽了怎幺办 370
13.8.3 常见的记忆体管理错误有哪些 370
13.9 小结 371
13.10 学习成果检验 371
第14章 综合实验(三)--商品信息管理系统 373
视频讲解:29分钟
14.1 概述 374
14.1.1 需求分析 374
14.1.2 功能结构图 374
14.2 预处理 374
14.2.1 档案引用 374
14.2.2 宏定义 375
14.3 声明结构体 375
14.4 函式声明 375
14.5 功能选择界面 376
14.5.1 功能概述 376
14.5.2 主函式 376
14.5.3 自定义选单功能函式 377
14.6 录入商品信息 378
14.7 查询商品信息 381
14.8 删除商品信息 383
14.9 修改商品信息 385
14.10 插入商品信息 387
14.11 统计商品数 389
14.12 小结 390
第4篇 范 例 演 练
第15章 排序 393
视频讲解:36分钟
15.1 选择排序 394
15.1.1 範例功能演示 394
15.1.2 开发思路指引 394
15.1.3 专家难点解析 395
15.1.4 设计过程详解 396
15.1.5 範例开发手记 397
15.1.6 进阶与提高 397
15.2 冒泡排序 398
15.2.1 範例功能演示 398
15.2.2 开发思路指引 398
15.2.3 专家难点解析 399
15.2.4 设计过程详解 400
15.2.5 範例开发手记 401
15.2.6 进阶与提高 401
15.3 插入排序 402
15.3.1 範例功能演示 402
15.3.2 开发思路指引 402
15.3.3 专家难点解析 403
15.3.4 设计过程详解 404
15.3.5 範例开发手记 405
15.3.6 进阶与提高 405
15.4 希尔排序 406
15.4.1 範例功能演示 406
15.4.2 开发思路指引 406
15.4.3 专家难点解析 407
15.4.4 设计过程详解 408
15.4.5 範例开发手记 409
15.4.6 进阶与提高 409
15.5 快速排序 410
15.5.1 範例功能演示 411
15.5.2 开发思路指引 411
15.5.3 专家难点解析 412
15.5.4 设计过程详解 413
15.5.5 範例开发手记 414
15.5.6 进阶与提高 415
第16章 查找 417
16.1 顺序查找 418
16.1.1 範例功能演示 418
16.1.2 开发思路指引 418
16.1.3 专家难点解析 418
16.1.4 设计过程详解 419
16.1.5 範例开发手记 420
16.1.6 进阶与提高 420
16.2 折半查找 421
16.2.1 範例功能演示 422
16.2.2 开发思路指引 422
16.2.3 专家难点解析 422
16.2.4 设计过程详解 423
16.2.5 範例开发手记 424
16.2.6 进阶与提高 424
16.3 分块查找 426
16.3.1 範例功能演示 426
16.3.2 开发思路指引 426
16.3.3 专家难点解析 426
16.3.4 设计过程详解 428
16.3.5 範例开发手记 429
16.3.6 进阶与提高 429
16.4 哈希查找 431
16.4.1 範例功能演示 431
16.4.2 开发思路指引 431
16.4.3 专家难点解析 431
16.4.4 设计过程详解 433
16.4.5 範例开发手记 435
16.4.6 进阶与提高 436
第17章 数据压缩 441
17.1 RLE算法实现数据压缩 442
17.1.1 範例功能演示 442
17.1.2 开发思路指引 442
17.1.3 专家难点解析 442
17.1.4 设计过程详解 443
17.1.5 範例开发手记 445
17.1.6 进阶与提高 445
17.2 LZW算法实现数据压缩 447
17.2.1 範例功能演示 447
17.2.2 开发思路指引 447
17.2.3 专家难点解析 447
17.2.4 设计过程详解 448
17.2.5 範例开发手记 451
17.2.6 进阶与提高 451
第18章 图形编程 455
视频讲解:45分钟
18.1 绘製折线图 456
18.1.1 範例功能演示 456
18.1.2 开发思路指引 456
18.1.3 专家难点解析 456
18.1.4 设计过程详解 458
18.1.5 範例开发手记 460
18.1.6 进阶与提高 460
18.2 绘製饼状图 462
18.2.1 範例功能演示 462
18.2.2 开发思路指引 462
18.2.3 专家难点解析 462
18.2.4 设计过程详解 464
18.2.5 範例开发手记 465
18.2.6 进阶与提高 466
18.3 绘製条形图 467
18.3.1 範例功能演示 467
18.3.2 开发思路指引 467
18.3.3 专家难点解析 468
18.3.4 设计过程详解 469
18.3.5 範例开发手记 471
18.3.6 进阶与提高 471
18.4 绘製玫瑰花 473
18.4.1 範例功能演示 473
18.4.2 开发思路指引 473
18.4.3 专家难点解析 473
18.4.4 设计过程详解 474
18.4.5 範例开发手记 479
18.4.6 进阶与提高 479
18.5 选单界面设计 481
18.5.1 範例功能演示 481
18.5.2 开发思路指引 481
18.5.3 专家难点解析 481
18.5.4 设计过程详解 482
18.5.5 範例开发手记 488
18.5.6 进阶与提高 489
第19章 档案的高级套用 491
视频讲解:55分钟
19.1 创建档案 492
19.1.1 範例功能演示 492
19.1.2 开发思路指引 492
19.1.3 专家难点解析 492
19.1.4 设计过程详解 493
19.1.5 範例开发手记 493
19.1.6 进阶与提高 494
19.2 档案的複製 494
19.2.1 範例功能演示 495
19.2.2 开发思路指引 495
19.2.3 专家难点解析 495
19.2.4 设计过程详解 495
19.2.5 範例开发手记 496
19.2.6 进阶与提高 497
19.3 删除档案 498
19.3.1 範例功能演示 498
19.3.2 开发思路指引 498
19.3.3 专家难点解析 498
19.3.4 设计过程详解 499
19.3.5 範例开发手记 500
19.3.6 进阶与提高 500
19.4 重命名档案 503
19.4.1 範例功能演示 503
19.4.2 开发思路指引 503
19.4.3 专家难点解析 503
19.4.4 设计过程详解 504
19.4.5 範例开发手记 504
19.4.6 进阶与提高 505
19.5 档案加密 506
19.5.1 範例功能演示 506
19.5.2 开发思路指引 506
19.5.3 专家难点解析 507
19.5.4 设计过程详解 507
19.5.5 範例开发手记 509
19.5.6 进阶与提高 509
第20章 综合实验(四)--五子棋游戏开发 511
视频讲解:28分钟
20.1 概述 512
20.2 需求分析 512
20.3 系统设计 512
20.3.1 设计目标 512
20.3.2 开发及运行环境 512
20.4 程式预览 512
20.5 graphics.h档案 513
20.6 设计思路 516
20.7 预处理 517
20.7.1 档案引用 517
20.7.2 宏定义 517
20.8 声明变数 517
20.9 函式声明 518
20.10 主要功能实现 518
20.10.1 主函式 518
20.10.2 开始游戏 520
20.10.3 绘製棋盘 520
20.10.4 绘製棋子 521
20.10.5 清除棋子 521
20.10.6 游戏过程 522
20.10.7 判断胜负结果 528
20.11 小结 530
第5篇 项 目 实 战
第21章 网路通信系统 533
视频讲解:37分钟
21.1 网路通信系统概述 534
21.1.1 开发背景 534
21.1.2 需求分析 534
21.1.3 功能结构图 534
21.2 技术攻关 535
21.2.1 TCP/IP协定 535
21.2.2 IP位址 536
21.2.3 数据包格式 537
21.2.4 建立连线 538
21.2.5 套接字型档函式 539
21.3 网路通信系统主程式 543
21.4 点对点通信 546
21.5 伺服器中转通信 554
21.6 程式调试与错误处理 561
21.7 小结 564
第22章 图书管理系统(MySQL) 567
视频讲解:32分钟
22.1 概述 568
22.1.1 需求分析 568
22.1.2 开发工具选择 568
22.2 系统设计 568
22.2.1 系统目标 568
22.2.2 系统功能结构 569
22.2.3 系统预览 569
22.2.4 开发及运行环境 570
22.3 资料库设计 570
22.3.1 安装MySQL资料库 570
22.3.2 启动MySQL资料库 574
22.3.3 创建资料库 574
22.3.4 数据表结构 575
22.4 C语言开发资料库程式的流程 576
22.5 C语言操作MySQL资料库 578
22.5.1 MySQL常用资料库操作函式 578
22.5.2 连线MySQL数据 579
22.5.3 查询图书表记录 580
22.5.4 插入图书表记录 583
22.5.5 修改图书表记录 584
22.5.6 删除图书表记录 585
22.6 档案引用 586
22.7 变数和函式定义 587
22.8 主要功能模组设计 587
22.8.1 显示主选单信息 587
22.8.2 显示所有图书信息 589
22.8.3 添加图书信息 592
22.8.4 修改图书信息 599
22.8.5 删除图书信息 606
22.8.6 查询图书信息 611
22.9 程式调试及错误处理 613
22.9.1 解决创建数据表为一个档案的问题 613
22.9.2 在创建数据表时,最后一句结尾没有标点 614
22.10 小结 61