第1章 编程十问 1
1.1 何谓编程 2
1.2 为何编程 2
1.3 怎样编程 3
1.4 计算机的世界有何不同 4
1.5 程序是怎样工作的 5
1.6 为什么选择C语言 6
1.7 C语言从何而来 7
1.8 C语言去向何方 8
1.9 数学与编程的关系 10
1.10 编程难吗 11
【技能训练题】 12
第2章 编程环境与风格 13
2.1 搭建C语言开发环境 13
2.2 工程与程序 24
2.3 C语言程序的一般结构 38
2.4 标识符的命名与规则 39
2.5 程序的书写风格 41
【技能训练题】 43
【应试训练题】 43
第3章 机器思维 45
3.1 机器解题的过程 45
3.2 用图形描述的解题过程(流程图) 48
3.3 用语言描述的解题过程(伪代码) 51
【技能训练题】 54
第4章 顺序结构的程序 55
4.1 程序的组成 55
4.1.1 常量 55
4.1.2 变量声明与使用 59
4.1.3 C语言的运算符号 61
4.1.4 表达式与语句 66
4.2 程序与外界的交流 69
4.2.1 输入到程序 70
4.2.2 输出处理 78
4.3 程序的排错与调试 86
4.3.1 软件Bug与调试 86
4.3.2 常用调试工具 88
4.3.3 Visual Studio调试源程序的方法 89
4.4 典型的顺序问题 98
4.4.1 单位及货币的转换 98
4.4.2 面积的计算 101
4.4.3 整数分解问题 103
【技能训练题】 104
【应试训练题】 105
第5章 会思考的程序 111
5.1 “智能”的实质 111
5.2 选择结构的实现 112
5.2.1 条件表达式 112
5.2.2 if语句 114
5.2.3 switch语句 123
5.2.4 if和switch的选择 131
5.3 典型的分支问题 132
5.3.1 为什么密码都要输入两次 132
5.3.2 成绩转换问题(百分制转优、良、中、差) 133
5.3.3 排序问题 136
【技能训练题】 138
【应试训练题】 139
第6章 循环往复,周而复始 145
6.1 C语言的三种循环结构 145
6.1.1 先判断,后循环(while) 146
6.1.2 先循环,后判断(do-while) 148
6.1.3 for语句 151
6.2 无限循环与中途退出 153
6.2.1 无限循环 153
6.2.2 break和continue 155
6.2.3 被遗忘的goto 159
6.3 典型的循环问题 160
6.3.1 循环输入 160
6.3.2 多项式的求解 163
6.3.3 循环的嵌套 164
【技能训练题】 166
【应试训练题】 167
第7章 模块化与协作开发 174
7.1 任务分解与协作 174
7.1.1 任务分解的意义 174
7.1.2 团队合作 175
7.2 函数的定义与使用 176
7.2.1 自定义函数 176
7.2.2 函数的声明与调用 183
7.2.3 全局变量与局部变量 185
7.2.4 变量的生存周期 188
7.3 库函数与API 190
7.3.1 库函数 191
7.3.2 系统API 192
7.3.3 第三方API 193
7.4 递归 194
【技能训练题】 198
【应试训练题】 199
第8章 批量数据的处理 209
8.1 一维数组与线性结构 209
8.1.1 一维数组的定义与初始化 211
8.1.2 一维数组的应用 214
8.2 二维数组 223
8.2.1 二维数组的定义 223
8.2.2 二维数组的初始化 224
8.2.3 二维数组的应用 226
8.3 字符串 231
8.3.1 字符数组与字符串的关系 231
8.3.2 字符串的输入与输出 234
8.3.3 常见字符串处理函数 235
8.3.4 字符串的应用 238
【技能训练题】 244
【应试训练题】 245
第9章 指针与内存 253
9.1 指针是什么 253
9.1.1 Windows的内存管理 253
9.1.2 指针的定义 255
9.1.3 指针的使用 257
9.1.4 指针的右左法则 259
9.2 指针的常用方法 261
9.2.1 指针在数组中的运用 261
9.2.2 指针在函数中的运用 270
【技能训练题】 279
【应试训练题】 280
第10章 Windows文件系统及操作 288
10.1 Windows文件系统 288
10.1.1 Windows文件系统简介 288
10.1.2 文件、文件夹和路径 289
10.1.3 C语言中对路径的描述 290
10.1.4 字符文件与二进制文件 291
10.1.5 文件操作的一般流程 291
10.2 文本文件的基本操作 293
10.2.1 文本文件读写函数 293
10.2.2 文本文件读写示例 296
10.3 二进制文件的基本操作 301
10.3.1 二进制文件读写函数 301
10.3.2 二进制文件读写示例 304
【技能训练题】 309
【应试训练题】 310
第11章 自定义数据类型 313
11.1 结构体 313
11.1.1 结构体数据类型简介 313
11.1.2 结构体定义与引用 314
11.1.3 结构体应用示例 317
11.2 共用体 319
11.2.1 共用体类型简介 319
11.2.2 共用体定义与引用 320
11.2.3 共用体应用示例 321
【技能训练题】 323
【应试训练题】 324
参考文献 328
附录A ASCII码表 329
附录B VC常见错误提示 331
附录C 常用库函数索引表 334