第1章 概述 1
1.1 C语言的发展历史 1
1.1.1 C语言之父 1
1.1.2 C语言的演进 2
1.2 C语言的主要特点 4
1.3 常用工具软件 5
1.3.1 Microsoft Visual Studio/Microsoft Visual C++ 6.0 6
1.3.2 Source Insight 7
1.3.3 Notepad++ 8
1.3.4 Araxis Merge/Beyond Compare 9
1.3.5 Evernote(印象笔记) 11
1.3.6 FTP工具(如FileZilla等) 11
1.3.7 UltraEdit 12
1.4 小结 13
第2章 学校到职场 14
2.1 认清自身不足 14
2.2 破除错误观念 17
2.3 工作所需软技能的培养 20
2.4 小结 23
第3章 程序的样式 24
3.1 头文件 24
3.2 源文件 26
3.3 空格和空行 28
3.3.1 空格 28
3.3.2 空行 29
3.4 大括号 29
3.4.1 初始化数组变量 30
3.4.2 定义和初始化结构体变量 30
3.4.3 用在if、 else、 else if、 for、 while、 do等语句中 30
3.4.4 用在switch语句中 31
3.4.5 用在函数中 34
3.5 注释 36
3.6 小结 37
第4章 变量和函数 38
4.1 数据类型 38
4.1.1 整型 39
4.1.2 字符型 40
4.2 变量及函数 41
4.3 静态变量及其应用 45
4.4 小结 49
第5章 内存操作 51
5.1 memset和memcpy 51
5.1.1 memset 51
5.1.2 memcpy 53
5.2 strcat和strncat 55
5.3 strcpy和strncpy 60
5.4 strcmp和strncmp 65
5.5 小结 69
第6章 文件 70
6.1 常用文件操作函数 70
6.1.1 fopen 70
6.1.2 fclose 72
6.1.3 fgetc 72
6.1.4 fgets 74
6.1.5 fflush 76
6.1.6 fputc 77
6.1.7 fputs 79
6.1.8 fread 81
6.1.9 fwrite 83
6.1.10 ftell 85
6.1.11 feof 87
6.2 配置文件 87
6.2.1 软件概况 87
6.2.2 程序流程 92
6.2.3 软件测试 96
6.3 makefile文件 97
6.3.1 语法规则 97
6.3.2 示例程序 98
6.3.3 makefile文件内容 102
6.3.4 运行结果 103
6.3.5 说明 104
6.4 小结 104
第7章 指针和结构体 105
7.1 简介 105
7.2 示例流程 106
7.3 示例程序 107
7.4 程序详解和测试 112
7.4.1 程序详解 112
7.4.2 程序测试 114
7.5 小结 116
第8章 算法和协议 117
8.1 算法及其应用 117
8.1.1 概述 117
8.1.2 图形化表示 118
8.1.3 实际应用 118
8.1.4 算法设计原则 121
8.2 协议及其应用 122
8.2.1 概述 122
8.2.2 示例协议 122
8.2.3 示例程序 123
8.2.4 程序测试 127
8.3 小结 129
第9章 程序重构 130
9.1 重构原因 130
9.2 重构原则 131
9.3 重构流程 131
9.4 重构示例 133
9.5 小结 144
第10章 SQL语句和Shell命令 145
10.1 SQL语句 145
10.1.1 交互方式 146
10.1.2 交互流程 147
10.1.3 程序框架 148
10.1.4 注意事项 150
10.2 Shell命令 150
10.2.1 示例流程 150
10.2.2 目录结构 151
10.2.3 示例程序 152
10.2.4 makefile文件 154
10.2.5 运行结果 154
10.2.6 注意事项 155
10.3 小结 156
第11章 程序问题排查 157
11.1 日志 158
11.1.1 调试方法 158
11.1.2 日志概况 159
11.1.3 日志函数 161
11.1.4 日志说明 161
11.2 配置项问题 163
11.2.1 问题描述 163
11.2.2 排查过程 163
11.2.3 排查总结 165
11.3 时序问题 166
11.3.1 问题描述 166
11.3.2 程序流程 167
11.3.3 初步分析 168
11.3.4 问题定位 168
11.3.5 排查总结 169
11.4 变量初始化问题 170
11.4.1 问题1 170
11.4.2 问题2 173
11.4.3 排查总结 175
11.5 数据表索引问题 176
11.5.1 问题描述 176
11.5.2 程序流程 177
11.5.3 初步分析 178
11.5.4 问题定位 178
11.5.5 排查总结 181
11.6 小结 181
附录A 同行评审 183
附录B 我在南邮的3年 189
参考资料 203