第一篇入 门篇 3
第1章 高级语言简介 3
1.1 计算的机器 3
1.2 如何与机器交流 4
1.3 C语言简介 5
1.3.1 C语言的历史 5
1.3.2 C语言的特点 6
本章小结 7
习题 7
第二篇 初级篇 11
第2章 基本编程 11
2.1 C语言实例演示 13
2.2 熟悉C语言开发环境 18
2.2.1 C语言程序编制简单流程 18
2.2.2 开发环境的建立 18
2.2.3 自动生成Hello World!C语言代码 19
2.2.4 编译和连接程序 24
2.2.5 运行程序显示hello world! 25
2.2.6 改变程序的显示内容 25
2.2.7 让非自动生成的C语言代码可以直接运行 26
2.3 读懂一个C语言程序 26
2.4 编一个程序输出一段文字 28
2.4.1 输出一行字符 28
2.4.2 输出多行字符 28
2.4.3 ASCⅡ码 29
2.4.4 语句的概念 29
2.4.5 如何调用外部函数 30
2.4.6 printf()函数的使用 30
2.5 编一个程序完成密码算法中的回归 32
2.5.1 C语言代码 32
2.5.2 变量声明及初始化 33
2.5.3 如何在C语言中做判断 34
2.5.4 判断的嵌套 35
2.5.5 如何输出数据 35
2.5.6 关键字 36
2.5.7 用户自定义标识符定义规则 37
2.5.8 基本数据类型 37
2.5.9 判断(分支)结构 41
2.6 编一个程序进行求模运算 43
2.6.1 C语言代码 43
2.6.2 让C语言执行运算 43
2.6.3 表达式的概念 46
2.6.4 表达式的运算规则 46
2.7 编一个程序进行字符串的加密 48
2.7.1 C语言代码 48
2.7.2 循环的概念 48
2.7.3 循环的嵌套 48
2.7.4 数组类型 49
2.7.5 循环结构 49
2.8 编一个程序对键盘输入的字符串进行加密 51
2.8.1 C语言代码 51
2.8.2 输入数据的方法 51
2.8.3 与用户交互 52
2.8.4 scanf()函数的使用 53
2.9 调试 56
2.9.1 模拟计算机执行 56
2.9.2 常见的简单错误 57
2.10 由想法映射到代码 58
本章小结 62
习题 63
第三篇 中级篇 67
第3章 算法设计 67
3.1 编写一个判断任意给定数是否为素数的程序 68
3.1.1 思路和步骤 68
3.1.2 C语言代码 69
3.2 算法的概念 71
3.2.1 什么是算法 71
3.2.2 算法的描述 72
3.3 算法的结构 75
3.3.1 算法的基本执行结构 75
3.3.2 逐步求精 77
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.4.7 数据类型的扩展机制 85
3.4.8 利用数据组织获得好的算法 86
3.5 典型算法整理 86
3.5.1 求累加和 86
3.5.2 求累乘积 86
3.5.3 求阶乘 87
3.5.4 查找 87
3.5.5 排序 88
3.5.6 进制转换 91
3.5.7 求最大公约数及最小公倍数 92
3.5.8 数值求解 94
本章小结 95
习题 95
第4章 算法实现 97
4.1 常用的数据组织形式 98
4.1.1 数据类型扩展 98
4.1.2 数组及其使用 98
4.1.3 结构体及其使用 106
4.1.4 指针及其使用 110
4.1.5 链表及其使用 113
4.1.6 枚举类型 118
4.1.7 复合数据类型小结 119
4.2 由算法到代码 125
4.2.1 顺序结构 125
4.2.2 选择结构 126
4.2.3 循环结构 129
4.3 调试方法 133
4.3.1 结构化调试 133
4.3.2 自底向上调试 133
4.3.3 自顶向下调试 133
4.3.4 VC环境下的调试机制 133
4.3.5 程序调试的常用技巧和调试中问题的解决 134
本章小结 134
习题 134
第5章 文件的使用——数据持久存储 136
5.1 文件的分类 137
5.2 文件的处理 137
5.2.1 文件的打开 137
5.2.2 文件的关闭 139
5.2.3 文件的读取 140
5.2.4 文件的写入 141
5.2.5 文件结束的判断 144
5.2.6 文件的其他操作 145
5.3 使用配置文件 146
5.4 文件访问的常用函数 148
本章小节 149
习题 149
第四篇 提高篇 153
第6章 代码质量 153
6.1 模块化 154
6.1.1 变量的作用范围 154
6.1.2 服务的概念与函数的使用 156
6.1.3 多个文件模块 158
6.1.4 局部变量、全局变量和静态变量 159
6.1.5 C语言函数的使用 164
6.2 编程风格 176
6.2.1 代码格式 176
6.2.2 注释的使用 178
6.2.3 宏的使用 179
6.2.4 其他 180
6.2.5 宏的具体用法 182
6.3 提高代码可靠性 186
6.3.1 常量的定义和使用 186
6.3.2 异常情况的判断和处理 187
6.3.3 代码测试方法 188
6.3.4 常量的使用 189
6.4 友好的界面 190
6.4.1 友好界面的要素 190
6.4.2 菜单的使用 190
6.4.3 命令行界面的使用 191
6.5 性能提高 192
6.5.1 性能的分析 192
6.5.2 循环次数的估计 193
6.5.3 性能的提高方法 194
6.5.4 break、continue、return和exit的灵活使用 194
6.5.5 内存资源的动态申请和释放 196
6.5.6 内存资源管理函数的使用 198
本章小结 200
习题 201
第五篇 综合篇 205
第7章 应用领域编程 205
7.1 应用接口的调用 206
7.2 网络开发包的调用实例 216
7.3 图形应用代码编写 221
本章小结 228
习题 228
第8章 深入C语言的应用 229
8.1 C语言的标准化过程 230
8.2 面向对象思想到C++ 231
8.3 图形用户界面 235
8.4 嵌入式环境的C语言 243
8.5 混合编程 245
本章小结 246
习题 246
第9章 应用程序的开发 247
9.1 代码与应用程序的区别 247
9.2 软件过程 248
9.3 一个应用程序的开发实例 249
本章小结 256
习题 256
附录 257
附录A ASCⅡ码表 257
附录B C语言关键字 258
附录C C语言常用语法表 259
附录D C语言常用函数表 265
附录E 编程参考书推荐 269
附录F C语言常见调试错误 270
参考文献 271