C语言开发实战宝典的目录

如题所述

第1个回答  2016-06-04

基础知识篇
第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 求100~200之间的素数 58
2.11 疑难解惑 60
2.11.1 声明变量和定义变量 60
2.11.2 限定词const 60
2.11.3 字符串常量为什么用“\0”作为结束符 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 '\0'和\0有什么区别 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
范例演练篇
第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
项目实战篇
第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